功率谱图应用

功率谱图应用
功率谱图应用

1.基本方法

周期图法是直接将信号的采样数据x(n)进行Fourier变换求取功率谱密度估计的方法。假定有限长随机信号序列为x(n)。它的Fourier变换和功率谱密度估计存在下面的关系:

式中,N为随机信号序列x(n)的长度。在离散的频率点f=kΔf,有:

其中,FFT[x(n)]为对序列x(n)的Fourier变换,由于FFT[x(n)]的周期为N,求得的功率谱估计以N为周期,因此这种方法称为周期图法。下面用例子说明如何采用这种方法进行功率谱

用有限长样本序列的Fourier变换来表示随机序列的功率谱,只是一种估计或近似,不可避免存在误差。为了减少误差,使功率谱估计更加平滑,可采用分段平均周期图法(Bartlett法)、加窗平均周期图法(Welch 法)等方法加以改进。

2. 分段平均周期图法(Bartlett法)

将信号序列x(n),n=0,1,…,N-1,分成互不重叠的P个小段,每小段由m个采样值,则P*m=N。对每个小段信号序列进行功率谱估计,然后再取平均作为整个序列x(n)的功率谱估计。

平均周期图法还可以对信号x(n)进行重叠分段,如按2:1重叠分段,即前一段信号和后一段信号有一半是重叠的。对每一小段信号序列进行功率谱估计,然后再取平均值作为整个序列x(n)的功率谱估计。这两种方法都称为平均周期图法,一般后者比前者好。程序运行结果为图9-5,上图采用不重叠分段法的功率谱估计,下图为2:1重叠分段的功率谱估计,可见后者估计曲线较为平滑。与上例比较,平均周期图法功率谱估计具有明显效果(涨落曲线靠近0dB)。

3.加窗平均周期图法

加窗平均周期图法是对分段平均周期图法的改进。在信号序列x(n)分段后,用非矩形窗口对每一小段信号序列进行预处理,再采用前述分段平均周期图法进行整个信号序列x(n)的功率谱估计。由窗函数的基本知识(第7章)可知,采用合适的非矩形窗口对信号进行处理可减小“频谱泄露”,同时可增加频峰的宽度,从而提高频谱分辨率。

其中上图采用无重叠数据分段的加窗平均周期图法进行功率谱估计,而下图采用重叠数据分段的加窗平均周期图法进行功率谱估计,显然后者是更佳的,信号谱峰加宽,而噪声谱均在0dB附近,更为平坦(注意采用无重叠数据分段噪声的最大的下降分贝数大于5dB,而重叠数据分段周期图法噪声的最大下降分贝数小于5dB)。

4. Welch法估计及其MATLAB函数

Welch功率谱密度就是用改进的平均周期图法来求取随机信号的功率谱密度估计的。Welch 法采用信号重叠分段、加窗函数和FFT算法等计算一个信号序列的自功率谱估计(PSD如上例中的下半部分的求法)和两个信号序列的互功率谱估计(CSD)。

MATLAB信号处理工具箱函数提供了专门的函数PSD和CSD自动实现Welch法估计,而不需要自己编程。

(1)函数psd利用Welch法估计一个信号自功率谱密度,函数调用格式为:

[Pxx[,f]]=psd(x[,Nfft,Fs,window,Noverlap,’dflag’])

式中,x为信号序列;Nfft为采用的FFT长度。这一值决定了功率谱估计速度,当Nfft采用2的幂时,程序采用快速算法;Fs为采样频率;Window定义窗函数和x分段序列的长度。窗函数长度必须小于或等于Nfft,否则会给出错误信息;Noverlap为分段序列重叠的采样

点数(长度),它应小于Nfft;dflag为去除信号趋势分量的选择项:’linear’,去除线性趋势分量,’mean’去除均值分量,’none’不做去除趋势处理。Pxx为信号x的自功率谱密度估计。f为返回的频率向量,它和Pxx对应,并且有相同长度。

在psd函数调用格式中,缺省值为:

Nfft=min(256,length(x)),Fs=2Hz, window=hanning(Nfft),noverlap=0. 若x是实序列,函数psd仅计算频率为正的功率

注意程序前半部分中频率向量f的创建方法。它与函数psd的输出Pxx长度的关系如下:若x为实序列,当Nfft为奇数时,f=(0:(Nfft+1)/2-1)/Nfft;当Nfft为偶数时,

f=(0:Nfft/2)/Nfft。

函数还有一种缺省返回值的调用格式,用于直接绘制信号序列x的功率谱估计曲线。函数还可以计算带有置信区间的功率谱估计,调用格式为:

[Pxx,Pxxc,f]=psd(x,Nfft,Fs,window,Noverlap,p)

式中,p为置信区间,0<=p<=1。

由此可知,滤波器输入白噪声序列的输出信号的功率谱或自相关可以确定滤波器的频率特性。

(2)函数csd利用welch法估计两个信号的互功率谱密度,函数调用格式为: [Pxy[,f]]=csd(x,y,Nfft,Fs,window,Noverlap,’dflag’)

[Pxy,Pxyc[,f]]=csd(x,y,Nfft,Fs,window,Noverlap,p)

这里,x,y为两个信号序列;Pxy为x,y的互功率谱估计;其他参数的意义同自功率谱函数psd。

可以看到,两个白噪声信号的互功率谱(上图)杂乱无章,看不出周期成分,大部分功率谱在-5dB以下。然而白噪声与带有噪声的周期信号的功率谱在其周期(频率为1000Hz)处有一峰值,清楚地表明了周期信号的周期或频率。因此,利用未知信号与白噪声信号的互功率谱也可以检测未知信号中所含有的频率成分。

5 多窗口法

多窗口法(Multitaper method,简称MTM法)利用多个正交窗口(Tapers)获得各自独立的近似功率谱估计,然后综合这些估计得到一个序列的功率谱估计。相对于普通的周期图法,这种功率谱估计具有更大的自由度,并在估计精度和估计波动方面均有较好的效果。普通的功率谱估计只利用单一窗口,因此在序列始端和末端均会丢失相关信息,而且无法找回。而MTM法估计增加窗口使得丢失的信息尽量减少。

MTM法简单地采用一个参数:时间带宽积(Time-bandwidth product)NW,这个参数用以定义计算功率谱所用窗的数目,为2*NW-1。NW越大,功率谱计算次数越多,时间域分辨率越高,而频率域分辨率降低,使得功率谱估计的波动减小。随着NW增大,每次估计中谱泄漏增多,总功率谱估计的偏差增大。对于每一个数据组,通常有一个最优的NW使得在估计偏差和估计波动两方面求得折中,这需要在程序中反复调试来获得。

MATLAB信号处理工具箱中函数PMTM就是采用MTM法估计功率谱密度。函数调用格式为:

[Pxx[,f]]=pmtm(x[,nw,Nfft,Fs])

式中,x为信号序列;nw为时间带宽积,缺省值为4。通常可取2,5/2,3,7/2;Nfft为FFT长度;Fs为采样频率。

上面的函数还可以通过无返回值而绘出置信区间,如pmtm(x,nw,Nfft,Fs,’option’,p)绘制带置信区间的功率谱密度估计曲线,0<=p<=1。

6 最大熵法(Maxmum entropy method, MEM法)

如上所述,周期图法功率谱估计需要对信号序列“截断”或加窗处理,其结果是使估计的功率谱密度为信号序列真实谱和窗谱的卷积,导致误差的产生。

最大熵功率谱估计的目的是最大限度地保留截断后丢失的“窗口”以外信号的信息,使估计谱的熵最大。主要方法是以已知的自相关序列r xx(0),r xx(1),…,r xx(p)为基础,外推自相关序列r xx(p+1),r xx(p+2),…,保证信息熵最大。

