测试信号分析与处理作业实验五
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
王锋
实验五:多种功率谱估计的比较
一、实验目的
a.了解功率谱估计在信号分析中的作用;
b.掌握随机信号分析的基础理论,掌握参数模型描述形式下的随机信 号的功率谱的计算方法;
c.掌握在计算机上产生随机信号的方法;
d.了解不同的功率谱估计方法的优缺点。
二、实验准备
有三个信号源,分别代表三种随机信号(序列)。 信号源1:
123()2cos(2)2cos(2)2cos(2)()x n f n f n f n z n πππ=+++
其中,1230.08,=0.38,0.40f f f == z(n)是一个一阶 AR 过程,满足方程: ()(1)(1)()z n a z n e n =--+ (1)0.823321a =-
e(n)是一高斯分布的实白噪声序列,方差20.1σ=
信号源2和信号源3:
都是4阶的AR 过程,它们分别是一个宽带和一个窄带过程,满足方程: ()(1)(1)(2)(2)(3)(3)(4)(4)()x n a x n a x n a x n a x n e n =--------+ e(n)是一高斯分布的实白噪声序列,方差2σ,参数如下:
三、实验内容
a. 描绘出这三个实验信号的真实功率谱波形。
b. 在计算机上分别产生这个三个信号,令所得到的数据长度 N= 256 。
注意:产生信号的时候注意避开起始瞬态点。例如,可以产生长度为512 的信号序列,然后取后面256 个点作为实验数据。
c. 分别用如下的谱估计方法,对三个信号序列进行谱估计。 1、经典谱估计 周期图法 自相关法
平均周期图法(Bartlett 法)
Welch法(可选每段64 点,重叠32 点,用Hamming 窗)2、现代谱估计
Yule - Walker方程(自相关法)
最小二乘法
注:阶次p可在3-20之间,由自己给定。
四、实验结果分析
生成的信号源
进行一次估计时的结果:信号1的经典谱估计:
信号1的现代谱估计:
信号2的现代谱估计:
信号3的现代谱估计:
运行50次求平均的结果:信号1的经典谱估计:
信号1的现代谱估计:
信号2的现代谱估计:
信号3的现代谱估计:
运行1次估计结果分析:
可见现代谱估计的分辨率和光滑性都比较好。而经典谱估计中,周期图法和自相关法的分辨率较好,但是光滑性不好,起伏剧烈。Bartlett法和Welch法光滑性比较好,但是是分辨率降低了很多。
运行50次结果分析:
可以看到运行50次求平均后,周期图法以及自相关法的光滑性都得到了改善,并且没有降低分辨率。这是因为50次求平均对于平稳信号来说相当于进行了数据长度更长的welch 法和平均周期图法,因此在没有牺牲分辨率的情况下,改善了光滑性。
实验还发现,burg算法的结果很不稳定,分辨率有时极差,这可能与随机信号的采样点数太少有关。需要进步一研究。
五、原程序清单
%=======生成信号源1=======
e1=wgn(1,512,0.1);%生成高斯白噪声
a1=-0.823321;
z1(1)=0;
for i=2:512
z1(i)=-a1.*z1(i-1)+e1(i);
end
f1=0.08;f2=0.38;f3=0.40;
for i=1:512
xn11(i)=2.*cos(2.*pi.*f1.*i)+2.*cos(2.*pi.*f2.*i)+2.*cos(2.*pi.*f3.*i)+z1(i);
end
xn1(1:256)=xn11(257:512);%取后半段256点
subplot(3,1,1);
plot(1:256,xn1)
title('信号源1');axis([0 256 -10 10])
%=======生成信号源2=======
e2=wgn(1,512,1);%生成高斯白噪声
a21=-1.300;a22=1.200;a23=-0.600;a24=0.250;
z2(1)=0;z2(2)=0;z2(3)=0;z2(4)=0;
for i=5:512
z2(i)=(-a21).*z2(i-1)+(-a22).*z2(i-2)+(-a23).*z2(i-3)+(-a24).*z2(i-4)+e2(i);
end
xn2(1:256)=z2(257:512);%取后半段256点
subplot(3,1,2);
plot(1:256,xn2)
title('信号源2');axis([0 256 -10 10])
%=======生成信号源3=======
e3=wgn(1,512,1);%生成高斯白噪声
a31=-2.750;a32=3.799;a33=-2.650;a34=0.928;
z3(1)=0;z3(2)=0;z3(3)=0;z3(4)=0;
for i=5:512
z3(i)=(-a31).*z3(i-1)+(-a32).*z3(i-2)+(-a33).*z3(i-3)+(-a34).*z3(i-4)+e3(i);
end
xn3(1:256)=z3(257:512);%取后半段256点
subplot(3,1,3);
plot(1:256,xn3)
title('信号源3');axis([0 256 -100 100])
%====信号1的经典谱估计===
m=50;%实验次数m取1和50
for i=1:m
X11(:,i)=fft(xn1,512);px11(:,i)=1/256*abs(X11(:,i)).^2;%周期图法
Rx12(:,i)=xcorr(xn1);px12(:,i)=1/256*abs(fft(Rx12(:,i)));%自相关法
xnk1(1:64)=xn1(1:64);xnk2(1:64)=xn1(65:128);
xnk3(1:64)=xn1(129:192);xnk4(1:64)=xn1(193:256);
Xnk1(:,i)=fft(xnk1,128);pxnk1(:,i)=1/64*abs(Xnk1(:,i)).^2;Xnk2(:,i)=fft(xnk2,128);pxnk2(:,i)=1/64*a bs(Xnk2(:,i)).^2;
Xnk3(:,i)=fft(xnk3,128);pxnk3(:,i)=1/64*abs(Xnk3(:,i)).^2;Xnk4(:,i)=fft(xnk4,128);pxnk4(:,i)=1/64*a bs(Xnk4(:,i)).^2;
px13(:,i)=1/4.*(pxnk1(:,i)+pxnk2(:,i)+pxnk3(:,i)+pxnk4(:,i));%4段平均周期图法
px14(:,i)=pwelch(xn1,[],64,512);%welch法
end
px111=mean(px11,2);
px112=mean(px12,2);
px113=mean(px13,2);
px114=mean(px14,2);
figure(4)
subplot(4,1,1);plot(1:512,px111);title('信号1-周期图法');axis([0 256 0 300]);
subplot(4,1,2);plot(1:511,px112);title('信号1-自相关法');axis([0 256 0 300]);
subplot(4,1,3);plot(1:length(px113),px113);title('信号1-4段平均周期图法');axis([0 64 0 100]); subplot(4,1,4);plot(1:length(px114),px114);title('信号1-Welch法');axis([0 256 0 40]);
%====信号1的现代谱估计===
for i=1:m
px15(:,i)=pyulear(xn1,15,512);
px16(:,i)=pburg(xn1,15,512);
end
px115=mean(px15,2);
px116=mean(px16,2);
figure(5)
subplot(2,1,1);plot(px115);title('信号1-Yule-Walker自相关法');