离散傅里叶变换(DFT)有趣经验

这篇文章是受到一篇知乎文章启发下写出来的,但是原版文章有一些细节的错误,自己将自己的经验总结记录下来!

1. 实信号的DFT变换是共轭对称的

X [ N − k ] = ∑ n = 0 N − 1 x [ n ] e − j ( 2 π / N ) ( N − k ) n = ∑ n = 0 N − 1 x [ n ] e j ( − 2 n π + ( 2 π / N ) k n ) = ∑ n = 0 N − 1 x [ n ] e j ( ( 2 π / N ) k n ) = X ∗ [ k ]  。 \begin{aligned}&X[N-k]=\sum_{n=0}^{N-1}x[n]e^{-j(2\pi/N)(N-k)n}=\sum_{n=0}^{N-1}x[n]e^{j(-2n\pi+(2\pi/N)kn)}=\\&\sum_{n=0}^{N-1}x[n]e^{j((2\pi/N)kn)}=X^*[k]\text{ 。}\end{aligned} X[Nk]=n=0N1x[n]ej(2π/N)(Nk)n=n=0N1x[n]ej(2+(2π/N)kn)=n=0N1x[n]ej((2π/N)kn)=X[k] 

当然前提是 x [ n ] x[n] x[n] 必须是实信号。

2. DFT变换后每个点代表的频率性质

不失一般性的,我们假设n为偶数

N × x [ n ] = ∑ k = 0 N − 1 X [ k ] e j ( 2 π / N ) k n = X [ 0 ] + X [ 1 ] e j ( 2 n π / N ) + X [ 2 ] e j ( 2 ( 2 n π / N ) ) + … + X [ N / 2 − 1 ] e j ( 2 n π N ( N / 2 − 1 ) ) + ( − 1 ) n X [ N / 2 ] + X [ N / 2 + 1 ] e j ( 2 n π N ( N / 2 + 1 ) ) + … + X [ N − 2 ] e j ( 2 n π N ( N − 2 ) ) + X [ N − 1 ] e j ( 2 n π N ( N − 1 ) ) \begin{aligned}N\times x[n]=&\sum_{k=0}^{N-1}X[k]e^{j(2\pi/N)kn}=X[0]+X[1]e^{j(2n\pi/N)}+X[2]e^{j(2(2n\pi/N))}+\ldots\\&+X[N/2-1]e^{j(\frac{2n\pi}N(N/2-1))}+(-1)^nX[N/2]+X[N/2+1]e^{j(\frac{2n\pi}N(N/2+1))}+\ldots\\&+X[N-2]e^{j(\frac{2n\pi}N(N-2))}+X[N-1]e^{j(\frac{2n\pi}N(N-1))}\end{aligned} N×x[n]=k=0N1X[k]ej(2π/N)kn=X[0]+X[1]ej(2/N)+X[2]ej(2(2/N))++X[N/21]ej(N2(N/21))+(1)nX[N/2]+X[N/2+1]ej(N2(N/2+1))++X[N2]ej(N2(N2))+X[N1]ej(N2(N1))

我们假设 X [ k c ] = a k + j b k X[k_c]=a_k+jb_k X[kc]=ak+jbk,那么根据共轭的性质,我们有 X [ N − k c ] = a k − j b k X[N-k_c]=a_k-jb_k X[Nkc]=akjbk。显然 X [ k c ] X[k_c] X[kc] X [ N − k c ] X[N-k_c] X[Nkc] 两个分割分量之和变为

= ( a k + j b k ) e j ( 2 π / N ) k c n + ( a k − j b k ) e j ( 2 π / N ) ( N − k c ) n = 2 a k c o s ( 2 k c n π N ) − 2 b k s i n ( 2 k c n π N ) = 2 a k 2 + b k 2 c o s ( 2 k c n π N + ϕ k ) , = A k c o s ( 2 k c n π N + ϕ k ) , \begin{aligned} &=(a_k+jb_k)e^{j(2\pi/N)k_cn}+(a_k-jb_k)e^{j(2\pi/N)(N-k_c)n} \\ &=2a_kcos(\frac{2k_cn\pi}N)-2b_ksin(\frac{2k_cn\pi}N) \\ &=2\sqrt{a_k^2+b_k^2}cos(\frac{2k_cn\pi}N+\phi_k), \\ &=A_kcos(\frac{2k_cn\pi}N+\phi_k), \end{aligned} =(ak+jbk)ej(2π/N)kcn+(akjbk)ej(2π/N)(Nkc)n=2akcos(N2kc)2bksin(N2kc)=2ak2+bk2 cos(N2kc+ϕk),=Akcos(N2kc+ϕk),

