一种改进的FFT离散频谱相位差加权校正算法
2015-02-22戴彦
戴 彦
(唐山学院 智能与信息工程学院,河北 唐山 063020)
一种改进的FFT离散频谱相位差加权校正算法
戴 彦
(唐山学院 智能与信息工程学院,河北 唐山 063020)
为解决用传统相位差法进行频谱校正精度不高的问题,提出了一种改进的FFT离散频谱相位差加权校正算法。该算法是通过将相位差中最大值校正误差与次大值校正误差按一定比例进行加权来获得频谱校正结果。对此的仿真结果表明,该算法与传统相位差法相比,在频谱最大值相同的情况下,频率校正误差的频率分辨率提高了近90%,提高了频率校正精度。
频谱校正;相位差法;加权校正算法
0 引言
快速傅里叶变化(FFT)算法是1965年由Cooely-Tukey在《计算数学》杂志上首次发表的[1]。自此,FFT和频谱分析很快发展成为无线电通信、信息图像处理、自动控制、机械设备故障诊断和振动分析等多种学科重要的理论基础[2]。由于计算机处理样本个数有限,FFT和频谱分析也只能在有限区间内进行,这样不可避免地会产生能量泄漏,造成谱峰值变小,精度降低[3]。目前国内外关于对幅值谱或功率谱进行校正的方法有四种:离散频谱三点卷积幅值校正法[4]、对幅值谱进行校正的比值法[5]、FFT谱连续细化分析的傅里叶变换法[6]、相位差法[7]。其中相位差法是利用两段序列在FFT最大谱线处的相位差来进行的一种离散频谱校正方法。本文针对相位差法频谱校正中频率受FFT频谱量化的影响而精度不高的问题,提出了将最大值误差与次大值误差进行加权校正的一种改进的离散频谱相位差校正算法。
1 加权校正算法分析
1.1 相位差校正法
设有一周期信x(t)=Acos (2πf0t+θ),其中f0,θ,A为信号的真实频率、相位和幅值,作傅立叶变换,结果为
(1)
式中f为FFT后的频率变量。加窗后的谐波信号x(t)wT(t)的傅立叶变换可根据卷积定理表示为
(2)
设f1为信号峰值处的频率,由此可得,加窗后在信号峰值处的相位为
θ1=θ-πTΔf,
(3)
其中Δf=f1-f0。
将连续信号x(t)向前平移u1T得x0(t),窗长u2T的对称窗函数在时间上平移u2T/2得到wT0(t)。对x0(t)wT0(t)作FFT(或DFT)分析,设f2为信号峰值处的频率,在信号峰值处的相位为
θ2=θ-πu2T(f2-f0)+2π(f1-Δf)u1T,
(4)
其中f0=f1-Δf。
相位差由式(3)减去式(4)得到式(5),
θ=πu2T(f2-f1)-2πf1u1T+(u2+2u1-1)πTΔf。
(5)
频率修正量为
(6)
式中u2+2u1-1≠0。
1.2 加权校正算法可行性分析
当时域平移相对量μ1分别为0.3,0.5,0.7,矩形窗长相对量μ2分别为0.3,0.5,0.7,1时,最大值校正误差如图1,图2所示。
图1 时域平移对校正误差的影响
图2 窗长相对量对校正误差的影响
由图1和图2可知,当u1=0.5,u2=1时,校正误差接近为0,此时校正精度最高。因此,式(6)中u1,u2,T均为固定值,而f1,f2在信号频率一定的情况下也为常量,这样Δθ就只与Δf相关了。
假设最大值在次大值的左方,对第一段采样信号进行FFT处理后,设所取次大值对应的频率为f1′,显然f1′=f1+fs/N,频率校正量Δf′=f1′-f0=f1′-f1+Δf。经过时域平移、加窗后再进行FFT处理,设所取最大值频率为f2′,则f2′=f2+fs/N,fs是采样频率。与使用频谱最大值校正时的相位差公式不同,使用次大值校正时:
Δφ′=φ1′-φ2′=
πμ2T(f2′-f1′)-2πμ1Tf1′+(2μ1+μ2-1)πTΔf′=
Δφ+(μ2-1)π。
(7)
由式(7)可以推出:
(8)
由次大值相位差得到的频谱校正量Δf′与由最大值相位差得到的频谱校正量Δf、频率分辨率fs/N及参数u1,u2相关,而频率分辨率fs/N,u1,u2为固定值,因此次大值相位差的频谱校正量Δf′只与Δf相关。其中,N为采样点个数。
在Matlab环境下生成信号x(t)=2cos (2πf0n),采样频率fs为102.4 kHz,采样点数N=1 024,频率分辨率为100 Hz,时域平移量为512点,选用矩形窗,f0为实际频率,在15~15.1 kHz范围内,每隔2.5 Hz,使用传统相位差法分别进行无噪和加高斯白噪声的仿真分析,信噪比是50 dB。校正结果如图3,图4所示。
图3 无噪声校正结果
图4 有噪声校正结果
分析图3,图4可知,使用次大值得到的频率校正误差与使用最大值得到的频率校正误差符号相反,最大值和次大值的校正误差在零点处相同,最大值校正误差绝对值比次大值校正误差绝对值要小。因此,对最大值及次大值的校正结果进行加权处理,可以得到更加精确的校正结果。
1.3 加权校正公式的确定
根据比值校正法的原理,将频谱次大值与频谱最大值的比值作为频率校正中间量,并参照图3,将无噪声情况下的次大值误差绝对值与最大值误差绝对值相比得到一个变量,这个变量的曲线如图5所示。
图5 加权值确定
在比值法中频谱最大值与频谱次大值的比值与频率校正量Δk相关,频率校正量Δk的取值范围为[-0.5,0.5],在一个频率分辨区间内,即在图4中(15 050,0)点之前,随频率的增大Δk从0增大到0.5,并呈线性;(15 050,0)点之后,随频率的增大Δk从-0.5增大到0,也呈线性。由于(15 050,0)点之后的Δk与其之前的Δk对称,只需取绝对值即可以将|Δk|作为一个变量。注意到图5中无噪声情况下的次大值误差绝对值与最大值误差绝对值比值曲线的规律类似于1/x函数,结合Δk自身的规律,现构造一个变量Δ=(1-|Δk|)/|Δk|,Δ的分布规律如图5所示。可见Δ曲线基本上与次大值校正误差绝对值和最大值校正误差绝对值的比值吻合,所以确定Δ为加权校正量,加权校正公式为[4]:
(9)
图5中(1-x)/x拟合曲线的横坐标表示实际频率的谱线号与频谱最大值所在处谱线号之差的绝对值。
2 仿真分析
将最大值校正误差与次大值校正误差进行加权,得到的校正结果如图6,图7所示。
图6 无噪声加权校正结果
图7 有噪声加权校正结果
有噪声情况下得到的加权校正数据为15次运算后的平均结果,图8是这些数据对应的方差。
图8 频率校正结果方差分布图
由图6,图7,图8,可得:
(1)无噪声情况下,加权校正后的频率校正误差几乎为零;有噪声情况下,加权校正误差比单纯使用最大值或次大值校正得到的误差小很多。
(2)mfs/N在左右5%的范围内(即频谱线附近)加权后有所改善,但效果仍不理想,主要表现是校正结果误差偏大且方差也较大。这是由于实际频谱最大值很接近谱线,使得频谱谱线最大值处能量很大,相应地造成频谱谱线次大值处的能量很小。由于噪声的干扰,使得主瓣之外的谱线能量(大部分情况都是第一旁瓣内靠近谱线最大值的那条谱线能量)高于主瓣内谱线次大值处的能量,因此易造成错判次大值的情况。由此可见该方法的使用范围有一定的局限性,即mfs/N在左右5%的范围内校正不适用。
3 结论
本文提出了基于FFT相位的频谱分析原理,从理论上说明了使用频谱次大值进行相位差校正的可行性,同时通过对仿真结果的分析,找到了一种使用频谱最大值、频谱次大值进行相位差加权联合校正的方法。在采样频率为102.4 kHz、采样点数为1 024点、信噪比为50 dB情况下,使用该方法得到的频率校正误差在频率分辨率的0.012%以内,而在频谱最大值相同的情况下使用传统相位差法得到的频率校正误差在频率分辨率的0.115%以内。因此,使用该加权校正算法,在只增加25%运算量的前提下,频率分辨率提高了近90%,大大提高了频率校正的精度。
[1] Cooley J W, Tukey J W. An algorithm for the ma-chine calculation of complex Fourier series[J]. Mathe-matics of Computation,1965,19(90):297-301.[2] 杨志坚,丁康.调制FFT及其在离散频谱校正技术中的应用[J].振动工程学报,2009,22(6):632-637.
[3] 丁康,钟顺聪.通用的离散频谱相位差校正方法[J].电子学报,2003,31(1):142-145.
[4] 丁康,谢明. Error analysis for amplitude correction method using convolution of three points in discrete spectrum[J].振动工程学报,1996,9(1):92-98.
[5] 丁康,张晓飞.频谱校正理论的发展[J].振动工程学报,2000,13(1):14-22.
[6] 丁康,朱文英,杨志坚,等.FFT+FT离散频谱校正法参数估计精度[J].机械工程学报,2010,46(7):68-73.
[7] 谭思炜,任志良,孙常存.全相位FFT相位差频谱校正法改进[J].系统工程与电子技术,2013,35(1):34-39.
[8] 侯庆文,陈先中.改进的FMCW信号加权补偿校正相位差法[J].仪器仪表学报,2010,31(4):721-726.
(责任编校:李秀荣)
An Improved FFT Weighted Correction Algorithm for the Discrete Spectrum Phase Difference
DAI Yan
(School of Intelligence and Information Engineering,Tangshan College, Tangshan 063000, China)
The author of this paper proposes an improved FFT weighted correction algorithm for the discrete spectrum phase difference to overcome the shortcoming of inaccuracy of the traditional spectrum correction for phase difference. By this algorithm, the spectral correction can be achieved through weighting the biggest calibration error and the second biggest calibration error by a certain percentage. The simulation results show that in the case of the maximum spectrum, the frequency resolution of the frequency calibration error is increased by 90 percent with the proposed algorithm.
spectrum correction; phase difference; weighted correction algorithm
TN911.7
A
1672-349X(2015)06-0031-03
10.16160/j.cnki.tsxyxb.2015.06.012