系统辨识与仿真实验大报告汇总

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东南大学自动化学院

实验报告

课程名称:系统辨识

实验名称:系统辨识与仿真

院(系):自动化专业:自动化

姓名:学号:

同组人员:实验时间:2013 年月日评定成绩:审阅教师:

实验一:

给定系统G(s)= 4102+++s s s , 1.

用连续系统仿真方法,求零时刻的单位脉冲响应g(k)(采样步长为0.1s ,持续5s ); 2.

用双线性变换求离散传递函数G(z); 3.

编程产生7级逆重复M 序列u ,幅值:±1,仿真时间:0:30.5s ,仿真步长:0.1s ; 4.

以u 为输入,求G(z)的输出y ;(保存y,u ,作为实验二的数据) 5. 编程求自相关函数Ruu(k)和互相关函数Ruy(k),k=1, (51)

(化成单位脉冲及其响应的形式)

6. 将g(k)、Ruu(k)、Ruy(k)在一个图中绘出,并比较g(k)和Ruy(k)的差别。

实验步骤及实验结果:

(1)建立simulink 仿真系统图如下:

设置脉冲周期为10s ,幅值为10,脉宽为1%,运行后观察示波器结果如下,并输出到文件:

(2)输入如下代码进行双线性变换:

>> n1=[0 1 10];

>> d1=[1 1 4];

>> f=tf(n1,d1)

84.392.724

.41

.02.03.022+--+z z z z

Transfer function:

s + 10

-----------

s^2 + s + 4

>> [n2,d2]=c2dm(n1,d1,0.1,'tustin');

>> printsys(n2,d2,'z')

num/den =

0.070755 z^2 + 0.04717 z - 0.023585

-----------------------------------

z^2 - 1.8679 z + 0.90566

双线性变化为)1()1(2+-=z T z s ,代入原传递函数求得G(z)= ,

将其分子分母同除以4.24即为程序结果。

(3)逆重复M 序列的生成代码:

clear;

t=[0:0.1:30.5];

lenth=size(t,2);

u(1:7)=1;

for i=8:lenth

u(i)=(mod(u(i-1)+u(i-7),2));

end

u=u*2-1;

a=1;

for i=1:lenth %与方波相乘

u(i)=u(i)*a;

a=-a;

end

uu(1,:)=t;

uu(2,:)=u;

save u11 uu

plot(u(1:140))

ylim([-2 2])

显示结果如下图所示:

(4)采用simulink仿真,建立仿真模型如下:

运行后示波器输出如下波形:

(5)输入如下代码:

load u11;

uy(1,:)=uu(2,:);

a=[0.3 0.2 -0.1];

b=[4.24 -7.92 3.84];

uy(2,:)=filter(a,b,uy(1,:));

length=size(uy,2);

t=[0.1:0.1:5.1];

lt=size(t,2);

for tao=1:lt

for i=1:2

mu(i,tao)=0;

for j=1:127

mu(i,tao)=mu(i,tao)+uy(i,j+tao)*uy(1,j+2); %加2是为了把脉冲画完整end;

mu(i,tao)=mu(i,tao)*10/(127); %乘10是为了化为单位脉冲end;

end;

plot(t,mu(1,:),'r-',t,mu(2,:),'b-')

显示结果如下图所示:

(6)运行结果如下图:

图中Ryu(t)和y(k)两者波形相近,但是前者对于后者有滞后。

实验二:

运行sj11.p ,按任务一的要求产生仿真数据y 、u ,并编程求出模型的参数估计;其中:

A(q -1)=1-1.5q -1+0.7q -2 B(q -1)=0.2q -2

B 1(q -1)=0.2q -2 B 2(q -1)=-0.5q -1 C(q -1)=1-0.5q -1

实验步骤及实验结果:

任务一:请仿真一个Ay=Bu+Aw....模型,并用递推随机逼近法——及AIC 准则法来辨识这个模型。

设广义误差e(k)是参数估计值θ的函数,参数辨识问题可通过极小化e(k)的方差来实现。即求参

数θ使下列准则函数最小:J(θ)=1/2E{e2(k)}。J(θ)的负梯度为: =E{-e(k) }。如果可求 解 =0,则可求得参数的估计。但当e(k)的分布未知时,实际上是不可求解的。 在计算数学中,求二次函数的极小值常采用迭代法。首先给出参数的一个估计值,以二次函数在该参数估计值处的负梯度为修正方向,选取适当的步长后,修正参数估计值,直到收敛。

仿此,我们有:θ(k+1)= θ(k)+ρ(k) 。 如果在求 时不求期望,则得到一个随机的迭代算法,称之为随机逼近法。 load u11;

>> u=uu(2,:);

a=[1 -1.5 0.7];

b=[0 0 0.2];

y=filter(b,a,u);

lenth=size(uu,2);

τ

θ⎥⎦

⎤⎢⎣⎡∂∂-J τθ⎥⎦⎤⎢⎣⎡∂∂-J τθ⎥⎦⎤⎢⎣⎡∂∂-J τθ⎥⎦⎤⎢⎣⎡∂∂-J

相关文档
最新文档