最大熵功率谱估计法假定随机过程是平稳高斯过程,可以证明,随机信号的最大熵谱与AR 自回归(全极点滤波器)模型谱是等价的。

MATLAB信号处理工具箱提供最大熵功率谱估计函数pmem,其调用格式为:

[Pxx,f,a]=pmem(x,p,Nfft,Fs,’xcorr’)

式中,x为输入信号序列或输入相关矩阵;p为全极点滤波器阶次;a为全极点滤波器模型系数向量;’xcorr’是把x认为是相关矩阵。

比较最大熵功率谱估计(MEM)和改进的平均周期图功率谱估计,可见,MEM法估计的功率谱曲线较光滑。在这一方法中,MEM法选定全极点滤波器的阶数取得越大,能够获得的窗口外的信息越多,但计算量也越大,需要根据情况折中考虑。

7 多信号分类法

MATLAB信号处理工具箱还提供另一种功率谱估计函数pmusic。该函数执行多信号分类法(multiple signal classification, Music法)。将数据自相关矩阵看成由信号自相关矩阵和噪声自相关矩阵两部分组成,即数据自相关矩阵R包含有两个子空间信息:信号子空间和噪声子空间。这样,矩阵特征值向量(Eigen vector)也可分为两个子空间:信号子空间和噪声子空间。为了求得功率谱估计,函数pmusic计算信号子空间和噪声子空间的特征值向量函数,使得在周期信号频率处函数值最大,功率谱估计出现峰值,而在其他频率处函数值最小。其调用格式为:

[Pxx,f,a]=pmusic(x,p[[,thresh],Nfft,Fs,window,Noverlap])

式中,x为输入信号的向量或矩阵;p为信号子空间维数;thresh为阈值,其他参数的意义与函数psd相同。

功率谱密度相关方法的MATLAB实现

%%

%分段平均周期图法(Bartlett法)

%运用信号不重叠分段估计功率谱

Nsec=256;n=0:sigLength-1;t=n/Fs; %数据点数,分段间隔,时间序列

pxx1=abs(fft(y(1:256),Nsec).^2)/Nsec; %第一段功率谱

pxx2=abs(fft(y(257:512),Nsec).^2)/Nsec; %第二段功率谱

pxx3=abs(fft(y(515:768),Nsec).^2)/Nsec; %第三段功率谱

pxx4=abs(fft(y(769:1024),Nsec).^2)/Nsec; %第四段功率谱

Pxx=10*log10((pxx1+pxx2+pxx3+pxx4)/4); %平均得到整个序列功率谱

f=(0:length(Pxx)-1)*Fs/length(Pxx); %给出功率谱对应的频率

%%plot(f(1:Nsec/2),Pxx(1:Nsec/2)); %绘制功率谱曲线

figure,plot(f(1:Nsec),Pxx(1:Nsec)); %绘制功率谱曲线

xlabel('频率/Hz');ylabel('功率谱 /dB');

title('平均周期图(无重叠) N=4*256');

grid on

%%

%运用信号重叠分段估计功率谱

pxx1=abs(fft(y(1:256),Nsec).^2)/Nsec; %第一段功率谱

pxx2=abs(fft(y(129:384),Nsec).^2)/Nsec; %第二段功率谱

pxx3=abs(fft(y(257:512),Nsec).^2)/Nsec; %第三段功率谱

pxx4=abs(fft(y(385:640),Nsec).^2)/Nsec; %第四段功率谱

pxx5=abs(fft(y(513:768),Nsec).^2)/Nsec; %第五段功率谱

pxx6=abs(fft(y(641:896),Nsec).^2)/Nsec; %第六段功率谱

pxx7=abs(fft(y(769:1024),Nsec).^2)/Nsec; %第七段功率谱

Pxx=10*log10((pxx1+pxx2+pxx3+pxx4+pxx5+pxx6+pxx7)/7); %功率谱平均并转化为dB f=(0:length(Pxx)-1)*Fs/length(Pxx); %频率序列

figure,plot(f(1:Nsec/2),Pxx(1:Nsec/2)); %绘制功率谱曲线

xlabel('频率/Hz'); ylabel('功率谱/dB');

title('平均周期图(重叠一半) N=1024');

grid on

%%

Nsec=256;n=0:sigLength-1;t=n/Fs; %数据长度,分段数据长度、时间序列

w=hanning(256); %采用的窗口数据

%采用不重叠加窗方法的功率谱估计

pxx1=abs(fft(w.*y(1:256),Nsec).^2)/norm(w)^2; %第一段加窗振幅谱平方

pxx2=abs(fft(w.*y(257:512),Nsec).^2)/norm(w)^2; %第二段加窗振幅谱平方

pxx3=abs(fft(w.*y(513:768),Nsec).^2)/norm(w)^2; %第三段加窗振幅谱平方

pxx4=abs(fft(w.*y(769:1024),Nsec).^2)/norm(w)^2; %第四段加窗振幅谱平方

Pxx=10*log10((pxx1+pxx2+pxx3+pxx4)/4); %求得平均功率谱,转换为dB

f=(0:length(Pxx)-1)*Fs/length(Pxx); %求得频率序列

figure

subplot(2,1,1),plot(f(1:Nsec/2),Pxx(1:Nsec/2)); %绘制功率谱曲线

xlabel('频率/Hz');ylabel('功率谱/dB');

title('加窗平均周期图(无重叠) N=4*256');

grid on

%采用重叠加窗方法的功率谱估计

pxx1=abs(fft(w.*y(1:256),Nsec).^2)/norm(w)^2; %第一段加窗振幅谱平方

pxx2=abs(fft(w.*y(129:384),Nsec).^2)/norm(w)^2; %第二段加窗振幅谱平方

pxx3=abs(fft(w.*y(257:512),Nsec).^2)/norm(w)^2; %第三段加窗振幅谱平方

pxx4=abs(fft(w.*y(385:640),Nsec).^2)/norm(w)^2; %第四段加窗振幅谱平方

pxx5=abs(fft(w.*y(513:768),Nsec).^2)/norm(w)^2; %第五段加窗振幅谱平方

pxx6=abs(fft(w.*y(641:896),Nsec).^2)/norm(w)^2; %第六段加窗振幅谱平方

pxx7=abs(fft(w.*y(769:1024),Nsec).^2)/norm(w)^2; %第七段加窗振幅谱平方

Pxx=10*log10((pxx1+pxx2+pxx3+pxx4+pxx5+pxx6+pxx7)/7);%平均功率谱转换为dB

f=(0:length(Pxx)-1)*Fs/length(Pxx); %频率序列

subplot(2,1,2),plot(f(1:Nsec/2),Pxx(1:Nsec/2)); %绘制功率谱曲线

xlabel('频率/Hz');ylabel('功率谱/dB');

title('加窗平均周期图(重叠一半)N=1024');

grid on

%%

%4分段平均周期图法(hanning窗)

Nsec=256;

n=0:sigLength-1;

t=n/Fs;

w=hanning(256);

Pxx1=abs(fft(w.*y(1:256),Nsec).^2)/Nsec;

Pxx2=abs(fft(w.*y(257:512),Nsec).^2)/Nsec;

Pxx3=abs(fft(w.*y(513:768),Nsec).^2)/Nsec;

Pxx4=abs(fft(w.*y(769:1024),Nsec).^2)/Nsec;

Pxx=10*log10((Pxx1+Pxx2+Pxx3+Pxx4)/4);

f=(0:length(Pxx)-1)*Fs/length(Pxx);

figure

subplot(2,1,1)

plot(f,Pxx);

xlabel('频率/Hz');ylabel('功率谱/dB');

title('Averaged Modified Periodogram (none overlap) N=4*256'); grid

%4分段(2:1重叠)平均周期图法(hanning窗)

Nsec=256;

n=0:sigLength-1;

t=n/Fs;

w=hanning(256);

