傅里叶变换 - DFT,FFT


【全文大纲】 : https://blog.youkuaiyun.com/Engineer_LU/article/details/135149485


概要

说明:
1. DFT - 离散傅里叶变换
2. FFT - 离散傅里叶快速变换

1 . 解析

1.1 DFT

X k = ∑ n = 0 N − 1 x n ⋅ e − j 2 π N k n X_k = \sum_{n=0}^{N-1}x_n ⋅ e^{-j \frac{2π}Nkn} Xk=n=0N1xnejN2πkn

实部

R e a l ( X k ) = ∑ n = 0 N − 1 x ( n ) ⋅ c o s ( 2 π N k n ) Real(X_k) = \sum_{n=0}^{N-1}x(n) ⋅ cos(\frac{2π}Nkn) Real(Xk)=n=0N1x(n)cos(N2πkn)

虚部

I m a g ( X k ) = − ∑ n = 0 N − 1 x ( n ) ⋅ s i n ( 2 π N k n ) Imag(X_k) =- \sum_{n=0}^{N-1}x(n) ⋅ sin(\frac{2π}Nkn) Imag(Xk)=n=0N1x(n)sin(N2πkn)

计算

∣ X 0 X 1 X 2 X 3 ∣ = ∣ 0 0 0 0 0 1 2 3 0 2 4 6 0 3 6 9 ∣ ∣ + 0.5 − 0.3 − 0.5 + 0.3 ∣ \left|\begin{matrix} X_0\\ X_1\\ X_2\\ X_3\\ \end{matrix} \right| = \left|\begin{matrix} 0 & 0 & 0 & 0\\ 0 & 1 & 2 & 3\\ 0 & 2 & 4 & 6\\ 0 & 3 & 6 & 9\\ \end{matrix} \right| \left|\begin{matrix} +0.5\\ -0.3\\ -0.5\\ +0.3\\ \end{matrix} \right| X0X1X2X3 = 0000012302460369 +0.50.30.5+0.3

复数递增频率 F s N \frac{F_s}N NFs ,例如 F s F_s Fs16Hz (采样频率),一共4个点来运算,则分辨率为 4 ,复数递增频率为 4Hz ,因此上图中可以测出四个频率

  • X 0 X_0 X0 : 0Hz
  • X 1 X_1 X1 : 4Hz
  • X 2 X_2 X2 : 8Hz
  • X 3 X_3 X3 : 12Hz

幅度用实部和虚部以及有效数量 N 2 \frac N 2 2N来算, [ R e a l ( X k ) ] 2 + [ I m a g ( X k ) ] 2 N 2 \frac {\sqrt{[Real(X_k)]²+[Imag(X_k)]²}}{\frac N 2} 2N[Real(Xk)]2+[Imag(Xk)]2

相位用反正切计算, a r c t a n ( I m a g ( X k ) R e a l ( X k ) ) arctan(\frac{Imag(X_k)}{Real(X_k) }) arctan(Real(Xk)Imag(Xk))

1.2 FFT

FFT比DFT执行快指数倍,基于DFT的周期性,对称性,通过旋转因子 e − j 2 π N k n e^{-j \frac{2π}Nkn} ejN2πkn 把DFT公式 X ( k ) = ∑ n = 0 N − 1 x ( n ) ⋅ e − j 2 π N k n X(k) = \sum_{n=0}^{N-1}x(n) ⋅ e^{-j \frac{2π}Nkn} X(k)=n=0N1x(n)ejN2πkn 解耦成奇偶项

X ( k ) = X e v e n ( k ) + W N k X o d d ( k ) , k = 0 , 1 , . . N / 2 − 1 X(k) = X_{even}(k) + W_N^kX_{odd}(k),k=0,1,..N/2-1 X(k)=Xeven(k)+WNkXodd(k),k=0,1,..N/21

X ( k + N / 2 ) = X e v e n ( k ) − W N k X o d d ( k ) , k = 0 , 1 , . . N / 2 − 1 X(k+N/2) = X_{even}(k) - W_N^kX_{odd}(k),k=0,1,..N/2-1 X(k+N/2)=Xeven(k)WNkXodd(k),k=0,1,..N/21