所以 x ( n ) x(n) x(n) 可以表示成 [ 1 , 2 , . . . , N / 2 − 1 ] [1, 2, ..., N/2-1] [1,2,...,N/21] 这些三角函数表示的频率分量与 a 0 a_0 a0,即 X [ 0 ] + ( − 1 ) n X [ N 2 ] X[0]+(-1)^nX[\frac{N}{2}] X[0]+(1)nX[2N] 的和:

原文章中最大的问题其实就在这里,他错误地理解了 a 0 a_0 a0 的含义。

N × x [ n ] = a 0 + A 1 c o s ( n 2 π / N + ϕ 1 ) + A 2 c o s ( ( 2 n ) 2 π / N + ϕ 2 ) + A 3 c o s ( ( 3 n ) 2 π / N + ϕ 3 ) + … + A N 2 − 1 c o s ( ( ( N 2 − 1 ) n ) 2 π / N + ϕ N 2 − 1 ) \begin{aligned} N\times x[n]=&a_0+A_1cos(n2\pi/N+\phi_1)+A_2cos((2n)2\pi/N+\phi_2)+A_3cos((3n)2\pi/N+\phi_3)+\ldots\\ &+A_{\frac N2-1}cos(((\frac N2-1)n)2\pi/N+\phi_{\frac N2-1}) \end{aligned} N×x[n]=a0+A1cos(n2π/N+ϕ1)+A2cos((2n)2π/N+ϕ2)+A3cos((3n)2π/N+ϕ3)++A2N1cos(((2N1)n)2π/N+ϕ2N1)

我们不妨假设采样频率是 f s f_s fs,则 x [ n ] = x ( n T s ) = x ( n / f s ) x[n]=x(nT_s)=x(n/f_s) x[n]=x(nTs)=x(n/fs)。将 x ( t ) x(t) x(t) 带入即可以得到

N × x ( t ) = X [ 0 ] + A 1 c o s ( f s 2 π t / N + ϕ 1 ) + A 2 c o s ( ( 2 f s ) 2 π t / N + ϕ 2 ) + A 3 c o s ( ( 3 f s ) 2 π t / N + ϕ 3 ) + … + A N 2 − 1 c o s ( ( ( N 2 − 1 ) f s ) 2 π t / N + ϕ N 2 − 1 ) + A N 2 c o s ( ( N 2 f s ) 2 π t / N + ϕ N 2 ) \begin{aligned}N\times x(t)=&X[0]+A_1cos(f_s2\pi t/N+\phi_1)+A_2cos((2f_s)2\pi t/N+\phi_2)+A_3cos((3f_s)2\pi t/N+\phi_3)+\ldots\\ &+A_{\frac N2-1}cos(((\frac N2-1)f_s)2\pi t/N+\phi_{\frac N2-1})+A_{\frac N2}cos((\frac N2f_s)2\pi t/N+\phi_{\frac N2}) \end{aligned} N×x(t)=X[0]+A1cos(fs2πt/N+ϕ1)+A2cos((2fs)2πt/N+ϕ2)+A3cos((3fs)2πt/N+ϕ3)++A2N1cos(((2N1)fs)2πt/N+ϕ2N1)+A2Ncos((2Nfs)2πt/N+ϕ2N)

很明显可以看出, X [ k c ] X[k_c] X[kc] 代表的频率分量是 f = k c f s / N f=k_cf_s/N f=kcfs/N

注意上述的 x ( t ) x(t) x(t) 只有在特定的时刻采取等号,其他时刻只能取到近似的等号。

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

No_one-_-2022

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

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

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

打赏作者

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

抵扣说明:

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

余额充值