signal-processing - 是否可以使用现有的 1D FFT 算法推导出 2D 逆 FFT 算法?

标签 signal-processing fft

我是一个完整的信号处理新手,我提前为问一个毫 headless 绪的问题道歉。

是否可以重用现有的 1D FFT 算法来计算 2D 逆 FFT 算法?

最佳答案

.实际上,2D FFT 是先按列再按行(反之亦然)的 1-D FFT。这正是我所做的in the past

线性代数

从线性代数意义上;将一维 DFT 视为 unitary linear transform F.
方阵 X 的二维 FFT 很简单

F*X*F'

从 FFT 进行 IFFT

如果您没有 1D IFFT,则从 FFT 生成一个:IFFT(x) == conj( FFT( conj( x ) ) .这来自其 unitarity :

注意:对于由 1D FFT 组成的 2D IFFT,有 4 级共轭。中间两个相互撤销,可以跳过。

缩放因子

对于 fft 是 unitary ,它应该保留 norms . Many librariestools忽略这一点,并在正向变换上产生一个 sqrt(N) 比例因子,它们在逆向变换中撤消。

关于signal-processing - 是否可以使用现有的 1D FFT 算法推导出 2D 逆 FFT 算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17349424/

相关文章:

matlab - 使用 Matlab FFT 从 EEG 信号中提取频率

python - 用于谐波分析的快速傅里叶变换

c++ - 二维图像上的 FFTW 错误反向变换 [with Qt]

C++ FMOD Studio 无法为 freq 的 FMOD DSP PARAMETER FFT 赋值。分析

matlab - Matlab 中的卷积实践

android - 在C中提取WAV文件的音高

c - 不知道分配 float ,整数是否正确加倍

c# - MathNet.Filter 不过滤数据

java - 如何将字节数组中的pcm样本转换为-1.0到1.0范围内的 float 并返回?

iphone - 为什么我们只使用 aurioTouch 项目中的第一个缓冲区