什么是频谱泄露
- 借用百度百科的定义,所谓频谱泄漏 ,就是信号频谱中各谱线之间相互影响 ,使测量结果偏离实际值
,同时在谱线两侧其他频率点上出现一些幅值较小的假谱。
频谱泄露原因
- 简单说来,造成频谱泄漏的原因是采样频率与信号频率不同步,造成周期采样信号的相位在始端和终端不连续 。在信号理论中,FFT中频谱泄露原因一般有两种解释 :
第一:信号补长矩形加窗引起
- 在FFT运算中,为了频率分辨率和提高运算效率,将FFT点数补偿为2的整数幂次,以方便进行蝶形运算。这样的补零操作也会带来一定的性能损失,因为这种补零操作,相当于对数据加了矩形窗,从而引起了频谱泄露。
第二:非周期信号截断引起
- 举个电力系统的例子,在电网的谐波分析中,想要测量电网实时的电压电流信号,大多情况下,受限于系统存储空间、运算速度等因素限制,都需要截取一段ad采样数据进行观测,然后进一步分析。而做FFT运算时,有一个前提,即假设信号在测量间隔外具有“完美的”周期重复特性,也即认为该信号连续,测量的信号恰好为其中一个周期或多个周期。但是,实际情况是不可能的,如下图:
受到电网频差和测量定时精度的限制,就会出现不连续性,在频域中体现出来即“频谱泄漏”。
频谱泄露的现象表现
- 频谱泄露现象上表现出来的特点是频谱内正确频点的幅值会有衰减,但在正确频点周围会出现杂散频点,以前文的复合信号:
S=Adc+A1cos(2piF1t+piP1/180)+A2cos(2piF2t+piP2/180);
为例,本该出现在50hz和833Hz处的单频点信号,表现在图上就是目标中心频点的两侧出现了上升沿和下降沿。如下图
将某个频点位置放大显示后,现象就更明显
如何降低频谱泄露的影响
- 我们分析的信号,如果是只含特定频率或其某个整数次谐波的话,用FFT分析信号的频谱和相位是非常准确的,我们可以准确的分析出信号的频谱和相位,而通常的现场环境下,我们需要分析的信号含有不确定的谐波,此时用FFT分析,必然会有频谱泄露!那么怎么样才能减少频谱泄露呢?有两种方法:
方法一:增加采样的长度
- 增加采样长度,提高频率分辨率(见前文分析),这样就可以分析出更多频率的信号,可以减少频谱泄露,但是增加采样长度会对缓冲区大小、处理速度和数据处理的实时性造成很大的影响,时间应用中,往往要在系统硬件成本和采样长度之间做成权衡,得出最优的系统设计方案。
方法二:加窗函数。
- 为减少频谱能量泄露,可采用不同的截取函数对信号进行截断,截断函数称为窗函数。泄露与窗函数频谱的两侧旁瓣有关,如果两侧旁瓣的高度趋于零,而使能量相对集中在主瓣,就可以较为接近于真实的频谱,为此,在时间域中可采用不同的窗函数来截断信号,应用在谐波测量中的窗函数很多,不同的窗函数对谐波测量的影响各不相同,常用的窗函数如hanning窗、hamming窗、blackman窗等,旁瓣衰减有了明显的改进,但是主瓣却宽了很多,大概是矩形窗主瓣的二倍,blackman窗的主瓣还要宽,这就造成了信号频谱的频率识别率很低!如hanning窗,
窗的选择取决于分析的目标和被分析信号的类型。