DFT计算过程,DFT理论计算步骤

DFT:

WN=e^(-j*2*pi/N)

DFT复杂度o(N^2)

降低与N^2的依赖 使N = LM  (L^2+m^2 <= N^2)

N点DFT分解为M段L点DFT

一维的N点序列变为(L,M)二维序列,每一行分别进行DFT

举例两种一维到二维的映射关系

n = Ml+m

13579246810

n = l+mL

12345678910

与之所求的DFT 也可存入相对应的(q,p)矩阵中

以第一种(n = Ml+m)为例:k = Mp+q

找书麻烦这里给出推到:

重一维到二维

两种流程:

按列存入信号

计算每行M点DFT

乘以相位因子

计算每一列的L点DFT

按行读取所得数组

图示:

来看下基2_FFT算法:

上图的N/2点的dft可以分解为N/4的而N/4的DFT可以分解为N/8的……直到最后分解为2点的DFT

这儿的2点DFT其实是输出A+B,A-B两个值

 

为什么可以这样分解呢?其实他就是1个数学式子的’分解‘过程,来看下

N点的DFT是这玩意儿

将序列 奇偶分开

拆开成2km与1两项

X(2m) 可看为f(m)

而这个可看作一个新的N/2点DFT ————可见N点的DFT已经分解为N/2点DFT

由采样定理,在频域上(N/2以为新的周期)F(k+N/2)=F(k),且, 。

所以得出下式:

复数乘法运算量 。而原始DFtT的量为N^2,当N够大时几乎减小了一半

注意 的确定,他是 分解出来的

这是举例看下8点DFT的奇偶分解

一级dft(抽第二级奇偶)二级dft(抽第三极的奇偶)第三极dft(最终)000421242663114535356777   

可用二进制倒序实现 即011100变为001110,感觉镜像啦下

对比下

可看作一个4点DFT,只需求k=0,1的DFT,即可根据关系得出k=2,3

第二级 等于W(4,0),W(1,4)

转载于:https://www.cnblogs.com/sleepy/archive/2011/07/07/2100525.html

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注