如何理解离散傅里叶变换

为了方便讨论,以下用的都是逻辑频率和周期,先给出逻辑频率和周期的定义:

频率f:整个序列(数组)中有几个这个正弦波的周期
周期T:这个正弦波一个周期中的采样点数
fT=N

逻辑频率和物理频率的转换,可以直接把逻辑频率缩放到物理频率:
=fNHz

离散傅里叶变换(DFT)的公式:

X(f)=t=0N1x(t)eifN2πt,t,f=0,1,...,N1=t=0N1x(t)cos(fN2πt)+ix(t)sin(fN2πt)

其中x(t)为时域信号数组,X(f)为频域数组,把f=0~N-1代入X(f),就能得到各个频率的正弦波(结果是个复数,幅值为复数的模,初相为 arctan()
各正弦波的频率 f=0,1,2,3,...,N1
周期 T=Nf=,N,N2,N3,...,NN1

例如下图蓝色曲线频率为3,幅值为2;红色曲线频率为16,幅值为1。把它们相加就得到了绿色曲线。对绿色曲线采样,做DFT后得到频域为图的下半部分(x轴为频率,y轴为幅值)

DFT

(因为整个时域序列相加了, +N 才是原来的正弦波幅值,所以IDFT公式前面要乘1/N)

由DFT的公式可知,X(1)~X(N/2-1)和X(N-1)~X(N/2+1)是共轭复数。N/2+1~N-1又叫负频率,因为DFT得到的频域函数也是周期函数,X(N/2+1)~X(N-1)和X(-N/2+1)~X(-1)的值相等。用具体例子理解负频率:有个车轮顺时针旋转,如果旋转频率增大到人眼采样频率的N/2+1~N-1,即负频率,看起来车轮就是逆时针旋转了

根据采样定理(香农定理、奈奎斯特定理),只有频率小于采样频率/2的信号能无损还原,N/2叫做奈奎斯特频率。我们能用到的实际上只有直流量和正频率(f=0~N/2-1)

频率超过N/2会怎么样

f=31,随着频率增加,正负频率越来越靠近N/2

f=31

f=32,每个周期刚好采样到2个点(再增大就只有1个点了),正负频率合为了奈奎斯特频率

f=32

这个时候信号已经失真了,比如相位超前90°,采样到的就全是0

f=32

f=33,采样到的点看起来和f=31一样,算得频率就是31

f=33

f=63,频率继续增加,采样到的点频率反而减小了,这里和f=1一样

f=63

f=64,看起来就是直流信号

f=64

f=65,又和f=1一样了

f=65

DFT做了什么

我们只看实数部分,虚数部分同理,只是用sin表示正弦波,相位差了90°。DFT其实就是把时域信号加权相加,权值等于相应频率,幅值为1的cos序列

为什么这样就能把不同频率的正弦波分开

这是利用了三角函数的正交性,即频率为0, 1, 2, … 的任意两个正弦波乘积在整个周期(采样序列)积分(求和)为0

例如 x(t)=(f=3+f=16) ,x(t)与f=3的正弦波相乘后就变成了 (f=3f=3+f=16f=3) ,再求和后,第二项变为0消掉了,只有频率相同的第一项留了下来

如果不正交呢

下图为频率为3.5的情况

频谱泄露

可以看出整个频域范围幅值都不为0,就像幅值从频率3.5泄露出去了,这种现象叫做频谱泄露。DFT其实把原信号当成了无限长序列信号,如下图,原信号改变了,所以频域也变了

截断

其实就是把正弦波截断后,周期不完整了,出现了非整数的频率,破坏了三角函数的正交性。实际应用中难免截断完整周期,为了减少频谱泄露的影响,有两种方法,一种是把原信号加窗后再DFT;另一种是增加用来变换的序列长度,这样可以把频率分得更细,让三角函数更接近正交

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章