回答
將信號混合Fs/2
將交換高頻率和低頻率 - 考慮將單位圓周圍的頻譜旋轉半圈。您可以通過將每個其他樣本乘以-1來實現此旋轉。
通過Fs/2
混合相當於通過exp(j*pi*n)
混合。如果x
是輸入和y
輸出,
y[n] = x[n] * exp(j*pi*n) = x[n] * [cos(pi*n) + j*sin(pi*n)]
這容易簡化因爲sin(pi*n)
是0,並且cos(pi*n)
是交替1,-1。
這麼簡單...令人難以置信 – 2010-09-08 10:31:04
這個技巧在DSP中出現了很多。例如,如果您要設計高通濾波器,通常設計一個具有所需截止比例的低通濾波器比較容易,然後圍繞單位圓旋轉它以使其達到高通。 – mtrw 2010-09-08 12:47:39
爲了得到的東西,具有相同類型的時間結構與原來,你需要
- 創建頻譜(有一些窗口大小)
- 挑選了一些上下頻率界限,使你會翻轉
- 翻轉頻譜圖的強度的範圍內
- 再合成與頻率一致的聲音信號
由於這是一個音頻信號,因此相位都會混亂起來並不重要。無論如何,你一般都聽不到它們。除了翻轉部分,ARSS做譜圖創建和聲音再合成。否則,您可以採取FFT,反轉組件的幅度,並進行逆FFT。但這基本上是荒謬的,因爲它會完全擾亂聲音的時間結構以及頻率結構。
謝謝ARSS使用頻率濾波器組,所以我所能做的只是反轉頻率分檔。我想知道是否有一些數學處理能夠「平滑地」反轉頻率(沒有將頻率劃分爲分箱)。 – 2010-08-20 17:46:33
您可以使用未明確歸檔的小波,但在您的情況下幾乎不重要。低頻聲音變化比高頻聲音慢得多,所以翻轉會改變光滑度。 – 2010-08-20 17:58:42
使用餘弦沒有多大意義。對於數字信號來說,在這裏運行一個真正的ringmod並不是必需的,在nyquist的情況下反正是正方形。
所以你只需乘以* -1乘以所有其他樣本,就完成了。
沒有延遲,沒有別名,沒有任何東西。
這就是接受的答案所說的。 – 2016-08-23 03:27:52
- 1. 如何反轉音頻樣本?
- 2. 如何將音頻轉換爲信號
- 3. WIN32音頻採樣率轉換
- 4. 音頻採樣率時機
- 5. Nexmo音頻採樣率
- 6. 如何在c#中採樣音頻?
- 7. 檢測音頻譜
- 8. 繪製音頻譜
- 9. SignalR中的音頻和視頻信號
- 10. 對音頻進行控制
- 11. 使用Python 2.6對音頻文件進行快速頻譜分析?
- 12. iPhone音頻錄製的採樣率
- 13. Android上的本地音頻重採樣
- 14. linux中的音頻流採樣率
- 15. 用於音頻重採樣的庫
- 16. 如何生成動態音頻信號
- 17. 音頻信號處理 - 從音頻檢索信息
- 18. 如何使用librosa獲取音樂信號的整個時間段的頻譜?
- 19. 音頻頻譜效果iOS/Android
- 20. LibGDX,從Android MP3音頻頻譜分析
- 21. 編程增加音頻採樣
- 22. 音頻採樣率意味着什麼
- 23. Java - 下采樣wav音頻文件
- 24. 使用OpenAL採樣音頻電平
- 25. 音頻單元樂器+採樣器
- 26. FFmpeg更改音頻採樣率
- 27. 如何在c中創建音頻譜#
- 28. 設置音頻採樣頻率來自arduino的analogRead
- 29. 轉換音頻文件的採樣率iPhone
- 30. 用於轉換音頻採樣率的DSPACK示例?
什麼是「頻譜反轉」?有趣的是,谷歌在這裏首先揭示了你的問題。 你想要每個頻率的相位和振幅的倒數?或者你只是想要一個IFFT?或者完全不同的東西? – zerm 2010-08-19 10:22:00
對不起我的不專業的詞彙:我想要低頻成爲高頻,反之亦然(直流偏移將成爲一半採樣頻率的正弦)。 – 2010-08-19 10:30:45
現在我很好奇聽到這聽起來像什麼...... – PeterAllenWebb 2010-08-19 16:38:07