第二章 离散信号频谱的窗谱校正方法
9种谱校正方法

9种谱校正方法及matlab 程序代码采样间隔归一化成1T ∆=,采样长度为N .这样FFT 离散谱线为0,1)i X i N =-(,相应的频率分辨率2/(1/)N f N ωπ∆=∆=. 设FFT 离散谱线局部极高谱线为m (为了数学上简洁,假定从0开始,注意在MA TLAB 环境下数组实际操作的是从1开始),记频偏量δωδω=∆. 我们需要使用谱线m 和与之相邻一条次高谱线,记这连续两条谱线中左边一条序号为M (当次高谱线在m 左侧时1M m =-,反之M m =).下面列出若干算法的δ计算公式1. 加矩形窗的精确谱校正[1]i i i X U jV =+111()sin()()cos()M M M M opt M MV V M U U M K U U ωω+++-∆+-∆=- 1211cos()sin()cos()sin()opt M M opt M M K M Z V U M K M Z V U M ωωωωωω++-∆⎡⎤=+⎢⎥∆⎣⎦-∆+∆⎡⎤=+⎢⎥∆+∆⎣⎦ 2121cos()cos()()Z M Z M M m Z Z ωωωδ∆+∆-∆=+-- 2. 加矩形窗情形,采用解析单频模型的幅值比校正[1, 2]11||()||||M M M X M m X X δ++=+-+ 3. 加汉宁窗情形,采用解析单频模型的幅值比校正[1, 2]112||||()||||M M M M X X M m X X δ++-=+-+ 4. 加矩形窗情形,采用解析单频模型的复比值校正[3]11Re ()M M M X M m X X δ++⎛⎫=+- ⎪-⎝⎭5. 加汉宁窗情形,采用解析单频模型的复比值校正[3]112()M M M MX X M m X X δ+++=+-- 6. 加矩形窗情形,采用解析单频模型的复合复比值校正[3]11Re ()M m M M X M m X X δ++⎛⎫=+- ⎪-⎝⎭ 11m R m mX X X δ++=-,1111m m L m m m m X X X X X X δ---=-=-- 0.5)0.5)m L m R δδδδδ=-++((7. 加汉宁窗情形,采用解析单频模型的复合复比值校正[3]112Re ()M M m M M X X M m X X δ++⎛⎫+=+-⎪-⎝⎭ 112m m R m mX X X X δ+++=-,1111221m m m m L m m m m X X X X X X X X δ----++=-=-- 0.5)0.5)m L m R δδδδδ=-++((8. 加矩形窗,Quin 校正[4]11Re()Re(),Re()Re()m m L R m m X X X X αα-+== 11L R L R L Rααδδαα==---,, 00 R R L R δδδδδ>>⎧=⎨⎩当且其它9. 加汉宁窗,Quin 校正[4]11Re()Re(),Re()Re()m m L R m m X X X X αα-+== 212111L RL R L Rααδδαα++==---,,00 R R L R δδδδδ>>⎧=⎨⎩当且其它References1. Schoukens, J., R. Pintelon,H. Van Hamme. The interpolated fast Fourier transform: Acomparative study . IEEE Transactions on Instrumentation and Measurement. 1992, 41(2):226-232.2. 谢明,丁康. 频谱分析的校正方法.振动工程学报. 1994, 7(2): 172-179.3. 陈奎孚, 王建立,张森文. 频谱校正的复比值法.振动工程学报(已投). 2007.4. Quinn, B.G. Estimating frequency by interpolation using Fourier coefficients.IEEETransactions on Signal Processing. 1994, 42(5): 1264-1268.%========================这是调用调试==================DT=1;N=1024;PHI=pi/3;Ampl=1;CiR=11.9; %cycles in recordFreq=CiR/(DT*N); %frequencyTV=[0:N-1];DatVec=Ampl*cos(Freq*TV*2*pi+PHI);FV=fft(DatVec);figuresubplot(2,1,1);plot(TV,DatV ec);subplot(2,1,2);plot(abs(FV(1:round(N/2.56))));grid on[MV,MI]=max(abs(FV));%加矩形窗的解析校正--1FreqShift=SpecCorr(FV,MI,N,1);%加矩形窗的解析单频模型校正--2FreqShift=SpecCorr(FV,MI,N,2);%加汉宁窗的解析单频模型校正--3HanDat=DatVec.*hanning(N,'periodic')';FV=fft(HanDat);FreqShift=SpecCorr(FV,MI,N,3);%加矩形窗的解析单频模型校正+复比值法--4FV=fft(DatVec);FreqShift=SpecCorr(FV,MI,N,4);%加汉宁窗的解析单频模型校正+复比值法--5HanDat=DatVec.*hanning(N,'periodic')';FV=fft(HanDat);FreqShift=SpecCorr(FV,MI,N,5);%加矩形窗的解析单频模型校正+复比值法+左右平均--6FV=fft(DatVec);FreqShift=SpecCorr(FV,MI,N,6);%加汉宁窗的解析单频模型校正+复比值法+左右平均--7HanDat=DatVec.*hanning(N,'periodic')';FV=fft(HanDat);FreqShift=SpecCorr(FV,MI,N,7);%加矩形窗的解析单频模型校正+Quinn算法--8FV=fft(DatVec);FreqShift=SpecCorr(FV,MI,N,8);%加汉宁窗的解析单频模型校正+Quinn算法--9HanDat=DatVec.*hanning(N,'periodic')';FV=fft(HanDat);FreqShift=SpecCorr(FV,MI,N,9);===========这是子程序======================%spectrum correction assemble% the sampling interval is 1 s (or unitary)%Input: SpecVec--Discrte Fourier Spectrum from FFT% PeakIdx--the peak index, noting the matrix in MatLab start from 1% TL--the length (or the point number) of the FFT% method--correction method% output: PeakShift-- the corrected peak shifting from the peak in discrete% spectrumfunction PeakShift=SpecCorr(SpecVec,PeakIdx,TL,method)% picking up the second highest spectrum lineif(abs(SpecVec(PeakIdx-1))>abs(SpecVec(PeakIdx+1)))IP=[PeakIdx-1,PeakIdx];ShiftCorr=-1; %shift aligning with the PeakIdxelseIP=[PeakIdx,PeakIdx+1];ShiftCorr=0; %shift aligning with the PeakIdxendII=IP(1)-1; % noting that the index of a matrix in MATLAB starts from 1, not zero if(method==1) %an analyitic solution for rectangular windowU=real(SpecVec(IP));V=imag(SpecVec(IP));DW=2*pi/TL;KOPT=(sin(II*DW)*(V(2)-V(1))+cos(II*DW)*(U(2)-U(1)))/(U(2)-U(1));Z=V.*(KOPT-cos((IP-1)*DW))./(sin(DW*(IP-1)))+U;Tmp1=(Z(2)*cos(DW*(II+1))-Z(1)*cos(DW*II))/(Z(2)-Z(1));PeakPos=acos(Tmp1)/DW;PeakShift=PeakPos-(PeakIdx-1);elseif(method==2) %based on the analytical-single-tone model for rectangular window PeakShift=abs(SpecVec(IP(2)))/(abs(SpecVec(IP(2)))+abs(SpecVec(IP(1))));PeakShift=PeakShift+ShiftCorr; %shift aligning with the PeakIdxelseif(method==3) %based on the analytical-single-tone model for Hanning windowPeakShift=(2*abs(SpecVec(IP(2)))-abs(SpecV ec(IP(1))))/(abs(SpecV ec(IP(2)))+abs(SpecVec(IP(1 ))));PeakShift=PeakShift+ShiftCorr; %shift aligning with the PeakIdxelseif(method==4) %based on the analytical-single-tone model for rectangular window with complex correctionPeakShift=real(SpecVec(IP(2))/(SpecVec(IP(2))-SpecVec(IP(1))));PeakShift=PeakShift+ShiftCorr; %shift aligning with the PeakIdxelseif(method==5) %based on the analytical-single-tone model for Hanning window with complex correctionPeakShift=(2*SpecVec(IP(2))+SpecVec(IP(1)))/(SpecVec(IP(2))-SpecVec(IP(1)));PeakShift=real(PeakShift)+ShiftCorr; %shift aligning with the PeakIdx elseif(method==6) %based on the analytical-single-tone model for rectangular window with complex correction+averagePeakShift=real(SpecVec(IP(2))/(SpecVec(IP(2))-SpecVec(IP(1))));MaxPeakShift=PeakShift+ShiftCorr; %shift aligning with the PeakIdxLeftShift=real(SpecVec(PeakIdx)/(SpecVec(PeakIdx)-SpecVec(PeakIdx-1)))-1;RightShift=real(SpecVec(PeakIdx+1)/(SpecVec(PeakIdx+1)-SpecVec(PeakIdx)));%averagePeakShift=(0.5-MaxPeakShift)*LeftShift+(0.5+MaxPeakShift)*RightShift;elseif(method==7) %based on the analytical-single-tone model for Hanning window with complex correction+average,????PeakShift=(2*SpecVec(IP(2))+SpecVec(IP(1)))/(SpecVec(IP(2))-SpecVec(IP(1)));MaxPeakShift=real(PeakShift)+ShiftCorr; %shift aligning with the PeakIdxLeftShift=(2*SpecVec(PeakIdx)+SpecV ec(PeakIdx-1))/(SpecVec(PeakIdx)-SpecVec(PeakIdx-1))-1;RightShift=(2*SpecVec(PeakIdx+1)+SpecV ec(PeakIdx))/(SpecVec(PeakIdx+1)-SpecVec(PeakIdx ));%averagePeakShift=(0.5-MaxPeakShift)*LeftShift+(0.5+MaxPeakShift)*RightShift;elseif(method==8) %Quinn method for the rectangular windowa1 = real(SpecV ec(PeakIdx-1)/SpecVec(PeakIdx)); %lefta2 = real(SpecV ec(PeakIdx+1)/SpecVec(PeakIdx)); %rightLeftShift = a1/(1-a1);RightShift = -a2/(1-a2);if (LeftShift>0 & RightShift>0)PeakShift = RightShift;elsePeakShift = LeftShift;endelseif(method==9) %Quinn method for the Hanning windowa1 = real(SpecV ec(PeakIdx-1)/SpecVec(PeakIdx)); %lefta2 = real(SpecV ec(PeakIdx+1)/SpecVec(PeakIdx)); %rightLeftShift = (2*a1+1)/(1-a1);RightShift = -(2*a2+1)/(1-a2);if (LeftShift>0 & RightShift>0)PeakShift = RightShift;elsePeakShift = LeftShift;endendend。
频谱校正算法

/*傅立叶变换修正算法:小魏编制于06年10月9号输入:Re:FFT变换的实部数据Im:FFT变换的虚部数据n: 数组的大小的一半。
fs: 采样频率num: 谱线数Kt: 窗函数的能量恢复系数,是一个与所选窗有关的常数矩形窗:Kt=1;汉宁窗:Kt=2.6666667;海明窗:Kt=2.51635高斯窗:Kt=3.43423输出:Result:每三个数值为一组,分别为某条谱线的幅值,频率,相位三个修正值Am_num: 峰值个数Re: 修正后的幅值谱*/void CCaculate::FFTModify(double *Re, double *Im,double *Result,int n,int &Am_num,double fs,double Kt){int i;double *power,*Px;//功率谱,相位谱数组Px=new double [n/2];power=new double [n/2];int *w;w=new int [500];//谱线号double m_max=0.0;//最大值int num=0;//谱线数//求功率谱for(i=0;i<n/2;i++){power[i]=Re[i]*Re[i]+Im[i]*Im[i];Px[i]=atan2(Im[i],Re[i]);}//求功率谱的最大值,用来找峰值m_max=power[0];for(i=1;i<n/2;i++){if(m_max<power[i])m_max=power[i];}//找峰值和峰值对应的谱线号for(i=1;i<n/2;i++){if(power[i]>m_max/20)//规定谱值大于最大值/20者为峰值,{if(power[i]>power[i-1]&&power[i]>power[i+1]){w[num]=i;//存储谱线号num++;//记录谱线数}}}Am_num=num;int w_num=0;//谱线号double temp,temp1,temp2,x0;//修正后的幅值谱图,先全部置零for(i=0;i<n/2;i++)Re[i]=0.00000001;//校正频率,相位和峰值for(i=0;i<num;i++){w_num=w[i];temp=power[w_num-1]*(w_num-1)+power[w_num]*w_num+power[w_num+1]*(w_num+1);temp1=power[w_num-1]+power[w_num]+power[w_num+1];temp2=temp*fs/temp1/n;//校正后的频率值x0=(temp2-w_num*fs/n)*n/fs;//频率校正量Result[3*i]=sqrt((power[w_num-1]+power[w_num]+power[w_num+1])*Kt)*2/n;//幅值谱校正Result[3*i+1]=temp2;//校正后的频率值,放在Result数组的偶数位上Result[3*i+2]=(Px[w_num]-x0*pi)*180/pi;//校正后的相位值,放在Result数组的奇数位上Re[w_num]=sqrt((power[w_num-1]+power[w_num]+power[w_num+1])*Kt)*2/n;}delete [] w;delete [] Px;delete [] power;}。
频谱校正方法

频谱校正方法
温馨提示:文档内容仅供参考
频谱校正是指对频谱信号进行校正以消除信号中的误差或非线性响应。
下面介绍几种常见的频谱校正方法:
线性插值法:该方法适用于频谱信号中的离散点不均匀分布的情况。
线性插值法通过在频率域上的两个离散点之间线性插值,获得一条直线,从而对频谱信号进行插值。
多项式拟合法:该方法适用于频谱信号中的误差具有一定的规律性。
多项式拟合法通过将原始信号拟合成一个多项式函数,从而对频谱信号进行校正。
傅里叶变换法:该方法适用于频谱信号中的非线性响应较为明显的情况。
傅里叶变换法通过将原始信号进行傅里叶变换,将频域中的非线性响应转换为时域中的线性响应,从而对频谱信号进行校正。
平滑法:该方法适用于频谱信号中存在噪声的情况。
平滑法通过对频谱信号进行平滑处理,从而减少噪声对频谱信号的影响。
需要根据实际情况选择适当的频谱校正方法进行使用。
第二章_离散信号频谱的窗谱校正方法

华中理工大学博士学位论文第二章离散信号频谱的窗谱校正方法----基本理论§2.1 引言利用DFT可以对离散信号进行频谱分析,但是计算工作量相当大,因此,在快速算法没用发明之前,DFT并没用多大的实际意义。
直到1965年,Cooley-Tukey在《计算数学》杂志上首先提出FFT算法之后,DFT才得到广泛的应用。
这一快速算法的出现对数字信号分析领域的发展起到了极大的推动作用。
从此以后,它作为频谱分析的基础得到了广泛的应用[75,76,77,78]。
由于计算机只能对信号的有限多个样本进行计算,信号的FFT谱分析也只能在时域信号的有限区间内进行,这就不可避免地存在由于时域截断(加矩形窗)而产生泄漏[61],使谱峰值减小,精度降低,求得的信号相位更是面目全非。
在数字信号处理中,由DFT或FFT得到的幅值谱是离散谱,是信号与窗函数频谱卷积后,按频率分辨率Δfs=fs/ N( fs为信号采样频率,N为分析信号样本长度)等间隔频域抽样的结果(如图21所示)[78]。
A幅值f图2-1 频谱抽样的离散谱线如果周期信号的频率正好表2-1 离散频谱幅值、相位和频率误差表落在某一谱线上,经FFT后得矩形窗 Hanning窗Hamming窗幅值误差(%)0--36.4 0--15.3 0--18.3相位误差(0)±90 ±90 ±90频率误差(Hz)±05Δfs. ±05Δfs. ±05Δfs.到的频率、幅值和相位是准确的。
在一般情况下,信号频率落于两条相邻谱线之间,由于谱线不在主瓣中心,由峰值谱线反映的频率和幅值都不准10华中理工大学博士学位论文确,相位误差更大。
从理论上分析,加矩形窗时,最大误差可达36 4.%,即使加其他窗时,也不能完全消除这一影响,在加Hanning窗时,只进行幅值恢复时的最大幅值误差仍高达15 3.%,相位误差将更大,表2-1是离散频谱只进行幅值恢复,不进行其他处理时幅值、相位和频率误差[141]。
离散频谱分析误差产生的原因及离散频谱校正技术【建筑工程类独家文档首发】

离散频谱分析误差产生的原因及离散频谱校正技术【建筑工程类独家文档首发】离散频谱校正理论和技术,不知道大家对这个名词熟不熟悉。
近来在声振论坛上看到一些帖子讨论为何经FFT得到的幅值、频率和相位不准的。
其实前面我也发过一篇介绍离散频谱校正的综述性的文章,可能大家都忙,没时间去看,呵呵,这里我就我的理解,把离散频谱分析的误差来源和校正方法做个简单的介绍。
离散频谱分析的误差产生的原因主要来自两方面,一方面是由于时域加窗截断产生的频域连续化,另一方面是由于计算机只能对有限的离散的频率进行计算,也即是频域离散化的结果。
其中,加窗截断的影响使一个无穷长单频率信号在频域对应的一根谱线,变成一个连续谱,以加矩形窗为例,则是变成一个sinc型函数的形状,其峰值对应的频率即为单频信号的频率。
但是由于频域的离散化,我们用FFT计算的频率一般都不会刚好会落在峰值处,这就是我们平时常说的泄露,这时我们就只能把计算得到的峰值谱线对应的频率做为估计的频率,如果以频率分辨率fs/N做归一 (即把频率分辨率看成1)的话,这个估计的频率的最大绝对值误差就是0.5,而幅值误差则依赖于加的窗的类型,由于矩形窗主瓣宽度为2,频谱开状较尖,幅值误差也就大。
至于相位的最大误差则会相应的达到正负90度,已经完全不能用了。
离散频谱校正就是针对这种误差提出的各种校正出实际的频率、幅值和相位的一门理论和技术。
国内现在比较常用的方法有比值(插值)法、能量重心法、FFT FT法和相位差法,都有其各自的特点和优缺点。
这里我给出一个比值校正法的程序供大家一起研究下。
当然,对于多频率成分的信号来说,离散频谱分析的另一个误差是来自于频率之间的相互干涉,这也是由于泄露所引起的,这个误差则主要靠加窗抑制旁瓣和减小频率分辨率、拉大频率间的距离(可通过ZFFT实现)来尽量减小。
%SpectrumCorrect_Test.mclose all;clear all;clc;fs=1024;N=1024;t=(0:N-1)/fs;x=4*cos(2*pi*80*t 30*pi/180) 3*cos(2*pi*150.232*t 80*pi/180)1*cos(2*pi*253.5453*t 240*pi/180);xf=fft(x);xf=xf(1:N/2)/N*2;XfCorrect=SpectrumCorrect(xf,3,1);XfCorrect(:,1)=XfCorrect(:,1)*fs/N;XfCorrectw=hann(N,’periodic’);xfw=fft(x.*w’);xfw=xfw(1:N/2)/N*4;XfCorrectW=SpectrumCorrect(xfw,3,2);XfCorrectW(:,1)=XfCorrectW(:,1)*fs/N;XfCorrectW%离散频谱比值校正法%by yangzj 2007.4.28%%xf为FFT后的复数谱%CorrectNum为校正的谱线条数%即校正最大的CorrectNum条%WindowType为加窗类型%1为矩形窗,2为Hanning窗%%SpectrumCorrect.mfunction XfCorrect=SpectrumCorrect(xf,CorrectNum,WindowType) XfCorrect=zeros(CorrectNum,3);for i=1:CorrectNumA=abs(xf);[Amax,index]=max(A);phmax=angle(xf(index));%比值法%加矩形窗if (WindowType==1)indsecL=A(index-1)>A(index 1);df=indsecL.*A(index-1)./(Amax A(index-1))-(1-indsecL).*A(index 1)./(Amax A(index 1));XfCorrect(i,1)=index-1-df;XfCorrect(i,2)=Amax/sinc(df);XfCorrect(i,3)=(phmax pi*df)*180/pi;xf(index-2:index 2)=zeros(1,5);end%比值法%加Hanning窗if (WindowType==2)indsecL=A(index-1)>A(index 1);df=indsecL.*(2*A(index-1)-Amax)./(AmaxA(index-1))-(1-indsecL).*(2*A(index 1)-Amax)./(Amax A(index 1)); XfCorrect(i,1)=index-1-df;XfCorrect(i,2)=(1-df )*Amax/sinc(df);XfCorrect(i,3)=(phmax pi*df)*180/pi;xf(index-4:index 4)=zeros(1,9);endXfCorrect(i,3)=mod(XfCorrect(i,3),360);XfCorrect(i,3)=XfCorrect(i,3)-(XfCorrect(i,3)>180)*360;end运行结果:XfCorrect =80.0014 4.0016 29.8261150.2333 2.9981 79.7127253.5397 0.9996 -118.7272XfCorrectW =80.0000 4.0000 30.0000150.2320 3.0000 80.0000253.5453 1.0000 -120.0002本文由声振论坛会员yangzj原创,结语:任何一个人,都要必须养成自学的习惯,即使是今天在学校的学生,也要养成自学的习惯,因为迟早总要离开学校的!自学,就是一种独立学习,独立思考的能力。
信号实验二离散信号的频谱分析

信号实验二离散信号的频谱分析实验二离散信号的频谱分析一、[实验目的](1)加深对采样定理的理解和掌握,以及对信号恢复的必要性;(2)掌握对连续信号在时域的采样与重构的方法(3)理解和加深傅里叶变换的概念及其性质。
(4)离散时间傅里叶变换(DTFT)的计算和基本性质。
(5)离散傅里叶变换(DFT)的计算和基本性质。
二、[实验内容]1.实验原理验证(一).采样定理及采样后信号的频谱对Sa(t)的采样后信号的频谱(二).信号重建对cos(t)的采样与重建信号cos(t) cos(t)重建信号与原信号的比较及误差(三).离散时间信号的傅立叶变换及频谱分析(1))离散时间傅里叶变换的概念及其性质。
有限长序列x(n)={1,2,3,4,5}(2)离散傅里叶变换的概念及其性质x(n)=sin(n*pi/8)+sin(n*pi/4),N=16的序列傅里叶变换。
2. 选取信号f(t)= cos(t)作为被采样信号(最高频率为f=8Hz),取理想低通的截止频率wc=1/2*ws。
实现对信号f(t)= cos(t)的采样及由该采样信号的恢复重建,按要求完成以下内容:(1) 分别令采样角频率ws=1.5*wm 及ws=3*wm,给出在欠采样及过采样条件下冲激取样后信号的频谱,从而观察频谱的混叠现象。
答:实验程序如下clc,cleardt=0.01;t=0:dt:1;f=8; %信号频率wm=2*pi*f; %信号角频率ft=cos(wm*t); %时域信号%bs=1.5; %采样角频率,欠采样bs=3; %采样角频率,大于两倍采样cos(t)的1.5倍采样信号频谱ws=bs*wm;Ts=2*pi/ws; %采样时间间隔wc=1/2*ws; %理想低通截止频率nTs=0:Ts:1;Tf=0.01;nTf=-10:Tf:10; f_nTs=cos(wm*nTs); %时域采样信号Fs=funexer4_1(f_nTs,nTs,Ts,nTf);figure(1); plot(nTf,Fs); title('cos(t)的3倍采样信号频谱'); ωxlabel('ω');ylabel('F(jw)');grid on%//////////////////1.5倍采样figure(2)bs=1.5; %采样角频率,大于两倍采样cos(t)的3倍采样信号频谱ws=bs*wm;Ts=2*pi/ws; %采样时间间隔wc=1/2*ws; %理想低通截止频率nTs=0:Ts:1;Tf=0.01; nTf=-10:Tf:10;Fs=funexer4_1(f_nTs,nTs,Ts,nTf);plot(nTf,Fs); title('cos(t)的1.5倍采样信号频谱'); xlabel('ω');ylabel('F(jw)'); ωgrid on(2) 若采样角频率取为ws=3*wm,欲使输出信号与输入信号一致为cos(t),试根据采样信号恢复信号的误差,确定理想低通滤波器H ( jw)的截止角频率Wc的取值范围应为多大?F(jw)F(jw)答:截止频率wc应满足:wm<wc≤ws/2。
计及负频率的极高频信号离散频谱校正新方法

号 ”将“ 低频信号” 极高频信 号” 极 和“ 统称为“ 极端频
率信 号” 。该 类极端频率信号 的共性是 负频率成 分对
正频 率谱 峰存 在较严 重 的干涉作用 [ ] 5 。对这 些信
析 与 校正 精 度 , 目前 已开 展 了一 些 研 究 , 在 普 适 但
性 、 正精 度 、 算 复杂度 等方 面都 有待进 一步 发展 校 计
和完 善[ 1 引。为此 , 在文献 [ ,—6针 对极低 频 、 5 91] 极短
时信 号研 究 的基础 上 , 者 针对 同样受 负 频 率 干涉 笔
关 键词 频 谱校 正 ;负频 率 ;B k n窗 ;高频 ; 端 频 率 ; 奎 斯 特 Mc ma 极 奈 TN9 1 6 03 9 1 . ; 2
中图 分 类 号
如何 消 除 负频 率 影 响 , 高 此类 信 号 的频 谱 分 提
引 言
直 接从 F T得 到 的 离散 频 谱 , 频 率 、 F 其 幅值 和 相位 等参 数 均可能 产生较 大 的误 差 [ 。 】 为降低 误差 , ]
毛育 文 , 涂 亚 庆 , 张 海 涛 , 肖 玮
( 勤 工 程 学 院信 息 工程 系 重 庆 ,0 31 后 411)
摘要
对于机械振动与故 障诊 断等 领域中常见的极高频 ( 近奈 奎斯特频率 ) 接 信号 , 传统 的离散频谱校 正方 法存 在
= Bak n窗 , 据 离 散 频 谱 的 周 期 性 并 利 用 局 部 t l ma : c 依
着较大误差 , 负频率成分干涉严重是影响其频谱分析精度 的重要 因素 。为提 高极 高频信号 的频谱分析与校正精度 ,
离散频谱时移相位差校正法

文 章 编 号 :O O0 8 ( 0 2 0 .7 90 l O .8 7 2 0 ) 7 0 2 .7
离 散 频 谱 时 移 相 位 差 校 正 法
丁 康 罗 江 凯2 谢 明2 , ,
( . 头 大 学 机 械 电 子 工 程 系 , 东 汕 头 5 56 ;2 重 庆 大 学 机 械 工 程 学 院 , 庆 4 0 4 ) 1汕 广 10 3 . 重 004
文 献标 识码 : A
中 圉 分 类 号 : T 9 16 N 9 .
引
言
频 谱 分 析 是 应 用 极 为 广 泛 的信 号 处 理 方 法 . 由于 计 算 机 只 能 对 有 限 多 个 样 本 进 行 运 算 , F T和谱 分 析 也 只能 在 有 限 区 间 内 进 行 , 就 不 可避 免 地 存 在 由于 时 域 截 断 产 生 的 能 量 泄 漏 , F 这 使 谱 峰 值 变 小 , 度 降 低 . 从 理 论 上 分 析 , 矩 形 窗 时 单 谐 波 频 率 成 分 的 幅 值 最 大 误 差 达 精 加
维普资讯
应 用 数学 和力 学 , 2 第 3卷 第 7期 ( 0 2年 7月 ) 20
Ap le ahe tc n e h nis p i d M t ma is a d M c a c
应 用 数 学 和 力 学 编 委 会 编 重 庆 出 版 社 出 版
校 正 法 J第 二 种 方 法 是 对 幅值 谱 进行 校 正 的 比值 法 ,
J第 三 种 方 法 是 F T+D T谱 连 续 , F F
细 化 分 析 傅 立 叶 变换 法 [ 第 四 种 方 法 是 相 位 差 法 [ ]这 些 方 法 各 有其 特 点 . 在 相 位 差 校 正 , 0 ,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A/2
t
X (f )
A/2
f
T0
-f 0
0
f0
时域波形
傅里叶变换模函数
(c)单频率谐波的时域波形和频谱模函数
xT ( t ) A
Y yK
yK−1
0
T
t
n 0 k-2 k-1 f0 k k+1 k+2
时域波形
离散频谱模函数
(d)单频率谐波离散频谱模函数 图2-2 单频率谐波离散频谱的误差产生原因
12
华 中 理 工 大 学 博 士 学 位 论 文
根据傅氏变换的奇偶性质,当 w( t ) 是实偶函数时,W ( f ) 此时也为实偶函数。又由 傅氏变换的时移特性可知(如图2-2b),
F [ wT ( t )] = W ( f ) e − jπ⋅ f ⋅T ........................................................................................(2.4) 设有一周期信号 x ( t ) = ACos ( 2 π ⋅ f 0 ⋅ t + ϕ ) ,则其傅氏变换结果为(如图2-2c):
∞
F [ x ( t ) ⋅ wT ( t )] =
−∞
∫ x( t ) ⋅ w
T
( t )e − j 2π ⋅ f ⋅t dt .............................................................(2.1)
其中, wT ( t ) 由对称窗 w( t ) 在时间上平移 T / 2 得到,即
函数,其 G ( v ) 是不同的。如果在同样的采样频率和同样的信号分析样本长度的情况下, 对加窗信号的频域抽样位置也就确定下来了,由于信号频率 f 0 的位置固定,即信号频域 峰值位置固定,则可得不管信号加了何种窗,所产生的频率误差都是一样的。 (2) 幅值校正 设窗函数的频谱模函数为W ( f ) ,则图2-4中主瓣函数为∶
X( f ) = A − jϕ A ⋅ e ⋅ δ ( f + f 0 ) + ⋅ e jϕ ⋅ δ ( f − f 0 ) ...............................................................(2.5) 2 2
根据卷积定理,加窗后的谐波信号 x ( t ) ⋅ wT ( t ) 的傅氏变换可表示为(图2-2d):
谱调制而得到,因而可利用窗函数的频谱图形对傅氏分析结果进行校正,以求出真实的 频率、幅值和相位 (1) 频率校正
y W ∆ f+1 W∆ f x
∆f
[65][67]
。
y A yf+1 yf x 0 f f 0 f+1
0 ∆ f+1
图2-3 窗函数的频谱函数
图2-4 频率和幅值的校正
频率校正即求出信号幅值谱图上窗谱主瓣中心所处的横坐标 f 0 。设窗函数的频谱函 数 为 W ( f ) , W ( f ) 对 称 于 Y 轴 ( 如 图 2-3 所 示 ) 。 对 于 任 一 ∆f , 其 窗 谱 函 数 为
[141]
。
§2.2 单频谐波的频谱分析误差产生原因
无限长信号 x ( t ) (如振动信号、噪声信号等)的频谱分析所采用的方法为对信号进 行截取,然后再对截取得到的有限长度信号进行频谱分析。窗函数 w( t ) 的作用就相当于 对无限长的信号开一窗口,从窗口中取出一段数据,从而完成信号的截取。窗函数都是 选择实偶函数,并在时域上将窗函数的中心放于被分析的那段信号的中心。 加窗信号的傅氏变换为:
§2.3 离散频谱信号的窗谱校正方法
假设加窗信号的频谱主瓣中心为 f 0 (即为信号的真实频率),信号幅值为 A0 ;加窗 信号 FFT 结果的频谱中,最高的频谱频率为 f 1 ,高度为 Y1 ;次高谱线频率为 f 2 ,高度为
Y2 。显然, f 1 和 f 2 相差仅为一个频率分辨率,对此归一化后,即有 f 1 = f 2 ± 1 。当 f 1 > f 2 时取“+”号;当 f 1 < f 2 时取“—”号。加窗信号的频谱由窗频谱对信号真实频
m = F ( ∆f ) =
yf W ( ∆f ) ..........................................................................(2.11) = W ( ∆f + 1) y f +1
13⋅ W ( f − f 0 ) ....................................................................................................(2.7) 2
华 中 理 工 大 学 博 士 学 位 论 文
显然,当 f = f 0 时, Y =
A , Φ = ϕ 不存在泄漏情况,得到的幅值、相位和频率都是 2
准确无误差的。在大多数情况下,当 f ≠ f 0 时。由加窗信号的傅氏分析得到的频率 f 、 幅值 Y 和相位 Φ 并不是真实值,且有旁瓣产生,这就是所谓的离散频谱的栅栏效应、梳 状效应、能量泄漏和假频等(如图2-2d所示)。当信号真实频率位于两个相邻离散谱线中 间时,即 f K −1 = f 0 − ∆f s / 2 , f K = f 0 + ∆f s / 2 (这里 ∆f s 为频率分辩率)时,求得的 信号幅值、相位和频率的误差最大。
∆f s = f s / N ( f s 为信号采样频率,N 为分析信号样本长度)等间隔频域抽样的结果(如图 2-
1 所示)
[78]
。
幅值
A
f
图2-1 频谱抽样的离散谱线 如果周期信号的频率正好 表2-1 离散频谱幅值、相位和频率误差表 矩形窗 幅值误差(%) 相位误差( 0 ) 0--36.4 Hanning窗 Hamming 窗 0--15.3 0--18.3 落在某一谱线上,经 FFT 后得 到的频率、幅值和相位是准确 的。在一般情况下,信号频率 落于两条相邻谱线之间,由于 谱线不在主瓣中心,由峰值谱 线反映的频率和幅值都不准
m为窗谱主瓣中心两旁相隔为1的两谱线幅值比值,为 f 的函数,求上式的反函数: ∆f = G (m) ...............................................................................................................(2.12) 这样便可得到频率修正量 ∆f = f − f 0 。 在实际计算中,主瓣中心位于信号真实频率 f 0 处。在图2-4中 y f 和 y f +1 是幅值谱主 yf 代入式(2.12)可求出谱线修正量 ∆f 。频率校正 瓣内谱峰左侧和右侧的谱线,将 m = y f +1
W ( ∆f ) ,相应的信号离散频谱幅值为 y f ;对于处于Y轴右侧的 ∆f + 1 谱线,其窗谱函 数为 W ( ∆f + 1) ,相应的信号离散频谱幅值为 y f +1 ;由W ( ∆f ) 、 W ( ∆f + 1) 、 y f 和 y f +1
可求出 ∆f 的值,即求出了频率修正量 ∆f = f − f 0 。由于W ( f ) 的函数表达式为已知, 可构成一函数:
10
±90 频率误差(Hz) ±0. 5∆f s
±90 ±0. 5∆f s
±90 ±0. 5∆f s
华 中 理 工 大 学 博 士 学 位 论 文
确,相位误差更大。从理论上分析,加矩形窗时,最大误差可达 36. 4% ,即使加其他窗 时,也不能完全消除这一影响,在加Hanning窗时,只进行幅值恢复时的最大幅值误差仍 高达15. 3% ,相位误差将更大,表2-1是离散频谱只进行幅值恢复,不进行其他处理时幅 值、相位和频率误差
对窗长度 T = N / f s 作归一化处理,则 T = 1,且令 ∆f = f − f 0 代入上面两式可得: A Y = ⋅ W ( ∆f ) ...........................................................................................................(2.9) 2 Φ = −π ⋅ ∆f + ϕ ......................................................................................................(2.10)
w (t)
T W(f)
1
t -T/2 T/2
−2/Τ −1/Τ 0 1/Τ 2/Τ f
时域波形
窗谱模函数
(a)对称矩形窗函数的时域波形和频谱模函数
wT ( t )
T WT ( f )
1
t 0 T
−2/Τ −1/Τ 0 1/Τ 2/Τ f
时域波形
窗谱模函数
(b)实际窗函数的时域波形和频谱模函数
x(t) A
结果为∶
f 0 = ( f − ∆f ) f s / N .............................................................................................(2.13) N为分析长度, f s 为采样频率。可将 ∆f = G (m) 称为频率校正函数,对于不同的窗
[75,76,77,78]
。
[61]
由于计算机只能对信号的有限多个样本进行计算,信号的 FFT 谱分析也只能在时域 信号的有限区间内进行,这就不可避免地存在由于时域截断(加矩形窗)而产生泄漏 , 使谱峰值减小,精度降低,求得的信号相位更是面目全非。在数字信号处理中,由 DFT 或 FFT 得 到 的 幅 值 谱 是 离 散 谱 , 是 信 号 与 窗 函 数 频 谱 卷 积 后 , 按 频 率 分 辨 率