HUNAN UNIVERSITY
课程实验报告
题 目: 线性系统参数估计及随机过程预测
实验四 线性系统参数估计及随机过程预测
一、实验目的
通过本仿真实验了解基于随机过程的线性系统参数的估计方法以及基于线性系统模型的随机过程预测方法;培养计算机编程能力。 二、实验要求
采用MATLAB或VB语言进行编程 (1)
=1
的白色噪声样本序列 [或可参考实验1的正态分布产生方法] {u(n)|n=1,2,…,2000};画出噪声u(n)的波形图 (2) 设离散时间线性系统的差分方程为
x(1)?u(1)x(2)?0.9x(1)?u(2)x(n)?0.9x(n?1)-0.2x(n-2)?u(n) (n?3,4,...,2000)画出x(n)的波形图。
(3) 假设已知线性系统为二阶全极点系统,参数未知,满足
x(n)?ax(n?1)?bx(n-2)?u(n) (n?3,4,...,2000)以x(n)(n=3,4,…,1500)为已知数据,估计系统参数
min?u(n)?min?[x(n)?ax(n?1)?b(n?2)]22a,bn?3a,bn?315001500?15002?x(n?1)?a??n?3?b???1500???x(n?1)x(n?2)???n?31500?x(n?1)x(n?2)??n?3?1500?x2(n?2)??n?3??1?1500?x(n)x(n?1)???n?3??1500????x(n)x(n?2)??n?3?观察a,b与0.9、-0.2的相近性及估计误差
(4) 利用系统参数的估计值以及已获取的数据,采用单步递推预测方法对随机过程x(n)在 区间n
[1501,2500]的值进行预测
y(n)?ax(n?1)?bx(n-2) (n?1501,1502,...,2000)在x(n)的波形图上用不同的颜色画出y(n)的波形图,,观察和比较在[1501,2000]区间上二者的相近性及差异性。 三、程序代码
clc;
%(1)画出噪声u(n)的波形图 a=1;N=2000;
u=normrnd(0,a,1,N);%-------------normrnd为正态分布随机数产生函数 figure(1);%----------------------画出第一个图
stem([1:N],u,'.r');%-------------用红色画出1到N范围内的随机数分布图 grid on;%------------------------画出网格 title('u(n)波形');
%(2)画出x(n)的波形图 x=zeros(1,1998); x(1)=u(1);
x(2)=0.9*x(1)+u(2); for n=3:N
x(n)=0.9*x(n-1)-0.2*x(n-2)+u(n); end
figure(2);
stem([1:N],x,'.r'); grid on;
title('x(n)波形');
%(3)以x(n)(n=3,4,…,1500)为已知数据,估计系统参数 m1=0;m2=0;m3=0;m4=0;n1=0;n2=0;%--赋初值 for n=3:1500
m1=m1+x(n-1)^2;
m2=m2+x(n-1)*x(n-2); m3=m3+x(n-1)*x(n-2);
m4=m4+x(n-2)^2;%-------------第一个矩阵的四个表达式 n1=n1+x(n)*x(n-1);
n2=n2+x(n)*x(n-2);%----------第二个矩阵的两个表达式 end
A=[m1,m2;m3,m4];
A1=inv(A);%----------------------求A的逆矩阵 B=[n1;n2];
C=A1*B;%-------------------------将两个矩阵相乘 a=C(1)
b=C(2)%--------------------------将所求得值赋值给a,b %(4)在x(n)的波形图上用不同的颜色画出y(n)的波形图 y=zeros(1,2000); n=[1501:2000];
y(n)=a*x(n-1)+b*x(n-2); figure(3); stem(x,'.r'); grid on; hold on;
stem(y,'.b');%--------------------在x(n)的波形图上用蓝色画出y(n)的波形图 grid on;
四、实验结果 (1)