Pxx1=abs(fft(w.*y(1:256),Nsec).^2)/Nsec;

Pxx2=abs(fft(w.*y(129:384),Nsec).^2)/Nsec;

Pxx3=abs(fft(w.*y(257:512),Nsec).^2)/Nsec;

Pxx4=abs(fft(w.*y(385:640),Nsec).^2)/Nsec;

Pxx5=abs(fft(w.*y(513:768),Nsec).^2)/Nsec;

Pxx6=abs(fft(w.*y(641:896),Nsec).^2)/Nsec;

Pxx7=abs(fft(w.*y(769:1024),Nsec).^2)/Nsec;

Pxx=10*log10((Pxx1+Pxx2+Pxx3+Pxx4+Pxx5+Pxx6+Pxx7)/7);

f=(0:length(Pxx)-1)*Fs/length(Pxx);

subplot(2,1,2);plot(f,Pxx);

xlabel('频率/Hz');ylabel('Power Spectrum (dB)');

title('Averaged Modified Periodogram (half overlap) N=1024'); grid

%%

%PSD_WELCH方法

%采样频率

Nfft=256;n=0:sigLength-1;t=n/Fs; %数据长度、时间序列

window=hanning(256); %选用的窗口

noverlap=128; %分段序列重叠的采样点数(长度)

dflag='none'; %不做趋势处理

[Pxx,Pxxc,f]=psd(y,Nfft,Fs,window,noverlap,0.95); %功率谱估计,并以0.95的置信度给出置信区间,无返回值是绘制出置信区间

figure

plot(f,10*log10(Pxx)); %绘制功率谱

xlabel('频率/Hz');ylabel('功率谱/dB');

title('PSD—Welch方法'); grid on

%%

%最大熵法(MEM法)

Nfft=256;n=0:sigLength-1;t=n/Fs; %数据长度、分段长度和时间序列

window=hanning(256); %采用窗口

[Pxx1,f]=pmem(x,20,Nfft,Fs); %采用最大熵法,采用滤波器阶数14,估计功率谱

figure,subplot(2,1,1),plot(f,10*log10(Pxx1)); %绘制功率谱

xlabel('频率/Hz');ylabel('功率谱/dB');

title('最大熵法 Order=20原始信号功率谱');grid on

[Pxx1,f]=pmem(y0,20,Nfft,Fs); %采用最大熵法,采用滤波器阶数14,估计功率谱

subplot(2,1,2),plot(f,10*log10(Pxx1)); %绘制功率谱

xlabel('频率/Hz');ylabel('功率谱/dB');axis([0 4000 -20 0])

title('最大熵法 Order=20滤波后的信号功率谱');grid on

%%

%%功率谱密度

%PSD_WELCH方法

Nfft=512;n=0:sigLength-1;t=n/Fs; %数据长度、时间序列

window=hanning(256); %选用的窗口

noverlap=128; %分段序列重叠的采样点数(长度)

dflag='none'; %不做趋势处理

[Pxx,Pxxc,f]=psd(x,Nfft,Fs,window,noverlap,0.95); %功率谱估计,并以0.95的置信度给出置信区间,无返回值是绘制出置信区间

figure;subplot(211);

plot(f,10*log10(Pxx)); %绘制功率谱

xlabel('频率/Hz');ylabel('功率谱/dB');

grid on;title('PSD—Welch方法的原始信号功率谱')

subplot(212)

[Pxx,Pxxc,f]=psd(y0,Nfft,Fs,window,noverlap,0.95); %功率谱估计,并以0.95的置信度给出置信区间,无返回值是绘制出置信区间

plot(f,10*log10(Pxx)); %绘制功率谱

xlabel('频率/Hz');ylabel('功率谱/dB');axis([0 4000 -30 0])

grid on;title('PSD—Welch方法的滤波后的信号功率谱')

%%

%用多窗口法(MTM)

n=0:sigLength-1;t=n/Fs; %数据长度、分段数据长度,时间序列

[Pxx1,f]=pmtm(x,2,Nfft,Fs); %用多窗口法(NW=4)估计功率谱

figure;subplot(2,1,1),plot(f,10*log10(Pxx1)); %绘制功率谱

xlabel('频率/Hz');ylabel('功率谱/dB');

title('多窗口法(MTM) nw=2原始信号功率谱');grid on

[Pxx,f]=pmtm(y0,2,Nfft,Fs); %用多窗口法(NW=2)估计功率谱

subplot(2,1,2),plot(f,10*log10(Pxx)); %绘制功率谱

xlabel('频率/Hz');ylabel('功率谱/dB');axis([0 4000 -80 -20])

title('多窗口法(MTM) nw=2滤波后的信号功率谱');grid on

%%

%采用Welch方法估计功率谱

noverlap=128; %重叠数据

dflag='none'; Nfft=1024;

figure;subplot(2,1,1)

psd(x,Nfft,Fs,window,noverlap,dflag); %采用Welch方法估计功率谱xlabel('频率/Hz');ylabel('功率谱/dB')

title('Welch方法原始信号功率谱');grid on

subplot(2,1,2)

psd(y0,Nfft,Fs,window,noverlap,dflag); %采用Welch方法估计功率谱xlabel('频率/Hz');ylabel('功率谱/dB'),axis([0 4000 -30 0])

title('Welch方法滤波后的信号功率谱');grid on

pmusic(y0,[7,1.1],Nfft,Fs,32,16); %采用多信号分类法估计功率谱xlabel('频率/Hz'); ylabel('功率谱/dB')

title('通过MUSIC法估计的伪谱')

经典功率谱和Burg法的功率谱估计

现代信号处理作业 实验题目: 设信号)()8.0cos(25.0)47.0cos()35.0cos()(321n v n n n n x ++++++=θπθπθπ,其中321,,θθθ是[]ππ,-内的独立随机变量,v(n)是单位高斯白噪声。 1.利用周期图法对序列进行功率谱估计。数据窗采用汉明窗。 2.利用BT 法对序列进行功率谱估计,自相关函数的最大相关长度为M=64,128,256,512采用BARTLETT 窗。 3.利用Welch 法对序列进行功率谱估计,50%重叠,采用汉明窗,L=256,128,64。 4.利用Burg 法对序列进行AR 模型功率谱估计,阶数分别为10,13. 要求每个实验都取1024个点,fft 作为谱估计,取50个样本序列的算术平均,画出平均的功率谱图。 实验原理: 1)。周期图法: 又称间接法,它把随机信号的N 个观察值x N (n)直接进行傅里叶变换,得到X N (e jw ),然后取其幅值的平方,再除以N ,作为对x (n )真实功率谱的估计。 2^ )(1)(jw e X N w P N per = , 其中∑-=-=1 )()(N n jwn N jw N e n x e X 2)。BT 法: 对于N 个观察值x(0),x(1),。。。,x(N-1),令x N (n)=a(n)x(n)。计算r x (m )为

