为什么 fftw3 傅里叶逆变换会产生双精度类型的输出向量?



我想对信号进行傅里叶逆变换。我用这个

fftw_plan_dft_c2r_1d

但是,输出向量要求为双精度。问题是信号的IFFT不是给出复数结果吗?

离散傅里叶变换(DFT(的定义允许时域输入是复值信号,并产生频域结果,该结果通常也是复值的。相应地,复值频域结果的逆变换将产生相同的(或至少在可用实现的数值精度范围内(原始时域信号。因此,逆变换的结果可能很复杂。

同样,如果我们将前向变换的时域输入限制为实值信号,那么我们同样期望相应频域频谱的逆变换能够返回相同的原始实值信号。

请注意,这些实值信号

的前向变换会产生一个频域结果,该结果表现出埃尔米特对称性(相反,如果频域信号具有埃尔米特对称性,则它必须是实值信号的变换(。 然后fftw_plan_dft_c2r_1d计算逆变换(它是实值并存储在double中(,假设频域频谱确实具有埃尔米特对称性。

最新更新