用FFT对信号作频谱分析
0 引言
傅里叶变换X(?)??x(t)e?j?tdt是对时域信号x(t) 进行频谱分析的重要方法之一,当
???x(t)是频率为ω0的单频正弦波信号时X(ω)呈单线状谱,即在ω=ω0处X(ω)为一条竖直线。在具体的应用中,实际使用的对有限长度为N的信号离散序列x(n)做FFT,进而得到其离散傅里叶变换X(k)。
N?1n?0nkNX(k)??x(n)e?j2π (k,n =0,1,?,N-1)
2π。其中,Δt为x (t)NΔt显然,连续信号中的ω、t分别为ω=kΔω、t = nΔt,且有Δ??2πΔf?的采样间隔、Δω或Δf为频率分辨率。
当x(t)的频率ω0刚好等于Δω的整倍数k0时,X(ω)或X(k)仍然呈单线状。然而绝大多数情况下ω0并不刚好等于Δω的整倍数,此时的X(ω)、X(k)如图1所示,
|X(k)| |X(k+1)|
|X(k-1)| k -1 k k+1
(a)
|X(k)| |X(k-1)|
|X(k+1)|
k
图1 离散谱分布示意图
k-1 k k+1
(b)
k
显然,ω0处于最高的离散谱线k与次高的离散谱线k±1(k+1或k-1)之间。为能通过FFT准确地确定时域信号x(t)的频率、振幅和初相,人们研究了多种谱线校正方法[1-2]。本文所介绍的是一种基于离散傅里叶变换基本特性的谱线校正方法。 1 有限长信号的傅里叶变换
实际上有限长信号的傅里叶变换可以看成是对无限长的信号加上一个宽度为T、幅度为1的矩形窗w(t)的加窗傅里叶变换。由于矩形窗函数w(t)的时域及频域W(ω)表示分别为
?T??T?sin1t???????T?2?2?w(t)?? W(?)?T?Tsin?c? ?T?2π??0t?T?22?所以,当无限长的信号x(t)为可以余弦函数表示的频率为ω0的正弦波时
1x(t)?Umcos(?0t)?Um(ej?0t?e?j?0t)
2根据傅里叶变换的频移特性,w(t)x(t)的傅里叶变换X(ω)应为
X(?)?Um?W(???0)?W(???0)? 2X(ω) 如图2所示[3]。
UmT2-ω0-2π/T -ω0 -ω0+2π/T O 图2 w(t)x(t)的傅里叶变换
ω0-2π/T ω0 ω0+2π/T ω
2 有限长离散信号的傅里叶变换
对于离散傅里叶变换,当样点数为N、采样间隔为Δt为时T=ΔtN,此时2π/T = 2π/(ΔtN) =Δω。当ω0=Δω(km+Δk)时,w(t)x(t)在ω>0区间的幅度谱|X(ω)|就会出现如图1所类似的谱线分布,如图3所示。其中,km表示离散谱中幅度最高的谱线序号,虚线为其包络,且有|Δk|<0.5。当次高谱线序号为km+1大于最高谱线序号时,Δk > 0;当次高谱线序号为km-1小于最高谱线序号时Δk < 0,在本例中Δk > 0,竖虚线处为ω0。
|X(ω)| |X(k)| ω0-Δω ω0+Δω ω O km ω0 km+1 k
由图3可知,当正弦波信号的频率ω0=kmΔω时,除了谱线序号为km的谱线外,其余谱线均处于包络的零值点,此时由离散傅里叶变换得到的信号频谱图为单线状。 参考文献
[1] 朱小勇, 丁康.离散频谱校正方法的综合比较[J].信号处理,2001,(17)1:91-97
[2] 王兆华,黄翔东.数字信号全相位谱分析与滤波技术[M].北京:电子工业出版社,2009:50-69 [3] 徐守时.信号与系统[M].北京:清华大学出版社,2008:260-261
Jain, Vijay K. Collins, William L. Davis, David C.High-Accuracy Analog Measurements via Interpolated FFT[J].IEEE Trans on Instrum. Meas.,1979,28(2),113-122.
图3 w(t)x(t)的幅度谱
用FFT对信号作
x(t)?ej(?0t??0) x(nΔt)?ej(?0nΔt??0)
1X(K)?NN?1n?0?x(nΔt)e?j2πknN1?Ne?j2?N?1n?0?e?e?j0j0nΔte?j2?knNn1j?0N?1j2?N?e?eNn?0?0ΔtN2?knN
?1j?0N?1j2?N???e?eNn?0n??0ΔtN??k??2??2π?ΔtN?0??Δ? k0?0 2πΔ?ΔtN1j?0N?1j2πN?k0?k?X(K)?e?eNn?01j?01?ej2π?k0?k??e?k?k?j2π0NN1?e1j?0e?jπ?k0?k??ejπ?k0?k?ejπ?k0?k? ?e?k0?k??k0?k???k?k??jπjπjπ0NNe?eNeN?0?1sin?π?k0?k??j???e??k?kN??sin?π0N????N?1?k0?k?π??N?n当|k0-k|<1、N足够大时,sin?π???k0?k???π?k0?k?N??N?sinc?k0?k?e
?0?sin?π?k0?k??j??X(K)?eπ?k0?k??N?1?k0?k?π??N?N?1?j??0??k0?k?π??N??
??1?e????1?e??Aj2πNAj2πNe??n?0N?1j2πnAN??A?j2π?1?eNj2πnAN1?ej2πAN?ej2π2AN???e1?ej2πj2πAN(N?2)AN?ej2π(N?1)ANAj2π??N?1?e? ????e??n?0N?1??A?j2π?1?eN1?ej2πAN?ej2π2AN???e1?ej2πj2πAN(N?2)AN?ej2π(N?1)ANAj2π???1?eN? ????A2A(N?2)A(N?1)AAj2πj2πj2πj2πj2π????NNNNN?1?e??1?e??e???e?e?????????1?e?ej2πj2πANAN?ej2πj2π2AN2AN???ej2π3ANj2π(N?2)ANj2π?ej2π(N?1)ANj2π(N?0)AN
?e?e???e(N?1)AN?e?1?ej2πA?en?0N?1j2πnAN?1?ej2πA1?ej2πAN
Uk?Umsin(πΔk)sin(πx)?UmπΔkπxx?Δk Uk?1?Um sinπ(1?Δk)sinπ(1?x)?Umπ(1-Δk)π(1?x)x?Δk UkUk?1sin(πx)sin(πx)π(1-x)(1-x)sin(πx)πx ???sin?π(1-x)?????πxsinπ(1-x)xsinπ(1-x)Umπ(1-x)Umsin(π-xπ)?sin(π)cos(xπ)-cos(π)sin(xπ)?sin(xπ) sin(π-xπ)?sin(xπ)
Uk(1-x)??? Uk?1x(1-x)??x x?
1 ??1Δk?k??k????
kUk?(k?1)Uk?1?kUk?Uk?1kUk?kUk?1?Uk?1?kUk?kUk?1
Um?Um?1Uk?11?Uk?Uk?11??x(t)?ej(?0t??0) x(nΔt)?ej(?0nΔt??0)?ej?0ej?0nΔt
?0nΔt?2πN??0nΔt?0ΔtN2πn??
2πN2πNj?0j?0ΔtN2πn2π?Nx(n)?ee1X(K)?N
?j2πknN?x(n)en?0N?11?Ne?en?0N?1j?0ej?0ΔtNn2π?N2π?jekn2πN1j?0N?1j2πN?e?eNn?0n?0ΔtNkn?j2π2πN
1j?0N?1j2πN???e?eNn?0n??0ΔtN??k?2π?1j?0N?1j2πN??X(K)?e?eNn?0?1j?01?eeN1j?0eNn??0ΔtN??k?2π???ΔtN?j2π?0?k??2π???0ΔtN??k??2π?j2π?N?1?e
e?jπ?k0?k??ejπ?k0?k?ejπ?k0?k??k0?k??k0?k???k0?k?e?jπN?ejπNejπN?0?1sin?π?k0?k??j???eN??k?k??sin?π0N????N?1?k0?k?π??N?2π?ΔtN?0??Δ? k0?0 2πΔ?ΔtN1j?01?ej2π?k0?k?X(K)?e?k?k?j2π0NN1?e1j?0e?jπ?k0?k??ejπ?k0?k?ejπ?k0?k??e?k0?k??k0?k???k?k? ?jπjπjπ0NNe?eNeN?0?1sin?π?k0?k??j???eN??k?k??sin?π0N????N?1?k0?k?π??N?第一章 概述
1.1频谱分析及应用
所谓“频谱分析”就是对信号进行“傅里叶变换”,把本来随时间变化的信号表示方式变换为随频率变化的“频谱函数”方式。原则上说,所有的信号都是由不同频率的正弦波组成的。频谱分析仪是研