聲明:我不是信號處理專家。如何下采樣傅立葉複數值?
我正在寫一個函數,它需要一維數組並對其執行快速傅立葉變換。以下是它的工作方式:
- 如果陣列的大小不是2的冪,則在末尾填充0以使其大小變爲2的冪。
- 在填充陣列上執行FFT並將結果存儲在數組
x
中。 - 降採樣複雜陣列
x
以匹配原始非填充陣列的長度。 - 返回
x
。
我遇到了問題第3步。如果我省略步驟3並對函數調用的結果執行反向FFT,則會得到初始填充數組,這意味着該功能可以成功執行步驟1和步驟2.
我嘗試通過使用線性插值的向下採樣來實現步驟3,但當我使用MatLab對最終結果執行逆傅立葉變換時,我得到的結果與原始數組不相同。我需要使用的編程語言不是 MatLab,我只使用MatLab來驗證結果的正確性。
我可以用什麼技術來執行第3步,同時還能夠在反FFT之後找回原始非填充數組?