视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
离散时间随机过程建模实验报告
2025-09-26 12:18:35 责编:小OO
文档
实验报告

姓名:实验名称:离散时间随机过程建模
学号:课程名称:统计信号处理基础
班级:实验室名称:
组号:实验日期:2012.10.10
一、实验目的、要求

本实验的目的是在了解了Matlab编程语言的编程和调试的基础上,利用Matlab本身自带的函数来验证随机信号建模,并掌握子函数的编写方法。计算机根据理论模型生成随机数,学生需要根据观测的数据编程来计算随机过程的参数。本实验主要是为了让学生在充分理解不同的随机过程建模的理论方法的基础上,用计算机来认识理论和仿真模型之间的差异。

要求包括以下几个部分:

1.要求完成实验的内容所要求的各项功能,编制完整的Matlab程序,并在程序中注释说明各段程序的功能。

2.要填写完整的实验报告,报告应包含程序、图形和结论。要求记录在实验过程中碰到的问题,以及解决的方法和途径。

3.实验报告是现场用Word填写并打印完成。个人或组必须在报告上署名。

二、实验环境

验所要求的设备: 每组包含完整的计算机 1 台;

可共用的打印机1台,A4纸张若干;

 计算机上安装的软件包括:  Matlab 6.5以上(应包含Signal Processing Toolbox, Filter Design Toolbox); Word 2000以上;

三、实验原理

实验内容包括2个,

实验1.本实验主要是采用FIR最小二乘逆滤波器来实现反卷积。假定观测的数据是由信号通过脉冲响应为

    

的滤波器而生成的。如果从中恢复的信号是一组脉冲序列,

    

其中的取值为

254055658595110130140155
10.80.70.50.70.20.90.50.60.3
a. 根据上面的关系,画出观测数据,并看看是否能通过的峰值来确定的幅度和位置。(需要调用conv函数)

程序n=[0:50];

g=cos((n-25)/5).*exp(-(n-25).*(n-25)/100);

g(51:200)=0;

x=zeros(200,1);

x(25)= 1; x(40)=0.8 ; x(55)=0.7 ; x(65)=0.5 ; 

x(85)= 0.7; x(95)=0.2; x(110)=0.9; x(130)=0.5;

 x(140)=0.6; x(155)=0.2; 

y=conv(x,g);

figure(1)

subplot(3,1,1),plot(g);title('滤波器冲击响应');xlabel('n');ylabel('响应幅值');

subplot(3,1,2),plot(x);title('输入序列x');xlabel('n');ylabel('幅值');

subplot(3,1,3),plot(y);title('滤波器输出');xlabel('n');ylabel('幅值');

图形
b. 用教材中给出的spike.m函数来设计长度的最小二乘逆滤波器,并确定最佳的延迟。

程序err1=10;N=50;n1=0;

for n0=0:200;

    [h,err]=spike(g,n0,N);

if err        err1=err;H=h;n1=n0;end

end

figure(2)

plot(H);title('逆滤波器冲击响应');xlabel('n');ylabel('幅值');

图形
最佳延迟为37

c. 用估计的来滤波,并画出滤波器的输出,图中的峰值的位置和幅度是否与中的结果一致。

程序x1=conv(y,H);

n2=[-37:length(x1)-38];

figure(3)

subplot(2,1,1),plot(x);title('输入序列x(n)');xlabel('n');ylabel('幅值');

subplot(2,1,2),plot(n2,x1);axis([0,200,0,1]);title('逆滤波器输出y');xlabel('n');ylabel('幅值');

图形
d. 如果观测数据中还包含噪声,即观测数据为,其中是方差为的高斯白噪声,分别取,重复b和c中的计算分析。评论这时获得的结果。

0.0001时

程序v=0.0001;

y1=y(1:205)+v.*randn(1,205);

x2=conv(y1,H);n3=[-n1:length(x2)-n1-1];

figure(4)

subplot(2,1,1),plot(x);title('输入序列x(n)');xlabel('n');ylabel('幅值');

subplot(2,1,2),plot(n3,x2);axis([0,200,0,5]);title('逆滤波器输出y1');xlabel('n');ylabel('幅值');

