对于单频信号出现频谱泄露的解决办法

您所在的位置:网站首页 为什么周期信号的频谱都是离散的 对于单频信号出现频谱泄露的解决办法

对于单频信号出现频谱泄露的解决办法

2024-07-16 05:54| 来源: 网络整理| 查看: 265

什么是整周期采样?

假设正弦信号的频率f0是△f的整数倍,即有f0=a△f,a是整数,满足这一条件采得的数据称为整周期采样。把这一条件再进一步展开,可得

f0/(fs/N)=a

这说明在已知采样频率fs、数据长度N及正弦信号频率f0下,当满足上式时,该数据对f0信号是整周期采样。

在信号处理中,经常会遇到经窗函数截断以后,有的没有发生泄漏,但有的发生了泄漏。

案例、有一个余弦信号,信号频率30Hz,信号为x(t)=cos(2π×30t),采样频率fs=128Hz,样本长度分别取N=128和N=100,在FFT后作谱图并比较谱图中的差别。程序分两部分,程序如下:

clear all; clc; close all; fs=128; % 采样频率 % 第一部分 N=128; % 信号长度 t=(0:N-1)/fs; % 时间序列 y=cos(2*pi*30*t); % 余弦信号 Y=fft(y,N); % FFT freq=(0:N/2)*fs/N; % 按式(2-2-7)设置频率刻度 n2=1:N/2+1; % 计算正频率的索引号 Y_abs=abs(Y(n2))*2/N; % 给出正频率部分的频谱幅值 % 作图 subplot 211; stem(freq,Y_abs,'k') xlabel('频率(Hz)'); ylabel('幅值'); title('(a) Fs=128Hz, N=128') axis([10 50 0 1.2]); % 第二部分 N1=100; % 信号长度 t1=(0:N1-1)/fs; % 时间序列 y1=cos(2*pi*30*t1); % 余弦信号 Y1=fft(y1,N1); % FFT freq1=(0:N1/2)*fs/N1; % 按式(2-2-7)设置频率刻度 n2=1:N1/2+1; % 计算正频率的索引号 Y_abs1=abs(Y1(n2))*2/N1; % 给出正频率部分的频谱幅值 % 作图 subplot 212; stem(freq1,Y_abs1,'k') xlabel('频率(Hz)'); ylabel('幅值'); title('(b) Fs=128Hz, N=100') axis([10 50 0 1.2]); hold on line([30 30],[0 1],'color',[.6 .6 .6],'linestyle','--'); plot(30,1,'ko','linewidth',5) set(gcf,'color','w');

运行结果如下: 

在程序两部分中用相同的信号,中心频率f0=30,采样频率fs=128,差别仅是FFT的长。在N=128的谱图上只在30Hz处有一条谱线,其他频点的幅值都为0;而在N=100的谱图上有明显的泄漏现象,谱线用黑实线表示。最大两根谱线在30Hz两侧,图中用虚线和黑圈点表示了30Hz的频率点。为什么当N=128时FFT后没有泄漏,而当N=100时FFT后就有泄漏?

分析:可知在加矩形窗之后,单一频率信号的频谱图表达式为

已不是一个单一的δ函数,而是有泄漏的存在。设信号是频率为f0,当取信号为整周期采样时,信号的频率f0=a△f,a=k,f0将与某一条谱线相重合,如同程序第一部分表示的那样,即第k条谱线频率为f0。整周期采样后得到的幅值谱图如图(a)和下图所示。

 

在整周期采样后得到的XT(w),一样存在着泄漏的可能性,但由于信号频率f0与第k条谱线重合,k±i(i为整数值)的任意谱线正好落在XT(w)的零点上,所以在谱图中就没有显示泄漏现象。 当取信号为非整周期采样时,信号的频率f0不与FFT后某一条谱线重合,而是像案例的程序第二部分表示的那样,f0落在两条谱线的中间,例如落在第k和k+1条谱线之间,其中第条谱线是局部极大值,如图(b)和下图所示。

在非整周期采样时得到的XT(w),一样存在着泄漏的可能性,由于信号频率f0在两条谱线之间,第k条谱线虽是局部的最大值,但不与f0相重合,则k±i(i为整数值)的任意谱线都是XT(w)函数上的非零值,所以在谱图中存在泄漏现象。

为了防止泄漏,对于单频信号可以调整采样频率使之构成整周期采样(例如在电力监测设备中,有的会用锁相技术跟踪信号频率以调整采样频率),但大多数实际信号处理中的信号不是单频(或单频+谐波),而是多频率的,所以泄漏是难免的。在有泄漏的情形中只能想方设法减小泄漏的影响,比如利用窗函数。虽然上述已在截断的讨论中加了矩形窗函数,但矩形窗函数的泄漏是最大的,还有其他窗函数能更好地减少泄漏。 参考文献:MATLAB数字信号处理85个实用案例精讲——入门到进阶;宋知用(编著)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3