在傅立叶域中仅使用正频率,它将如何影响 ifft?

信息处理 fft 傅里叶变换 频谱 频域 IFFT
2022-02-07 06:24:23

我将进行某种转换并将数据转换到另一个域,然后再返回到第一个域。为此,我对数据进行傅立叶变换并分离正部分,我只使用正频率。

我知道,例如在小波的频域中,我们有正频率和负频率。只使用正频率会有什么影响?

2个回答

你可以那样做,但除非你正确地处理事情,否则你不会得到正确的答案。进行 N=32 点示例的程序是:

1) 生成 32 点时域数据,2) 对其进行正向变换,3) 将结果除以 32,4) 将正频率乘以 2(频率 f= 1 到 15),5) 零负频率(频率 f=17 到 31 ), 6) 对其进行逆变换, 7) 忽略虚输出。

上述过程的实际结果将与原始输入波形相匹配。

请注意,在上面,您不会将 FFT 的 f=0 或 f=N/2 输出乘以 2。对于这种情况(N=32 - 偶数),它们是唯一的 - 它们没有负频率对应物。现在,如果您使用允许奇数 N 的适当 FFT 例程,那么您必须考虑这样一个事实,即您将有一个 f=0 点,但没有 f=N/2 点。

除非您进行非常大的 FFT,否则仅使用正频率可能不会在处理时间上节省太多。

凯文的解决方案为我解决了这个问题,但时域中的解决方案在 y 中移动了一个值,该值取决于信号的最大 x 值和信号本身的形式。信号、FFT 和 IFFT

编辑:我自己找到了解决方案。它在 y 中移动了平均值(y),所以如果我减去我的 ifft 输出的平均值(y)/2,我会得到信号