我有一个复杂到复杂的 FFT,但我需要一个真实到真实的 FFT 实现......
这是因为我的噪声消除算法适用于频域中的实数,而不是复数。
我有一个复杂到复杂的 FFT,但我需要一个真实到真实的 FFT 实现......
这是因为我的噪声消除算法适用于频域中的实数,而不是复数。
唯一适用实数到实数 FFT 的情况是您的时域信号是对称的 ( x(n) = x(N-n), n=1...N-1
)。这是 FFT 的实际输入导致实际输出的唯一情况。否则,实际输入仍会导致 FFT 的复数输出。
真实到真实的 FFT 非常罕见,通常不会专门实施。它们只是用实数到复数的 FFT 执行,丢弃了虚输出,因为它无论如何都是零。
您正在使用的期望真实频域数据的噪声消除算法是什么?它是否期望复杂样本的大小?我们需要更多地了解噪声消除算法在做什么。
FFTW3 库有一个真正的 FFT 2 实实现。fftw_plan fftw_plan_r2r_1d()
http://www.fftw.org/fftw3_doc/Real_002dto_002dReal-Transforms.html