∑--=-≤+= m N n N N x N m m n x n x N m r 10 1),()(1 )(,计算其傅里叶变换 ∑-=--≤= M M m jwm x BT N M e m r m v w P 1 ,)()()(^ ^ ,作为观察值的功率谱的估计。 其中v(m)是平滑窗。 3)。Welch 法: 假定观察数据是x(n),n=0,1,2...,N-1,现将其分段,每段长度为M,段与段之间的重叠为M-K,第i 个数据段经加窗后可表示为 1,...,1,0 )()()(-=+=M i iK n x n a n x i M 其中K 为一整数,L 为分段数,该数据段的周期图为 2)(1)(^w X MU w P i M i per =,其中∑-=-=1 0)()(M n j w n i M i M e n x w X 。由此得到平均周期图为 ∑-==10 ^_ )(1)(L i i per w P L w P 。其中归一化U 取∑-== 10 2 )(1M n n a M U 。 4)。Burg 法: 在约束条件下,使得)(2 1^^^ b f ρρρ+=极小化,其中,约束条件是它所得到的 各阶模型解要求满足Levison 递归关系。 仿真结果: 1.周期图法

功率谱估计方法的比较

功率谱估计方法的比较 摘要: 本文归纳了信号处理中关键的一种分析方法, 即谱估计方法。概述了频谱估计中的周期图法、修正的协方差法和伯格递推法的原理,并且对此三种方法通过仿真做出了对比。 关键词:功率谱估计;AR 模型;参数 引言: 谱估计是指用已观测到的一定数量的样本数据估计一个平稳随机信号的谱。由于谱中包含了信号的很多频率信息,所以分析谱、对谱进行估计是信号处理的重要容。谱估计技术发展 渊源很长,它的应用领域十分广泛,遍及雷达、声纳、通信、地质勘探、天文、生物医学工程等众多领域,其容、方法都在不断更新,是一个具有强大生命力的研究领域。谱估计的理论和方法是伴随着随机信号统计量及其谱的发展而发展起来的,最早的谱估计方法是建 立在基于二阶统计量, 即自相关函数的功率谱估计的方法上。功率谱估计的方法经历了经典谱估计法和现代谱估计法两个研究历程,在过去及现在相当长一段时间里,功率谱估计一直占据着谱估计理论里的核心位置。经典谱估计也成为线性谱估计,包括BT 法、周期图法。现代谱估计法也称为非线性普估计,包括自相关法、修正的协方差法、伯格(Burg )递推法、特征分解法等等。 原理: 经典谱估计方法计算简单,其主要特点是谱估计与任何模型参数无关,是一类非参数化的方法。它的主要问题是:由于假定信号的自相关函数在数据的观测区间以外等于零,因此估计出来的功率谱很难与信号的真实功率谱相匹配。在一般情况下,经典法的渐进性能无法给出实际功率谱的一个满意的近似,因而是一种低分辨率的谱估计方法。现代谱估计方法使用参数化的模型,他们统称为参数化功率谱估计,由于这类方法能够给出比经典法高得多的频率分辨率,故又称为高分辨率方法。下面分别介绍周期图法、修正的协方差法和伯格递推法。修正的协方差法和伯格递推法采用的模型均为AR 模型。 (1)周期图法 周期图法是先估计自相关函数, 然后进行傅里叶变换得到功率谱。假设随机信号x(n)只观测到一段样本数据,n=0, 1, 2, …, N-1。根据这一段样本数据估计自相关函数,如公式(1) 对(1)式进行傅里叶变换得到(2)式。 ∑--=+=1||0 *) ()(1 )(?m N n xx m n x n x N m r

经典功率谱估计方法实现问题的研究

1 随机信号的经典谱估计方法 估计功率谱密度的平滑周期图是一种计算简单的经典方法。它的主要特点是与任 何模型参数无关,是一类非参数化方法[4]。它的主要问题是:由于假定信号的自相关函数在数据观测区以外等于零,因此估计出来的功率谱很难与信号的真实功率谱相匹配。在一般情况下,周期图的渐进性能无法给出实际功率谱的一个满意的近似,因而是一种低分辨率的谱估计方法。本章主要介绍了周期图法、相关法谱估计(BT )、巴特利特(Bartlett)平均周期图的方法和Welch 法这四种方法。 2.1 周期图法 周期图法又称直接法。它是从随机信号x(n)中截取N 长的一段,把它视为能量有限x(n)真实功率谱)(jw x e S 的估计)(jw x e S 的抽样. 周期图这一概念早在1899年就提出了,但由于点数N一般比较大,该方法的计算量过大而在当时无法使用。只是1965年FFT 出现后,此法才变成谱估计的一个常用方法。周期图法[5]包含了下列两条假设: 1.认为随机序列是广义平稳且各态遍历的,可以用其一个样本x(n)中的一段 )(n x N 来估计该随机序列的功率谱。这当然必然带来误差。 2.由于对)(n x N 采用DFT ,就默认)(n x N 在时域是周期的,以及)(k x N 在频域是周期的。这种方法把随机序列样本x(n)看成是截得一段)(n x N 的周期延拓,这也就是周期图法这个名字的来历。与相关法相比,相关法在求相关函数)(m R x 时将 )(n x N 以外是数据全都看成零,因此相关法认为除)(n x N 外 x(n)是全零序列,这种处 理方法显然与周期图法不一样。 但是,当相关法被引入基于FFT 的快速相关后,相关法和周期图法开始融合。通过比较我们发现:如果相关法中M=N ,不加延迟窗,那么就和补充(N-1)个零的周期图法一样了。简单地可以这样说:周期图法是M=N 时相关法的特例。因此相关法和周期图法可结合使用。 2.2 相关法谱估计(BT )法

MATLAB仿真实现经典谱估计(采用周期图法)

数字信号处理 课程实验报告 实验指导教师:黄启宏 实验名称 MATLAB 仿真实现经典谱估计(采用周期图法) 专业、班级 电子与通信工程 姓 名 张帅 实验地点 仿古楼301 实验日期 2013.11.17 一、实验内容 采用周期图法(直接法)实现经典谱估计。 二、实验目的 (1)掌握周期图法(直接法)估计出功率谱的步骤和方法; (2)在实验的过程中找到影响经典谱估计的因素; (3)了解周期图法(直接法)估计功率谱的缺陷。 三、实验原理 把随机信号()x n 的N 点观察数据()N x n 视为一能量有限信号,直接取得()N x n 傅里叶变换,得()jw N x e ,然后再取其幅值的平方,并除以N ,作为对()x n 真实的功率谱()jw P e 的估计。即为: ^ 21()|()|PER N P X N ωω= ^ 21()|()|PER N P k X k N = 四、涉及实验的相关情况介绍(包含使用软件或实验设备等情况) 一台安装MATLAB 软件的电脑

五、实验记录 程序、相关的图形、相关数据记录及分析)( %采用直接法(周期图法)估计功率谱; clear Fs = 1000;%采样频率 n = 0:1 /Fs: .3;%产生含有噪声的序列 xn = cos(200*pi*n)+0.1*randn(size(n)); subplot(311);%输出随机信号xn; plot(n,xn);xlabel('时间');ylabel('幅度');title('输入信号x(n)'); axis([0 0.3 -2 2]); grid on; window = boxcar( length( xn) ) ;%矩形窗 nfft = 512; [Pxx f]= periodogram( xn,window,nfft,Fs) ;%直接法 subplot(312) plot( f,10* log10( Pxx) ) ; title('直接法经典谱估计,512点'); xlabel('频率(Hz)'); ylabel('功率谱密度'); grid on; window = boxcar( length( xn) ); nfft = 1024;

功率谱估计

功率谱估计及其MATLAB仿真 詹红艳 (201121070630控制理论与控制工程) 摘要:从介绍功率谱的估计原理入手分析了经典谱估计和现代谱估计两类估计方法的原理、各自特点及在Matlab中的实现方法。 关键词:功率谱估计;周期图法;AR参数法;Matlab Power Spectrum Density Estimation and the simulation in Matlab Zhan Hongyan (201121070630Control theory and control engineering) Abstract:Mainly introduces the principles of classical PSD estimation and modern PSD estimation,discusses the characteristics of the methods of realization in Matlab.Moreover,It gives an example of each part in realization using Matlab functions. Keywords:PSDPstimation,Periodogram method,AR Parameter method,Matlab 1引言 现代信号分析中,对于常见的具有各态历经的平稳随机信号,不可能用清楚的数学关系式来描述,但可以利用给定的N个样本数据估计一个平稳随机信号的功率谱密度叫做功率谱估计(PSD)。它是数字信号处理的重要研究内容之一。功率谱估计可以分为经典功率谱估计(非参数估计)和现代功率谱估计(参数估计)。 功率谱估计在实际工程中有重要应用价值,如在语音信号识别、雷达杂波分析、波达方向估计、地震勘探信号处理、水声信号处理、系统辨识中非线性系统识别、物理光学中透镜干涉、流体力学的内波分析、太阳黑子活动周期研究等许多领域,发挥了重要作用。 Matlab是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件,人称矩 阵实验室,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,成为目前极为流行的工程数学分析软件。也为数字信号处理进行理论学习、工程设计分析提供了相当便捷的途径。本文的仿真实验中,全部在Matlab6.5环境下调试通过;随机序列由频率不同的正弦信号加高斯白噪声组成。 2经典功率谱估计 经典功率谱估计是将数据工作区外的未知数据假设为零,相当于数据加窗。经典功率谱估计方法分为:相关函数法(BT法)、周期图法以及两种改进的周期图估计法即平均周期图法和平滑平均周期图法,其中周期图法应用较多,具有代表性。 1.1相关函数法(BT法) 该方法先由序列x(n)估计出自相关函数R(n),然后对R(n)进行傅立叶变换,便得到x(n)的功率谱估计。当延迟与数据长度相比很小时,可以有良好的估计精度。 Matlab代码示例1: Fs=500;%采样频率 n=0:1/Fs:1;

功率谱和功率谱密度的区别

谱让人联想到的Fourier变换,是一个时间平均(time average)概念,对能量就是能量谱,对功率就是功率谱。 功率谱的概念是针对功率有限信号的,所表现的是单位频带内信号功率随频率的变化情况。保留了频谱的幅度信息,但是丢掉了相位信息,所以频谱不同的信号其功率谱是可能相同的。 有两点需要注意: 1. 功率谱是随机过程的统计平均概念,平稳随机过程的功率谱是一个确定函数;而频谱是随机过程样本的Fourier变换,对于一个随机过程而言,频谱也是一个“随机过程”。(随机的频域序列) 2. 功率概念和幅度概念的差别。此外,只能对宽平稳的各态历经的二阶矩过程谈功率谱,其存在性取决于二阶矩是否存在并且二阶矩的Fourier变换收敛;而频谱的存在性仅仅取决于该随机过程的该样本的Fourier变换是否收敛。 频谱分析: 对动态信号在频率域内进行分析,分析的结果是以频率为坐标的各种物理量的谱线和曲线,可得到各种幅值以频率为变量的频谱函数F(ω)。频谱分析中可求得幅值谱、相位谱、功率谱和各种谱密度等等。频谱分析过程较为复杂,它是以傅里叶级数和傅里叶积分为基础的。 功率谱密度: 功率谱密度(PSD),它定义了信号或者时间序列的功率如何随频率分布。这里功率可能是实际物理上的功率,或者更经常便于表示抽象的信号被定义为信号数值的平方,也就是当信号的负载为1欧姆(ohm)时的实际功率。

由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。维纳-辛钦定理(Wiener-Khinchin theorem)提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。 信号的功率谱密度当且仅当信号是广义的平稳过程的时候才存在。如果信号不是平稳过程,那么自相关函数一定是两个变量的函数,这样就不存在功率谱密度,但是可以使用类似的技术估计时变谱密度。 随机信号是时域无限信号,不具备可积分条件,因此不能直接进行傅氏变换。一般用具有统计特性的功率谱来作为谱分析的依据。 功率谱与自相关函数是一个傅氏变换对。 功率谱具有单位频率的平均功率量纲。所以标准叫法是功率谱密度。从名字分解来看就是说,观察对象是功率,观察域是谱域。 通过功率谱密度函数,可以看出随机信号的能量随着频率的分布情况。像白噪声就是平行于一条直线。 一般我们讲的功率谱密度都是针对平稳随机过程的,由于平稳随机过程的样本函数一般不是绝对可积的,因此不能直接对它进行傅立叶分析。可以有三种办法来重新定义谱密度,来克服上述困难。 1. 用相关函数的傅立叶变换来定义谱密度; 2. 用随机过程的有限时间傅立叶变换来定义谱密度; 3. 用平稳随机过程的谱分解来定义谱密度。 三种定义方式对应于不同的用处,首先第一种方式前提是平稳随机过程不包含周

利用经典谱估计法估计信号的功率谱(随机信号)

随机信号 利用经典谱估计法估计信号的功率谱

作业综述: 给出一段信号“asd.wav”,利用经典谱估计法的原理,通过不同的谱估计方法,求出信号的功率谱密度函数。采用MATLAB语言,利用MATLAB语言强大的数据处理和数据可视化能力,通过GUI的对话框模板,使操作更为简便!在一个GUI界面中,同时呈现出不同方法产生出的功率谱。 这里给出了几种不同的方法:BT法,周期图法,平均法以及Welch法。把几种不同方法所得到的功率谱都呈现在一个界面中,便于对几种不同方法得到的功率谱作对比。 一.题目要求 给出一段信号及采样率,利用经典谱估计法估计出信号的功率谱。 二.基本原理及方法 经典谱估计的方法,实质上依赖于传统的傅里叶变换法。它是将数据工作区外的未知数据假设为零,相当于数据加窗,主要方法有BT法,周期图法,平均法以及Welch法。 1. BT法(Blackman-Tukey) ●理论基础: (1)随机序列的维纳-辛钦定理 由于随机序列{X(n)}的自相关函数Rx(m)=E[X(n)X(n+m)]定义在离散点m上,设取样间隔为,则可将随机序列的自相关函数用连续时间函数表示为 等式两边取傅里叶变换,则随机序列的功率谱密度 (2)谱估计 BT法是先估计自相关函数Rx(m)(|m|=0,1,2…,N-1),然后再经过离散傅里叶变换求的功率谱密度的估值。即 其中可有式得到。 2. 周期图法 ●理论基础: 周期图法是根据各态历经随机过程功率谱的定义来进行谱估计的。在前面我们已知,各态历经的连续随机过程的功率谱密度满足

式中 是连续随机过程第i 个样本的截取函数 的频谱。对应在随机序列中则有 由于随机序列中观测数据 仅在 的点上存在,则 的N 点离散傅里叶变换为: 因此有随机信号的观测数据 的功率谱估计值(称“周期图”)如下: 由于上式中的离散傅里叶变换可以用快速傅里叶变换计算,因此就可以估计出功率 谱。 3.平均法: 理论基础: 平均法可视为周期图法的改进。周期图经过平均后会使它的方差减少,达到一致估计的目的,有一个定理:如果 , , , 是不相关的随机变量,且都有个均值 及其方差 ,则可以证明它们的算术平均的均值为 ,方差为 。 由定理可见:具有 个独立同分布随机变量平均的方差,是单个随机变量方差的 , 当 时,方差 ,可以达到一致估计的目的。因此,将 个独立的估计量经过算术 平均后得到的估计量的方差也是原估计量方差的 。 平均图法即是将数据 , , 分段求周期图法后再平均。例如,给定N=1000个数据样本(平均法适用于数据量大的场合),则可以将它分成10个长度为100的小段,分别计算每一段的周期图 ()()2 1001100,100(1) 1 ,1,2,```,10100 l j l n l G w X e l ω-=-= =∑ 然后将这10个周期图加以平均得谱估计值: ()() 10 100100,1 110l l G w G w ==∑ 由于这10小段的周期图取决于同一个过程,因而其均值相同。若这10个小段的周期图是统计独立的,则这10个小段平均之后的方差却是单段方差的 。

(完整版)功率谱估计性能分析及Matlab仿真

功率谱估计性能分析及Matlab 仿真 1 引言 随机信号在时域上是无限长的,在测量样本上也是无穷多的,因此随机信号的能量是无限的,应该用功率信号来描述。然而,功率信号不满足傅里叶变换的狄里克雷绝对可积的条件,因此严格意义上随机信号的傅里叶变换是不存在的。因此,要实现随机信号的频域分析,不能简单从频谱的概念出发进行研究,而是功率谱[1]。 信号的功率谱密度描述随机信号的功率在频域随频率的分布。利用给定的 N 个样本数据估计一个平稳随机信号的功率谱密度叫做谱估计。谱估计方法分为两大类:经典谱估计和现代谱估计。经典功率谱估计如周期图法、自相关法等,其主要缺陷是描述功率谱波动的数字特征方差性能较差,频率分辨率低。方差性能差的原因是无法获得按功率谱密度定义中求均值和求极限的运算[2]。分辨率低的原因是在周期图法中,假定延迟窗以外的自相关函数全为0。这是不符合实际情况的,因而产生了较差的频率分辨率。而现代谱估计的目标都是旨在改善谱估计的分辨率,如自相关法和Burg 法等。 2 经典功率谱估计 经典功率谱估计是截取较长的数据链中的一段作为工作区,而工作区之外的数据假设为0,这样就相当将数据加一窗函数,根据截取的N 个样本数据估计出其功率谱[1]。 周期图法( Periodogram ) Schuster 首先提出周期图法。周期图法是根据各态历经的随机过程功率谱的定义进行的谱估计。 取平稳随机信号()x n 的有限个观察值(0),(1),...,(1)x x x n -,求出其傅里叶变换 1 ()()N j j n N n X e x n e ω ω---==∑ 然后进行谱估计

功率谱图应用

1.基本方法 周期图法是直接将信号的采样数据x(n)进行Fourier变换求取功率谱密度估计的方法。假定有限长随机信号序列为x(n)。它的Fourier变换和功率谱密度估计存在下面的关系: 式中,N为随机信号序列x(n)的长度。在离散的频率点f=kΔf,有: 其中,FFT[x(n)]为对序列x(n)的Fourier变换,由于FFT[x(n)]的周期为N,求得的功率谱估计以N为周期,因此这种方法称为周期图法。下面用例子说明如何采用这种方法进行功率谱 用有限长样本序列的Fourier变换来表示随机序列的功率谱,只是一种估计或近似,不可避免存在误差。为了减少误差,使功率谱估计更加平滑,可采用分段平均周期图法(Bartlett法)、加窗平均周期图法(Welch 法)等方法加以改进。 2. 分段平均周期图法(Bartlett法) 将信号序列x(n),n=0,1,…,N-1,分成互不重叠的P个小段,每小段由m个采样值,则P*m=N。对每个小段信号序列进行功率谱估计,然后再取平均作为整个序列x(n)的功率谱估计。 平均周期图法还可以对信号x(n)进行重叠分段,如按2:1重叠分段,即前一段信号和后一段信号有一半是重叠的。对每一小段信号序列进行功率谱估计,然后再取平均值作为整个序列x(n)的功率谱估计。这两种方法都称为平均周期图法,一般后者比前者好。程序运行结果为图9-5,上图采用不重叠分段法的功率谱估计,下图为2:1重叠分段的功率谱估计,可见后者估计曲线较为平滑。与上例比较,平均周期图法功率谱估计具有明显效果(涨落曲线靠近0dB)。 3.加窗平均周期图法 加窗平均周期图法是对分段平均周期图法的改进。在信号序列x(n)分段后,用非矩形窗口对每一小段信号序列进行预处理,再采用前述分段平均周期图法进行整个信号序列x(n)的功率谱估计。由窗函数的基本知识(第7章)可知,采用合适的非矩形窗口对信号进行处理可减小“频谱泄露”,同时可增加频峰的宽度,从而提高频谱分辨率。 其中上图采用无重叠数据分段的加窗平均周期图法进行功率谱估计,而下图采用重叠数据分段的加窗平均周期图法进行功率谱估计,显然后者是更佳的,信号谱峰加宽,而噪声谱均在0dB附近,更为平坦(注意采用无重叠数据分段噪声的最大的下降分贝数大于5dB,而重叠数据分段周期图法噪声的最大下降分贝数小于5dB)。 4. Welch法估计及其MATLAB函数 Welch功率谱密度就是用改进的平均周期图法来求取随机信号的功率谱密度估计的。Welch 法采用信号重叠分段、加窗函数和FFT算法等计算一个信号序列的自功率谱估计(PSD如上例中的下半部分的求法)和两个信号序列的互功率谱估计(CSD)。 MATLAB信号处理工具箱函数提供了专门的函数PSD和CSD自动实现Welch法估计,而不需要自己编程。 (1)函数psd利用Welch法估计一个信号自功率谱密度,函数调用格式为: [Pxx[,f]]=psd(x[,Nfft,Fs,window,Noverlap,’dflag’]) 式中,x为信号序列;Nfft为采用的FFT长度。这一值决定了功率谱估计速度,当Nfft采用2的幂时,程序采用快速算法;Fs为采样频率;Window定义窗函数和x分段序列的长度。窗函数长度必须小于或等于Nfft,否则会给出错误信息;Noverlap为分段序列重叠的采样

滤波与功率谱估计

清华大学 《数字信号处理》期末作业 2013 年 1 月

第一题掌握去噪的方法 1.1 题目描述 MATLAB 中的数据文件noisdopp 含有噪声,该数据的抽样频率未知。调出该数据,用你学过的滤波方法和奇异值分解的方法对其去噪。要求:1.尽可能多地去除噪声,而又不损害原信号; 2.给出你去噪的原理与方法;给出说明去噪效果的方法或指标; 3.形成报告时应包含上述内容及必要的图形,并附上原程序。 1.2 信号特性分析 MATLAB所给noisdopp信号极其频域特征如图1.1、图1.2。 图1.1含有噪声的noisdopp信号

图1.2 noisdopp 信号频域特性 其中横坐标f 采用归一化频率,即未知抽样频率Fs 对应2(与滤波器设计时参数一致)。信号基本特性是一个幅值和频率逐渐增加的正弦信号叠加噪声,噪声为均匀的近似白噪声,没有周期等特点。 因为噪声信号能量在全频带均匀分布,滤波器截止频率过低则信号损失大,过高则噪声抑制小,认为频谱中含有毛刺较多的部分即为信噪比较小的部分,滤除这部分可以达到较好的滤波效果。 先给定去噪效果的评定指标。信号开始阶段频率较高(如图1.3,红圈为信号值),一周期内采样点4~5个,即信号归一化频率达到0.4~0.5(Fs=2),难以从频域将这部分信号同噪声分离,滤波后信号损失较大,故对前128点用信噪比考察其滤波效果,定义: 2 2 () 10lg (()())k k x k SNR y k x k =-∑∑ 其中,()x k 为原nosidopp 信号,()y k 为滤波后信号。SNR 越大表示滤除部分能力越小,可以反映滤波后信号对原信号的跟踪能力,对前128点主要考察SNR ,越大滤波器性能越好。

功率谱估计介绍(介绍了matlab函数)

功率谱估计介绍 谱估计在现代信号处理中是一个很重要的课题,涉及的问题很多。在这里,结合matlab,我做一个粗略介绍。功率谱估计可以分为经典谱估计方法与现代谱估计方法。经典谱估计中最简单的就是周期图法,又分为直接法与间接法。直接法先取N点数据的傅里叶变换(即频谱),然后取频谱与其共轭的乘积,就得到功率谱的估计;间接法先计算N点样本数据的自相关函数,然后取自相关函数的傅里叶变换,即得到功率谱的估计.都可以编程实现,很简单。在matlab中,周期图法可以用函数periodogram实现。 周期图法估计出的功率谱不够精细,分辨率比较低。因此需要对周期图法进行修正,可以将信号序列x(n)分为n个不相重叠的小段,分别用周期图法进行谱估计,然后将这n段数据估计的结果的平均值作为整段数据功率谱估计的结果。还可以将信号序列x(n)重叠分段,分别计算功率谱,再计算平均值作为整段数据的功率谱估计。 种称为分段平均周期图法,一般后者比前者效果好。加窗平均周期图法是对分段平均周期图法的改进,即在数据分段后,对每段数据加一个非矩形窗进行预处理,然后在按分段平均周期图法估计功率谱。相对于分段平均周期图法,加窗平均周期图法可以减小频率泄漏,增加频峰的宽度。welch法就是利用改进的平均周期图法估计估计随机信号的功率谱,它采用信号分段重叠,加窗,FFT 等技术来计算功率谱。与周期图法比较,welch法可以改善估计谱曲线的光滑性,大大提高谱估计的分辨率。matlab中,welch法用函数psd实现。调用格式如下: [Pxx,F] = PSD(X,NFFT,Fs,WINDOW,NOVERLAP) X:输入样本数据 NFFT:FFT点数 Fs:采样率 WINDOW:窗类型 NOVERLAP,重叠长度 现代谱估计主要针对经典谱估计分辨率低和方差性不好提出的,可以极大的提高估计的分辨率和平滑性。可以分为参数模型谱估计和非参数模型谱估计。参数模型谱估计有AR模型,MA模型,ARMA模型等;非参数模型谱估计有最小方差法和MUSIC法等。由于涉及的问题太多,这里不再详述,可以参考有关资料。matlab中,现代谱估计的很多方法都可以实现。music方法用pmusic命令实现;pburg函数利用burg法实现功率谱估计;pyulear函数利用yule-walker算法实现功率谱估计等等。 另外,sptool工具箱也具有功率谱估计的功能。窗口化的操作界面很方便,而且有多种方法可以选择 在海杂波抑制的研究中,对海杂波谱分析一定要用到谱估计理论,一定得花时间学好!

功率谱估计浅谈汇总

功率谱估计浅谈 摘要:介绍了几种常用的经典功率谱估计与现代功率谱估计的方法原理,并利用Matlab对随机信号进行功率谱估计,对两种方法做出比较,分别给出其优缺点。关键词:功率谱;功率谱估计;经典功率谱估计;现代功率谱估计 前言 功率谱估计是从频率分析随机信号的一种方法,一般分成两大类:一类是经典谱估计;另一类是现代谱估计。由于经典谱估计中将数据工作区以外的未知数据假设为零,这相当于数据加窗,导致分辨率降低和谱估计不稳定。现代谱估计则不再简单地将观察区外的未知数据假设为零,而是先将信号的观测数据估计模型参数,按照求模型输出功率的方法估计信号功率谱,回避了数据观测区以外的数据假设问题。 周期图、自相关法及其改进方法(Welch)为经典(非参数)谱估计方法, 其以相关和傅里叶变换为基础,对于长数据记录较适用,但无法根本解决频率分辨率低和谱估计稳定性的问题,特别是在数据记录很短的情况下,这一问题尤其突出。以随机过程的参数模型为基础的现代参数法功率谱估计具有更高的频率分辨率和更好的适应性,可实现信号检测或信噪分离,对语音、声纳雷达、电磁波及地震波等信号处理具有重要意义,并广泛应用于通信、自动控制、地球物理等领域。在现代参数法功率谱估计方法中,比较有效且实用的是AR模型法,Burg谱估计法,现代谱估计避免了计算相关,对短数据具有更强的适应性,从而弥补了经典谱估计法的不足,但其也有一些自身的缺陷。 下面就给出这两类谱估计的简单原理介绍与方法实现。 经典谱估计法 经典法是基于传统的傅里叶变换。本文主要介绍一种方法:周期图法。 周期图法 由于对信号做功率谱估计,需要用计算机实现,如果是连续信号,则需要变换为离散信号。下面讨论离散随机信号序列的功率谱问题。 连续时间随机信号的功率谱密度与自相关函数是一对傅里叶变换对,即:

经典功率谱估计

Classical Power Spectrum Estimation Abstract With the increasing need of spectrum, various computational methods and algorithms have been proposed in the literature. Keeping these views and facts of spectrum shaping capability by FRFT based windows we have proposed a closed form solution for Bartlett window in fractional domain. This may be useful for analysis of different upcoming generations of mobile communication in a better way which are based on OFDM technique. Moreover, it is useful for real-time processing of non-stationary signals. As per our best knowledge the closed form solution mentioned in this paper have not been reported in the literature till date.This paper focuses on classical period spectral estimation and moderu spectral estimation based on Burg algorithm. By comparing various algorithms in computational complexity and resolution, Burg algorithm was used to signal processing finally. Experimental and simulation results indicated that digital signal processing system would meet system requirements for measurement accuracy. Keywords periodogram spectral estimation ; Burg algorithm I. INTRODUCTION When we expand the frequency response of any digital filter by means of Fourier series, we get impulse response of the digital filter in the form of coefficients of the Fourier series. But the resultant filter is unrealizable and also its impulse response in infinite in duration. If we directly truncate this series to a finite number of points we have to face with well known Gibbs phenomenon, so we modify the Fourier coefficients by

功率谱

A.信号与谱的分类 注:功率谱计算的方法之一是由FFT后的谱线平方来得到。 由于时域信号有不同的分类, 变换后对应的频域也有不同的谱 信号可分为模拟(连续)信号和数字(离散)信号, 连续信号变换后称为谱密度, 离散信号变换 后称为谱. 连续信号又可分为绝对可积,平方可积(能量有限),均方可积(功率有限) 绝对可积信号有傅里叶谱(线性谱)和傅里叶谱密度(线性谱密度),如时域信号单位为电压V, 则前者单位为V,后者单位为V/Hz. 均方可积信号有功率谱PS(单位为V2)和功率谱密度PSD(单位为V2/ Hz.). 平方可积信号有能量谱密度ESD(单位为V2 s / Hz.). 注1平方量称为功率,平方量乘秒称为能量,谱分量除以频率称为谱密度. 注2功率谱密度另一定义(离散信号的功率谱密度)见下述, 连续信号的功率谱密度. 为连续(光滑)曲线, 离散信号的功率谱密度为不连续的阶梯形.. 注3随机信号求功率谱密度时为减少方差,可采用平均,重叠和加窗处理(Welch法). 数字信号又可分为绝对可和,平方可和,均方可和.

B.各种谱计算 1. 线性谱Linear Spectrum:对时域离散信号作DFT(离散傅里叶变换)得到, 采用方法为FFT(快速傅里叶变换)法.X(f)=FFT(x(t)) 2. 自功率谱APS=Auto Power Spectrum:离散信号的线性谱乘其共轭线性谱APS(f)=X(f)*conj(X(f)), conj=conjugate共轭(实部不变,虚部变符号). 3. 互功率谱CPS=Cross Power Spectrum::x(t)的线性谱乘y(t)的共轭线性谱互功率谱是复数,可表示为幅值和相位或实部和虚部等. CPS(f)=X(f) *conj(Y(f)) Y(f)=FFT(y(t)) 4. (自)功率谱密度PSD(=Power Spectrum Density):

功率谱估计MATLAB实现

功率谱估计性能分析及其MATLAB实现 一、经典功率谱估计分类简介 1.间接法 根据维纳-辛钦定理,1958年Blackman和Turkey给出了这一方法的具体实现,即先由N个观察值,估计出自相关函数,求自相关函数傅里叶变换,以此变换结果作为对功率谱的估计。 2.直接法 直接法功率谱估计是间接法功率谱估计的一个特例,又称为周期图法,它是把随机信号的N 个观察值直接进行傅里叶变换,得到,然后取其幅值的平方,再除以N,作为对功率谱的估计。 3.改进的周期图法 将N点的观察值分成L个数据段,每段的数据为M,然后计算L个数据段的周期图的平均 ,作为功率谱的估计,以此来改善用N点观察数据直接计算的周期图的方差特性。根据分段方法的不同,又可以分为Welch法和Bartlett法。 Welch法 所分的数据段可以互相重叠,选用的数据窗可以是任意窗。 Bartlett法 所分的数据段互不重叠,选用的数据窗是矩形窗。

二、经典功率谱估计的性能比较 1.仿真结果 为了比较经典功率谱估计的性能,本文采用的信号是高斯白噪声加两个正弦信号,采样率Fs=1000Hz,两个正弦信号的频率分别为f1=200Hz,f2=210Hz。所用数据长度N=400. 仿真结果如下: Figure1(a)示出了待估计信号的时域波形;

Figure2(b)示出了用该数据段直接求出的周期图,所用的数据窗为矩形窗; Figure2(c)是用BT法(间接法)求出的功率谱曲线,对自相关函数用的平滑窗为矩形窗,长度M=128,数据没有加窗; Figure2(d)是用BT法(间接法)求出的功率谱曲线,对自相关函数用的平滑窗为Hamming 窗,长度M=64,数据没有加窗; Figure2(e)是用Welch平均法求出的功率谱曲线,每段数据的长度为64点,重叠32点,使用的Hamming窗; Figure2(f)是用Welch平均法求出的功率谱曲线,每段数据的长度为100点,重叠48点,使用的Hamming窗; 2.性能比较 1)直接法得到的功率谱分辨率最高,但是方差性能最差,功率谱起伏剧烈,容易出现 虚假谱峰; 2)间接法由于使用了平滑窗对直接法估计的功率谱进行了平滑,因此方差性能比直接 法好,功率谱比直接法估计的要平滑,但其分辨率比直接法低。 3)Welch平均周期图法是三种经典功率谱估计方法中方差性能最好的,估计的功率谱 也最为平滑,但这是以分辨率的下降及偏差的增大为代价的。 3.关于经典功率谱估计的总结 1)功率谱估计,不论是直接法还是间接法都可以用FFT快速计算,且物理概念明确,因而 仍是目前较常用的谱估计方法。 2)谱的分辨率较低,它正比于2π/N,N是所使用的数据长度。 3)方差性能不好,不是真实功率谱的一致估计,且N增大时,功率谱起伏加剧。 4)周期图的平滑和平均是和窗函数的使用紧密关联的,平滑和平均主要是用来改善周期图 的方差性能,但往往又减小了分辨率和增加了偏差,没有一个窗函数能使估计的功率谱在方差、偏差和分辨率各个方面都得到改善,因此使用窗函数只是改进估计质量的一个技巧问题,并不能从根本上解决问题。 三、AR模型功率谱估计 1.A R模型功率谱估计简介 AR模型功率谱估计是现代谱估计中最常用的一种方法,这是因为AR模型参数的精确估计可以用解一组线性方程(Yule-Walker方程)的方法求得。其核心思想是:将信号看成是一个p 阶AR过程,通过建立Yule-Walker方程求解AR模型的参数,从而得到功率谱的估计。 由于已知的仅仅是长度有限的观测数据,因此AR模型参数的求得,通常是首先通过某种算法求得自相关函数的估计值,进而求得AR模型参数的估计值。常用的几种AR模型参数提取方法有: 1)自相关法 假定观测数据区间之外的数据为0,在均方误差意义下使得数据的前向预测误差最小。

现代信号处理经典的功率谱估计

《现代信号处理》 姓名:李建强 学号:201512172087 专业:电子科学与技术 作业内容:在MATLAB平台上对一个特定的平稳随机信号进行经典功率谱估计和现代功率谱估计的比较 一、前言 功率谱估计是信息学科中的研究热点,在过去的30多年里取得了飞速的发展。在许多工程应用中,它能给出被分析对象的能量随频率的分布情况。平滑周期图是一种计算简单的经典方法,它的主要特点是与任何模型参数无关,但估计出来的功率谱很难与信号的真是功率谱相匹配。与周期图方法不同,现代谱估计主要是针对经典谱估计(周期图和自相关法)的分辨率低和方差性能不好的问题而提出的。其使用参数化的模型,能够给出比周期图方法高得多的频率分辨率。其内容极其丰富,涉及的学科和领域也相当广泛,按是否有参数大致可分为参数模型估计和非参数模型估计,前者有AR模型、MA模型、ARMA模型、PRONY指数模型等;后者有最小方差方法、多分量的MUSIC方法等。 二、总体概述 本次实验分别使用经典的功率谱估计(如周期图法)与AR模型法对某一特定的平稳随机信号进行其功率谱估计,由图像得到信号的频率。利用MATLAB平台,直观形象地观察并比较二者估计效果的区别,以便于加深对功率谱估计的理解和掌握。 三、具体的实现步骤 1、经典法功率谱估计 周期图法又称直接法,它是从随机信号x(n)中截取N长的一段,把它视为能量有限的

真实功率谱的估计的一个抽样。 1.1、实现步骤 (1)、模拟系统输出参数x(n)=A*sin(2πf1*n)+B*sin(2πf2*n),包括序列长度N(128或512或1024,加性高斯白噪声(AGWN)功率一定,设置A,B,f1,f2,n的值。 (2)、应用周期图法(不加窗)对信号的功率谱密度进行估计,使用直接法在MATLAB 平台上进行编程实现。 (3)、输出相应波形图,进行观察,记录。 1.2 MATLAB源代码实现 clear all; %清除工作空间所有之前的变量 close all; %关闭之前的所有的figure clc; %清除命令行之前所有的文字 n=1:1:128; %设定采样点n=1-128 f1=0.2; %设定f1频率的值0.2 f2=0.213; %设定f2频率的值0.213 A=1; %取定第一个正弦函数的振幅 B=1; %取定第一个正弦函数的振幅 a=0; %设定相位为0 x1=A*sin(2*pi*f1*n+a)+B*sin(2*pi*f2*n+a); %定义x1函数,不添加高斯白噪声x2=awgn(x1,3); %在x1基础上添加加性高斯白噪声,信噪比为3,定义x2函数temp=0; %定义临时值,并规定初始值为0 temp=fft(x2,128); %对x2做快速傅里叶变换 pw1=abs(temp).^2/128; %对temp做经典功率估计

基于matlab的经典功率谱估计(有源程序)

经典功率谱估计 直接法: 直接法又称周期图法,它是把随机序列x(n)的N个观测数据视为一能量有限的序列,直接计算x(n)的离散傅立叶变换,得X(k),然后再取其幅值的平方,并除以N,作为序列x(n)真实功率谱的估计。 Matlab代码示例: clear; Fs=1000; %采样频率 n=0:1/Fs:1; %产生含有噪声的序列 xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); window=boxcar(length(xn)); %矩形窗 nfft=1024; [Pxx,f]=periodogram(xn,window,nfft,Fs); %直接法 plot(f,10*log10(Pxx)); 间接法: 间接法先由序列x(n)估计出自相关函数R(n),然后对R(n)进行傅立叶变换,便得到x(n)的功率谱估计。 Matlab代码示例: clear; Fs=1000; %采样频率 n=0:1/Fs:1; %产生含有噪声的序列 xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); nfft=1024; cxn=xcorr(xn,'unbiased'); %计算序列的自相关函数 CXk=fft(cxn,nfft); Pxx=abs(CXk); index=0:round(nfft/2-1); k=index*Fs/nfft; plot_Pxx=10*log10(Pxx(index+1)); plot(k,plot_Pxx); 改进的直接法: 对于直接法的功率谱估计,当数据长度N太大时,谱曲线起伏加剧,若N太小,谱的分辨率又不好,因此需要改进。 1. Bartlett法 Bartlett平均周期图的方法是将N点的有限长序列x(n)分段求周期图再平均。 Matlab代码示例: clear; Fs=1000; n=0:1/Fs:1; xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));

相关文档
最新文档