【GAOPS042】FFT(1)


FFT是DFT的快速计算方法。

1.DFT是什么?

周期信号可以看做是若干sin或者cos信号叠加而成。
非周期信号可以看做是周期无穷大的周期信号。

在这里插入图片描述
在这里插入图片描述
需要注意n和k的定义域范围:(不足可以补0)
0 ≤ n ≤ N − 1 0 ≤ k ≤ N − 1 {\color{Red} 0\le n\le N-1} \\ {\color{Red} 0\le k\le N-1} 0nN10kN1

W N k n 可以看做对 x ( n ) 抽样, N 看做将整个单位圆均分成 N 份, n k 表示取其中的第 n k 角度 ( 份 ) 来采样,看其中的 n k 份单独拎出来看占了多少。 \begin{aligned} &W_N^{kn}可以看做对x(n)抽样,N看做将整个单位圆均分成N份,\\ &nk表示取其中的第nk角度(份)来采样,看其中的nk份单独拎出来看占了多少。 \end{aligned} WNkn可以看做对x(n)抽样,N看做将整个单位圆均分成N份,nk表示取其中的第nk角度()来采样,看其中的nk份单独拎出来看占了多少。

写成矩阵的形式:
[ W N 0 ∗ 0 W N 1 ∗ 0 ⋮ W N ( N − 2 ) ∗ 0 W N ( N − 1 ) ∗ 0 W N 0 ∗ 1 W N 1 ∗ 1 ⋮ W N ( N − 2 ) ∗ 1 W N ( N − 1 ) ∗ 1 ⋯ ⋯ ⋯ ⋯ W N 0 ∗ ( N − 2 ) W N 1 ∗ ( N − 2 ) ⋮ W N ( N − 2 ) ∗ ( N − 2 ) W N ( N − 1 ) ∗ ( N − 2 ) W N 0 ∗ ( N − 1 ) W N 1 ∗ ( N − 1 ) ⋮ W N ( N − 2 ) ∗ ( N − 1 ) W N ( N − 1 ) ∗ ( N − 1 ) ] [ x ( 0 ) x ( 1 ) ⋯ x ( N − 2 ) x ( N − 1 ) ] = [ X ( 0 ) X ( 1 ) ⋯ X ( N − 2 ) X ( N − 1 ) ] \begin{bmatrix} &W_N^{0*0} &W_N^{1*0} &\vdots &W_N^{(N-2)*0} &W_N^{(N-1)*0} \\ &W_N^{0*1} &W_N^{1*1} &\vdots &W_N^{(N-2)*1} &W_N^{(N-1)*1} \\ &\cdots &\cdots & &\cdots &\cdots \\ &W_N^{0*(N-2)} &W_N^{1*(N-2)} &\vdots &W_N^{(N-2)*(N-2)} &W_N^{(N-1)*(N-2)} \\ &W_N^{0*(N-1)} &W_N^{1*(N-1)} &\vdots &W_N^{(N-2)*(N-1)} &W_N^{(N-1)*(N-1)} \\ \end{bmatrix} \begin{bmatrix} &x(0) \\ &x(1) \\ &\cdots \\ &x(N-2) \\ &x(N-1) \\ \end{bmatrix} =\begin{bmatrix} &X(0) \\ &X(1) \\ &\cdots \\ &X(N-2) \\ &X(N-1) \\ \end{bmatrix} WN00WN01WN0(N2)WN0(N1)WN10WN11WN1(N2)WN1(N1)WN(N2)0WN(N2)1WN(N2)(N2)WN(N2)(N1)WN(N1)0WN(N1)1WN(N1)(N2)WN(N1)(N1) x(0)x(1)x(N2)x(N1) = X(0)X(1)X(N2)X(N1)
在这里插入图片描述

2.FFT是什么?

FFT是DFT的快速计算方法。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

f(t)经过FFT后变为f(w),时域函数变成频域函数,f(w)中的实数表示是cos,虚数表示sin,模表示频点幅值,相位可用于从模解出cos和sin,相位的意义就是该模乘以这个相位角的余弦值就得到了该频率下的余弦信号的振幅;

2. 旋转因子的性质