图形
0.001时

程序v=0.001;

 y1=y(1:205)+v.*randn(1,205);

x2=conv(y1,H);

n3=[-n1:length(x2)-n1-1];

figure(4)

subplot(2,1,1),plot(x);title('输入序列x(n)');xlabel('n');ylabel('幅值');

subplot(2,1,2),plot(n3,x2);axis([0,200,0,5]);title('逆滤波器输出y1');xlabel('n');ylabel('幅值');

图形
e. 如果的测量也包含噪声,即,而是在间均匀分布的白噪声,重复b和c中的计算分析。评论这时获得的结果。

程序r=0.001/12.*rand(1,length(g));

g1=g+r;

y2=conv(x,g1);

H1=[];err0=1;

for n0=0:200;

    [h,err]=spike(g1,n0,N);

if err        err0=err;H1=h;N0=n0;end

end

figure(5)

plot(H1);title('逆滤波器冲击响应');xlabel('n');ylabel('幅值');

x3=conv(y2,H1);n2=[-37:length(x3)-n1-1];

figure(6)

subplot(2,1,1),plot(x);title('输入序列x(n)');xlabel('n');ylabel('幅值');

subplot(2,1,2),plot(n2,x3);axis([0,200,0,1]);title('逆滤波器输出y2');xlabel('n');ylabel('幅值');

图形

实验2. 本实验是用计算机编程来求解ARMA过程的模型参数。

    a. 根据教材上给出的方法,编写一个给定自相关序列,采用修改的Yule-Walker方程方法来求解模型参数的程序

程序function [be,ae]=arma1(r,p,q)

r1 = r(1,p+2*q+1:end-1);

r2 = r(1,p+2*q+1:-1:2*q+2);

R1 = toeplitz(r1, r2);             

r3 = r(1,p+2*q+2:end)';

ae = [1;-inv(R1)*r3];              

R2 = toeplitz(r(1,p+q+1:2*q+p+1),r(1,p+q+1:-1:q+1));

c = R2*ae;                        

d = conv(c,flipud(ae));           

dc = d(p+2:end,1);                

pd = [flipud(dc); d(p+1,1);dc];    

if q == 0

    rt = [];

be = zp2tf(rt,[],1);     

else

    rt = roots(pd);                    

    be = zp2tf(rt(q+1:end,1),[],1);   

end

图形
b. 让单位方差的高斯白噪声通过下列滤波器

    

得到观测数据的100个样本,画出的理率谱。

程序A=[1,-1.978,2.853,-1.877,0.904];

B=[1,-0.9,0.18];

v=randn(1,100);

x=filter(B,A,v);

p=length(A)-1;q=length(B)-1;

rx=xcorr(x,p+q,'biased');

pw=abs(fft(rx))/100;

figure(1)

plot(pw);title('理率谱');xlabel('n');ylabel('幅值');

图形
c. 用a中编制的程序根据观测数据来求解模型的参数,把计算结果与理论模型的系数相比,有什么结论。重复10次不同的样本实现,并计算10次的模型参数再取平均,与理想的系数相比,平均是否有效果。

程序sa=zeros(5,1);sb=zeros(1,3);

for i=1:10

v=randn(1,100);

x=filter(B,A,v);

rx=xcorr(x,length(A)+length(B)-2,'biased');

[b ,a]=arma1(rx,p,q);

sa=sa+a;sb=sb+b;

end

b1=sb./10

a1=sa./10

err1=sum((b-B).*(b-B))+sum((a-A').*(a-A'))

err10=sum((b1-B).*(b1-B))+sum((a1-A').*(a1-A'))

图形A=   1        -1.978   2.853   -1.877   0.904

B=   1        -0.9       0.18

b =   1.0000   -0.5106    0.3082

a =   1.0000   -1.61  2.7162   -1.7549  0.8683

b1 =  1.0000   -0.98    0.4565

a1 =   1.0000  -2.2047   3.2952   -2.3071   1.1074

平均效果不佳

指导教师评语:

成绩:           指导教师签名:

                                               批阅日期:下载本文

显示全文
专题