基于matlab的谱估计,基于MATLAB的功率谱估计实验.doc

基于MATLAB的功率谱估计实验

一、实验目的

1、进一步熟悉matlab软件的使用;

2、学会运用matlab自带函数实现编程;

3、掌握功率谱估计的方法。

二、实验原理

功率谱:随机信 的功率谱反映的是随机信 的频率成分及各成分的相对强弱。

功率谱估计:基于有限的数据寻找信 、随机过程或系统的频率成分。

两种基本算法:

周期图法:把功率谱和信 幅频特性的平方结合起来。

自相关法: 根据维纳-辛钦定理,先估计相关函数,再经傅立叶变换得功率谱估计。

(1)平均:对同一过程做多次周期图估计再加以平均

将数据N分为K段(一般无重叠),然后对每段数据分别估计其功率 谱,最后求平均值。

(2)平滑:用加窗的办法对单一功率谱估计加以平滑

用于自相关法求功率谱,对自相关估计加窗,然后再求其傅立叶变换。

Welch 法

对长度为N的数据段x(n)分段时,允许每一段有部分的重叠(一般重叠50%)。

每一段数据用一个合适的窗函数进行平滑处理。

求每段数据的DFT,周期图法求各段功率谱估计。

对各段功率谱求平均并归一化处理。

三、使用仪器、材料

计算机

Matlab软件

四、实验步骤

1、生成一个包括三个频率的噪声信 x(n)。

2、周期图法进行功率谱估计。

3、自相关法进行功率谱估计。

4、Welch法进行功率谱估计。

5、对EEG数据求功率谱估计。

五、实验过程原始记录(数据、图表、计算等)

(一)随机信 的功率谱估计

1、周期图法

Fs=1000;

nfft=1024;

n=0:1/Fs:1;

x=sin(2*pi*100*n)+2*sin(2*pi*200*n)+ 3*sin(2*pi*400*n)+randn(size(n));

X=fft(x,nfft);

Pxx= periodogram(x);

t=0:round(nfft/2-1);

f=t*Fs/nfft;

P=10*log10(Pxx(t+1));

plot(f,P)

2、自相关法

Fs=1000;

nfft=1024;

n=0:1/Fs:1;

x=sin(2*pi*100*n)+2*sin(2*pi*200*n)+ 3*sin(2*pi*400*n)+randn(size(n));

X=xcorr(x);

Pxx= fft(X,nfft);

t=0:round(nfft/2-1);

f=t*Fs/nfft;

P=10*log10(Pxx(t+1));

plot(f,P)

3、Welch 法

Fs=1000;

nfft=1024;

n=0:1/Fs:1;

x=sin(2*pi*100*n)+2*sin(2*pi*200*n)+ 3*sin(2*pi*400*n)+randn(size(n));

X=fft(x,nfft);

[Pxx,F] = pwelch(x,33,32,nfft,Fs)

t=0:round(nfft/2-1);

f=t*Fs/nfft;

P=10*log10(Pxx(t+1));

plot(f,P)

(二)对EEG数据求功率谱估计

Fs=1000;

nfft=1024;

n=0:1/Fs:1;

x=fopen(‘ECG’);

[x,cn]=fread(x,8000,’int32′);

x=x’;

x=x(1:2:8000);

X=fft(x,nfft);

Pxx=abs(X).^2/length(n);

t=0:round(nfft/2-1);

f=t*Fs/nfft;

P=10*log10(Pxx(t+1));

plot(f,P)

六、实验结果及分析

从对心电信 进行功率谱得到的结果截图来看,波形随着频率的增大而逐渐下降,心电信 的功率基本集中在低频段,这和心电信 的实际情形相符合。

在各种功率谱估计方法中,周期法和自相关法得到的波形毛刺比较多,而采用Welch法进行功率谱估计,则容易得到波形则比较平滑,便观察以及提高估计精度。

相关资源:Yalefree雅乐简谱打谱软件_打谱软件-WindowsServer工具类资源…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月16日
下一篇 2021年2月16日

相关推荐