旋转因子 : W N k n = e − j 2 π n k / N W N 0 = W N N = 1 旋转因子 W N k n 的对称性 : W N k n + N / 2 = − W N k n 旋转因子 W N k n 的周期性 : W N k n + N = W N k n 旋转因子 W N k n 的可约性 : W N 2 k n = W N / 2 k n \begin{aligned} &旋转因子:W_N^{kn} = e^{-j2\pi nk/N}\\ &W_{N}^{0} =W_{N}^{N} = 1\\ &旋转因子W_N^{kn}的对称性:W_N^{kn+N/2} = -W_N^{kn}\\ &旋转因子W_N^{kn}的周期性:W_N^{kn+N} = W_N^{kn}\\ &旋转因子W_N^{kn}的可约性:W_N^{2kn} = W_{N/2}^{kn}\\ \end{aligned} 旋转因子:WNkn=ej2πnk/NWN0=WNN=1旋转因子WNkn的对称性:WNkn+N/2=WNkn旋转因子WNkn的周期性:WNkn+N=WNkn旋转因子WNkn的可约性:WN2kn=WN/2kn

5. 通用公式

偶序列 X 1 ( k ) = ∑ n = 0 ( N / 2 − 1 ) x ( 2 n ) W N / 2 k n 奇序列 X 2 ( k ) = ∑ n = 0 ( N / 2 − 1 ) x ( 2 n + 1 ) W N / 2 k n F F T 时域抽取 X ( k ) = X 1 ( k ) + W N k X 2 ( k ) ( 0 ≤ k ≤ N / 2 − 1 ) X ( k + N / 2 ) = X 1 ( k ) − W N k X 2 ( k ) ( 0 ≤ k ≤ N / 2 − 1 ) 注意 : 两点 F F T N = 2 x ( 0 ) 、 x ( 1 ) X 1 ( 0 ) = x ( 0 ) W 1 0 = x ( 0 ) X 2 ( 0 ) = x ( 1 ) W 1 0 = x ( 1 ) X ( 0 ) = X 1 ( 0 ) + W 2 0 X 2 ( 0 ) X ( 1 ) = X 1 ( 0 ) − W 2 0 X 2 ( 0 ) 两点的对应关系: X 1 ( k ) 与 X 1 ( k + N / 2 ) 进行蝶形运算, X 1 ( k + N / 2 ) 乘上的系数是 W N k \begin{aligned} &偶序列X_1(k) = \sum_{n=0}^{(N/2-1)} x(2n)W_{N/2}^{kn}\\ &奇序列X_2(k) = \sum_{n=0}^{(N/2-1)} x(2n+1)W_{N/2}^{kn}\\ & \\ &FFT时域抽取\\ &X(k) = X_1(k) + W_{N}^{k}X_2(k) \qquad \qquad (0\leq k \leq N/2-1)\\ &X(k+N/2) = X_1(k) - W_{N}^{k}X_2(k) \quad (0\leq k \leq N/2-1)\\ \\ \\ &注意 :\\ &两点FFT \qquad N=2\\ &x(0)、x(1)\\ &X_1(0)= x(0)W_{1}^{0}=x(0)\\ &X_2(0)= x(1)W_{1}^{0}=x(1)\\ &X(0)=X_1(0) + W_{2}^{0}X_2(0)\\ &X(1)=X_1(0) - W_{2}^{0}X_2(0)\\ &两点的对应关系:\\ &X_1(k)与X_1(k+N/2)进行蝶形运算,X_1(k+N/2)乘上的系数是W_N^k \end{aligned} 偶序列X1(k)=n=0(N/21)x(2n)WN/2kn奇序列X2(k)=n=0(N/21)x(2n+1)WN/2knFFT时域抽取X(k)=X1(k)+WNkX2(k)(0kN/21)X(k+N/2)=X1(k)WNkX2(k)(0kN/21)注意:两点FFTN=2x(0)x(1)X1(0)=x(0)W10=x(0)X2(0)=x(1)W10=x(1)X(0)=X1(0)+W20X2(0)X(1)=X1(0)W20X2(0)两点的对应关系:X1(k)X1(k+N/2)进行蝶形运算,X1(k+N/2)乘上的系数是WNk

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

ppt

6. 如何得到对应的数据对?

交换二进制的bit顺序,[7:0]---->[0:7]
将顺序码对应的二进制去倒位序,就使对应的数据相邻。
在这里插入图片描述

实现

x(n)将采样后的原始数据按照非自然顺序(反序)排,这样输出结果不用调整顺序。
W旋转因子按照自然顺序排.
q从0开始
在这里插入图片描述
在这里插入图片描述

参考

FFT快速傅里叶变换(蝶形算法)详解
fft教程.ppt
公式在线编辑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1615549892

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值