声明:我不是信号处理专家。如何下采样傅立叶复数值?
我正在写一个函数,它需要一维数组并对其执行快速傅立叶变换。以下是它的工作方式:
- 如果阵列的大小不是2的幂,则在末尾填充0以使其大小变为2的幂。
- 在填充阵列上执行FFT并将结果存储在数组
x
中。 - 降采样复杂阵列
x
以匹配原始非填充阵列的长度。 - 返回
x
。
我遇到了问题第3步。如果我省略步骤3并对函数调用的结果执行反向FFT,则会得到初始填充数组,这意味着该功能可以成功执行步骤1和步骤2.
我尝试通过使用线性插值的向下采样来实现步骤3,但当我使用MatLab对最终结果执行逆傅立叶变换时,我得到的结果与原始数组不相同。我需要使用的编程语言不是 MatLab,我只使用MatLab来验证结果的正确性。
我可以用什么技术来执行第3步,同时还能够在反FFT之后找回原始非填充数组?