频谱泄露的分析及其处理方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
频谱泄露的分析及其处理方法
在现代信号处理中,由于信号的频域分析比时域分析具有更加清晰的物理概念和深刻含义,因而在信息技术领域中,FFT运算和频谱分析是一种常用的分析手段。
对信号进行频谱分析首先需要通过信号的傅里叶变换计算出信号对应的频谱函数,但是由于实际应用中接触到的大量非周期连续信号x(t)的频谱函数X(j ω)是连续函数,利用计算机对其进行频谱分析时往往需要对信号进行离散化处理以近似分析相应的频谱。
在离散化处理过程中由于被处理信号的有限记录长度和时域、频域的离散性往往造成在频谱分析中会出现一些特殊的效应,例如混叠现象、泄漏现象以及栅栏现象,频谱泄漏就是这样出现的。
一.频谱泄漏的分析
所谓频谱泄露,就是信号频谱中各谱线之间相互影响,使测量结果偏离实际值,同时在谱线两侧其他频率点上出现一些幅值较小的假谱,导致频谱泄漏的原因是采样频率和信号频率的不同步,造成周期采样信号的相位在始端和终端不连续。
设X(t)为实际信号,T0为信号周期,f0=1/T0为信号频率,Ts为采样周期,fs=1/Ts为采样频率,L是截取的周期数,N是采样点数,L、N均为正整数,X(t)经过长度为LT0的时间窗后得到离散序列X(n),必须满足采样频率和信号频率同步,即同步采样的要求: LT0/Ts=Nfs/f0。
当信号X(t)的频率f0是fs/N的整数倍时,这说明在处理长度NT内有信号的K个整周期。
这时由X(t)构成的以NT为周期的周期性信号是连续的。
当信号X(t)的频率f0不是fs/N的整数倍时,则在NT的处理长度内,就不是恰好为信号周期的整数倍,有X(t)以NT为周期进行周期延拓所得到的周期性信号就出现了不连续点,造成了频谱分量从其正常频谱扩展开来,就这样形成了频谱泄漏现象。
在对信号做FFT分析时,如果采样频率固定不变,由于被采样信号自身频率的微小变化以及干扰因素的影响,就会使数据窗记录的不是整数个周期。
从时域来说,这种情况在信号的周期延拓时就会导致其边界点不连续,使信号附加了高频分量;从频域来说,由于FFT算法只是对有限长度的信号进行变换,有限长度信号在时域相当于无限长信号和矩形窗的乘积,也就是将这个无限长信号截短,对应频域的傅里叶变换是实际信号傅里叶变换与矩形窗傅里叶变换的卷积。
当信号被截矩后的频谱不同于它以前的频谱。
例如,对于频率为fs的正弦序列,它的频谱应该只是在fs处有离散谱。
但是,在对它的频谱做了截短后,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱线出现,它们可以理解为是从fs频率上泄漏出去的,这种现象就是频谱泄漏。
泄漏现象对功率谱估计及正弦分量的检测均带来有害的影响,因为弱信号的主瓣很容易被强信号泄漏到邻近的副瓣所淹没及畸变的,从而造成谱的模糊与失真。
通过LABVIEW信号处理实验室可以看到当边界点不连续时出现的频谱泄漏的情况如下图1所示:
图1 信号边界点不连续时
接下来举例说明以上的情况。
假设连续信号X(t)的周期为T,现在对它进行采样,采样时间为t,采样N个点,那么T=N*t,因为f(t)的频率f0=2*pi/T,同时又有T=N*t、fs=2*pi/t,则有f0=2*pi/N*t=fs/N。
接着我们假设对一个周期采样N=32个点,则有f0=fs/N;当对一个周期采样N1=64个点,那么N1=2*N,有f0=fs/N=fs/N1/2,即f0=2*fs/N1;同理当N2=128,f0=4*fs/N2…
也就是说如果采样的不是整数倍的信号周期,那么这32个点、64个点、128个点....就不是在一个整周期内采到的,那么上面的等式也就不成立了,因此也就发生了频谱泄漏。
如果原始信号的频谱成份与FFT中的谱线完全一致,这种情
况下采样数据的长度为信号周期的整数倍,频谱中只有主瓣。
没有出现旁瓣的原因是旁瓣正处在窗函数主瓣两侧采样频率间隔处的零分量点。
如果时间序列的长度不是周期的整数倍,窗函数的连续频谱将偏离主瓣的中心,频率偏移量对应着信号频率和FFT频率分辨率的差异,这个偏移导致了频谱中出现旁瓣,所以窗函数的旁瓣特性直接影响着各频谱分量向相邻频谱的泄漏宽度。
下图2是信号边界连续时的频谱图,可以看到此时频谱未发生泄漏。
图2 信号边界点连续时
因此,综上所述,当采样同步时,窗口宽度等于整数个周期,矩形框的过零点与离散频点正好对齐,没有泄漏。
采样不同步时,窗口宽度不是整数个周期,谐波频谱分布不再是一条谱线而是在整个频域内分布,频谱之间相互干扰,出现频谱泄漏。
由以上分析可以看出,采样不同步是造成频谱泄漏的根本原因,减少采样的同步误差是抑制频谱泄漏的根本措施。
二.消除频谱泄漏的处理方法
1.利用插值FFT方法减少频谱泄漏
1.1 窗函数
应用在谐波测量中的窗函数很多,不同的窗函数对谐波测量的影响各不相
同,即使同一个窗函数,参数选择不一样,影响也不一样。
在相同的条件下,采样次数N和窗宽L同时增大时,频谱泄漏减小,如图3所示。
窗函数不同,各插值算法对应参数也不同。
在实际测量中用的最多的是矩形窗和海宁窗,海宁窗在减小泄漏时效果更好,而且计算量相对其他窗函数偏小。
图3 不同参数下对应的频谱泄漏
1.2插值算法的推导(窗函数为海宁窗)
给定一下多频率信号g(k∆t)=A m*exp(2πi fm k t∆),其中k=0,1,2,…N-1。
加海宁窗以后的离散傅里叶变换(DFT)为:
G H(n f∆)=0.5|G(n f∆)-0.5[G((n+1)f∆)+ G((n-1)f∆)]|,其中G(n f∆)为给定信号的DFT表达式,又设fm=(lm+xm)f∆,lm为整数,且0≤xm<1,利用相邻的两个峰值点的表达式G H[(lm+1)f∆],G H(lm f∆),可推导出复幅值的计算式如下:Am=2πxm(1-xm)/sin(πxm)* exp(πixm)*(1+xm)*G H(lm f∆)
ψ=arctan[Im(Am)/Re(Am)]
而相角则可以由下式得出:m
相应的遵循上述指导过程,可以得到其他函数的插值公式。
在这种方法下,虽然增加采样点可以在一定程度上减小泄漏,但是其计算量会加大。
同样,使用加窗函数和内插技术来减小泄漏误差,以提高测量的精度,但算法复杂计算量较大。
2.利用频率同步装置减少频谱泄漏
利用硬件装置实现频率同步的装置很多,其中下图4所示的是利用数字式锁相器(DPLL)实现频率同步的框图。
图中带通滤波器用来滤除噪声干扰,数字式相位比较器把取自系统电压信号的相位和频率与锁相环输出的同步反馈信号进行相位比较。
当失步时,数字式相位比较器输出与两者相位差和频率差有关的
电压,经滤波后控制并改变压控振荡器的频率,直到输入的频率和反馈信号的频率同步为止。
一旦锁定,便将跟踪输入信号频率变化,保持两者的频率同步,输出的同步信号去控制对信号的采样和加窗函数。
图4 频率同步数字锁相装置框图
此种采用锁相环技术实现硬件同步采样的方法尽管可以在一定程度上减小频谱泄漏,但其加大了硬件复杂度。
3.利用采样频率自适应软件算法来减少频谱泄漏
对于实际的电力信号,其频率的变化一般是比较缓慢的,相邻的几个周波的频率变化很小,在对其进行频谱分析时,针对电力信号这个特点,采用软件采样频率自适应算法。
首先以基波频率50HZ为采样基点,然后通过软件算法得到信号的实际频率,用实际频率自动的调整采样时间,可以减小同步误差,提高精度。
对于实际电力信号,软件采样频率自适应算法如下:
(1)设定采样间隔为Ts=78.125us(采样频率fs=12.8kHz),采样2×512+256点;
(2)根据采样序列和采样间隔,利用改进的过零修正法计算信号的实际频率f0;
(3)由实际频率f0调整新的采样时间间隔,可使新的采样时间窗是T0=1/f0的整数倍,并采样2×512+256点;
(4)利用过采样法进行FFT运算得到64点(N=512而只计算64点)结果,输出基波以及各次谐波数据;
(5)将2×512+256点采样序列和新的采样间隔作为参数,返回第(2)步。
本算法主要有以下特点:
(1)在第2步中采用数字滤波过零修正法。
仅仅采用一般的过零线性化来计算采样频率所得到f0的误差还是较大的,由于干扰或者某些因素影响,有时甚至会出现错误。
为了解决这个问题,对采样序列进行数字滤波,一般来说基频
信号最强,受其他谐波泄漏的影响也最小,通过数字滤波器除基频以上的频率成分,保证基波附近频率通过,并采用16位A/D转换芯片,可明显降低频率计算误差。
(2)在第3步中通过软件实现对采样时间间隔(采样频率)的调整,在实际应用中,采用DSP芯片TMS320VC5402对采样时间的确定可以精确到0.01us,有很好的精度保证。
(3)第4步中利用过采样法进行FFT运算,可以减小混叠误差,或降低对抗混叠滤波器的要求。
如果进行FFT运算的序列不是充分的,其fs/2以上的频率成分就会折叠到0~fc段内。
对于电力信号,要求分析的最高为64次的谐波,fc=3.2kHz,则fs~fc,2fs~3fc,3fs~5fc,4fs~7fc段频谱会折叠到0~fc段内引起折叠误差。
并且在fs/2附近折叠误差最大;但当fc一定时,提高fs会减小误差,因此,在进行信号分析时,可用过采样方法减小混叠误差。
需要说明的是第4步中利用过采样法进行FFT运算对运算量的影响。
对采样信号进行数字滤波后,求取N点FFT的前64点可得到分析的各次谐波。
为了减小混叠失真,使用了过采样方法,N值变大,直接求取N点FFT运算量变大。
为了减小运算量,可对滤波后信号进行抽取,降低采样速度,求其256点FFT 的前四分之一即可。
综上所述,采样不同步产生的同步误差是造成频谱泄漏的重要原因,上述的基于采样频率自适应技术的软件算法通过采样数据计算得到信号较为准确的实际频率,并根据实际频率动态调整采样的时间间隔,实现采样频率的自适应,从而减小同步误差,降低频谱泄漏的影响。