X e v e n 1 ( k ) = X e v e n 2 ( e v e n ) ( k ) + W N / 2 k X e v e n 2 ( o d d ) ( k ) , k = 0 , 1 , . . N / 4 − 1 X_{even^1}(k) = X_{even^2(even)}(k)+W_{N/2}^kX_{even^2(odd)}(k),k=0,1,..N/4-1 Xeven1(k)=Xeven2(even)(k)+WN/2kXeven2(odd)(k),k=0,1,..N/41

X e v e n 2 ( k ) = X e v e n 3 ( e v e n ) ( k ) + W N / 4 k X e v e n 3 ( o d d ) ( k ) , k = 0 , 1 , . . N / 8 − 1 X_{even^2}(k) = X_{even^3(even)}(k)+W_{N/4}^kX_{even^3(odd)}(k),k=0,1,..N/8-1 Xeven2(k)=Xeven3(even)(k)+WN/4kXeven3(odd)(k),k=0,1,..N/81


X o d d 1 ( k ) = X o d d 2 ( e v e n ) ( k ) − W N / 2 k X o d d 2 ( e v e n ) ( k ) , k = 0 , 1 , . . N / 4 − 1 X_{odd^1}(k) = X_{odd^2(even)}(k)-W_{N/2}^kX_{odd^2(even)}(k),k=0,1,..N/4-1 Xodd1(k)=Xodd2(even)(k)WN/2kXodd2(even)(k),k=0,1,..N/41

X o d d 2 ( k ) = X o d d 3 ( e v e n ) ( k ) − W N / 2 k X o d d 3 ( e v e n ) ( k ) , k = 0 , 1 , . . N / 8 − 1 X_{odd^2}(k) = X_{odd^3(even)}(k)-W_{N/2}^kX_{odd^3(even)}(k),k=0,1,..N/8-1 Xodd2(k)=Xodd3(even)(k)WN/2kXodd3(even)(k),k=0,1,..N/81


X e v e n = ∑ m = 0 N / 2 − 1 x ( 2 m ) ∗ W n k ∗ 2 m X_{even} = \sum_{m=0}^{N/2-1}x(2m)*W_n^{k*2m} Xeven=m=0N/21x(2m)Wnk2m

X o d d = ∑ m = 0 N / 2 − 1 x ( 2 m + 1 ) ∗ W n k ∗ ( 2 m + 1 ) X_{odd} = \sum_{m=0}^{N/2-1}x(2m+1)*W_n^{k*(2m+1)} Xodd=m=0N/21x(2m+1)Wnk(2m+1)

每个DFT复数都可以解耦成奇偶项复数,根据分治思想迭代,可以一直迭代下去,直到迭代到最原始的复数,当获取到最原始的基偶复数后只需要进行加减组合迭代回来就可以得到结果,这样把大部分的乘法运算转换为加减法运算,大幅度简化了DFT的运算,从而可以快速实现离散傅里叶变换。

2 . 技术名词解释

  • X(k) : 复数矩阵
  • k : 具体的某个复数
  • n : 复数内的分量递进,x(n)则是每一刻的采样点数据
  • x :输入矩阵,例如采样到的电压
  • e :自然底数
  • N :复数的数量
  • j :虚数
  • W n W_n Wn : e − j 2 π N e^{-j \frac{2π}N} ejN2π

3 . 小结

实际上就是遍历点,如果遍历的点和采样信号越同相,说明遍历的频率越准确,因为不同相会被积分抵消掉或者衰减掉,越同相无论在哪个象限都会正数,正正得正,负负得正,幅度也是一样,然后实部和虚部要有理解,其实这里的复数其中的虚部i只是强调了正交性,重点只是把相位解耦成横轴分量和纵轴分量,虚部越强,越体现信号当前在纵轴,仅此而已,以上就是离散傅里叶变换的大致过程。

技术交流QQ群 : 745662457
群内专注问题答疑,项目外包,技术研究

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

极客 - L U

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

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

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

打赏作者

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

抵扣说明:

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

余额充值