Dear All :
小弟最近遇到一點小問題, 想請問一下 :
目前從 WAVE 檔案中讀取到DATA後,
因為資料量太龐大考慮到及時輸出的問題,
所以使用了邊讀取邊做處理然後及時輸出的做法,
每筆的資料流程上是
Read Data => FFT => 與特效矩陣做 .* => IFFT => Output Data
其中FFT、IFFT、相乘都是使用 MathScript Node
發現處理後的資料在播放時會帶有非常輕微的一聲 "啵" 的雜訊
想請問做FFT之後的資料有需要再濾波之類的處理嗎?
附上一個簡單的測試結果,是單純把一個SIN波訊號FFT再IFFT跟把訊號拆成兩部分之後再做FFT跟IFFT
其結果在紅線框起來的地方確實有出現一根雜訊不過振幅並不大,另外就是兩個部分的振幅也不一樣了,
請問為什麼會產生這種現象??
是因為我在拆解訊號的時候有資訊沒有設定嗎??
PS. 1.應該不是特效矩陣的問題,因為單純使用matlab做過測試並不會有那個 "啵" 的雜訊
2.LabVIEW內我找不到IFFT的VIs跟資訊, 請問有人知道在哪邊嗎??
已解決! 轉到解決方案。
Dear ALL :
經過不停的測試, 發現應該是因為我的訊號是不連續的
丟到FFT再計算然後IFFT之後都會有這種現象產生
請問非連續信號要做FFT跟IFFT的狀況下有什麼對策可以用嗎??
Hi 你好:
的確如你所說因為你擷取進來的波形都非整數波形,所以自然再做FFT時會有不連續的現象。
以至於你的IFFT無法還原到原始的訊號
通常為了避免這種不連續的狀況,我們會再FFT前加一個Windows
來把兩邊的振幅衰減,把不連續的影響降低。
可以參考以下網站:
http://zh.wikipedia.org/zh-tw/窗函数
Thanks,
Jay