哈工大系统辨识实验二.docx

上传人:b****7 文档编号:9250501 上传时间:2023-02-03 格式:DOCX 页数:11 大小:180.52KB
下载 相关 举报
哈工大系统辨识实验二.docx_第1页
第1页 / 共11页
哈工大系统辨识实验二.docx_第2页
第2页 / 共11页
哈工大系统辨识实验二.docx_第3页
第3页 / 共11页
哈工大系统辨识实验二.docx_第4页
第4页 / 共11页
哈工大系统辨识实验二.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

哈工大系统辨识实验二.docx

《哈工大系统辨识实验二.docx》由会员分享,可在线阅读,更多相关《哈工大系统辨识实验二.docx(11页珍藏版)》请在冰豆网上搜索。

哈工大系统辨识实验二.docx

哈工大系统辨识实验二

HarbinInstituteofTechnology

 

实验2相关分析法辨识脉冲响应

 

系统辨识课程

实验报告

 

专业:

控制科学与工程

班级:

学号:

1110410420

姓名:

日期:

2014.10.25

1.实验题目:

相关分析法辨识脉冲响应

2.实验目的

通过仿真实验掌握利用相关分析法辨识脉冲响应的原理和方法。

3.实验主要原理

一个单入单出线性定常系统的动态特性可用它的脉冲响应函数g(σ)来描述。

 

 

 

这样,只要记录x(t)、y(t)的值,并计算它们的互相关函数,即可求得脉冲响应函数g(τ)。

(magnitudemultipliedbytransform)而在系统有正常输入的情形下,辨识脉冲响应的原理图如下图所示。

4.实验对象或参数

下图为本实验的原理框图。

系统的传递函数为

其中

分别为系统的输入和输出变量;

为测量白噪声,服从正态分布,均值为零,方差为

,记作

为系统的脉冲响应理论值,

为系统脉冲响应估计值,

为系统脉冲响应估计误差。

 

系统的输入采用M序列(采用实验1中的M序列即可),输出受到白噪声

的污染。

根据过程的输入和输出数据

,利用相关分析法计算出系统的脉冲响应值

,并与系统的脉冲响应理论值

比较,得到系统脉冲响应估计误差值

,当

时,应该有

 

1、模拟过程传递函数

,获得过程的输入和输出数据

(采样时间取1秒)。

(1)惯性环节

其中,T为惯性环节的时间常数,K为惯性环节的静态放大倍数。

若采样时间记作

,则惯性环节的输出可写成:

(2)传递函数

仿真(串联)

,则

的表达框图为:

2、互相关函数的计算

 

其中,r为周期数,

表示计算互相关函数所用的数据是从第二个周期开始的,目的是等过程仿真数据进入平稳状态。

(可分别令r=1、3,对比仿真结果)

3、c的补偿

补偿量c应取

,不能取

因为

是周期函数,则有

,故不能取

4、计算脉冲响应估计值

●脉冲响应估计值

●脉冲响应估计误差

5.程序框图

开始

 

数据初始化

 

生成M序列和白噪声

 

求出系统在M序列输入下的输出Y

 

Z=Y+V

 

求出Rmz

 

求出估计的脉冲响应G1

 

求出理想情况系统的脉冲响应G0

 

计算脉冲响应估计误差

 

结束

 

6.程序代码

Shiyan2:

K=120;

T1=8.3;

T2=6.2;

a=1;

T=1;%采样周期

r=3;

Np=63;

M=[11111100000...

10000110001...

01001111010...

00111001001...

01101110110...

01101010];%M-alignmentrowmatrix

M=-2*M+ones(1,size(M,2));

%1产生随机序列changeMfrom1/0to1/-1,size(M,2)=columnnumberoftheM-alignmentrowvector

u=[M,M,M,M,M,M,M];%extendthelengthoftherowvectorby7times

num=size(u,2);

v=baizaosheng(num);

%1

K1=K/(T1*T2);

x=guanxing(T1,u,K1);

y=guanxing(T2,x,1);

z=y+v;

%2

Rmz=zeros(1,Np);

fork1=1:

Np

sum0=0;

fori=(Np+1):

(r+1)*Np

sum0=u(i-k1)*z(i)+sum0;

end

Rmz(k1)=sum0/(r*Np);

end

%3c的补偿

c=-Rmz(Np-1);

%c=-sum(Rmz);%按照书上的来

%4

tt=linspace(0,Np,Np);

g_0=zeros(1,Np);

fori=1:

Np

g_0(i)=K*(exp(-i*T/T1)-exp(-i*T/T2))/(T1-T2);

end

loop_len=size(Rmz,2);

g_1=Np.*(Rmz+c.*ones(1,loop_len))./((Np+1)*a^2);

sum1=0;

sum2=0;

fori=1:

Np;

sum1=(g_0(i)-g_1(i))^2+sum1;

sum2=g_0(i)^2+sum2;

end

wucha=sqrt(sum1/sum2);

disp(wucha)

plot(tt,g_0,'-.');

holdon

plot(tt,g_1)

legend('理想的脉冲响应','相关分析法估计结果')%conventionalsigns=legends

ylabel('y')

xlabel('t')

end

 

functionv=baizaosheng(n)%n为白噪声序列的长度

a1=65539;

m=2147483647;

b=2;

NN=12*n;

x1=zeros(1,NN);

R=zeros(1,NN);

x1

(1)=56326;

R

(1)=x1

(1)/m;

fori1=2:

NN

x1(i1)=mod(a1*x1(i1-1)+b,m);

R(i1)=x1(i1)/m;

end

%2生成高斯白噪声

v=zeros(1,n);

fori2=1:

n

forj=1:

12

v(i2)=v(i2)+R((i2-1)*12+j);

end

v(i2)=v(i2)-6;

end

end

 

functiony=guanxing(T,u,K)

T0=1;

len=size(u,2);%得到得输出序列的长度

y=zeros(1,len);%initialis0

fork=2:

len

y(k)=exp(-T0/T)*y(k-1)+T*K*(1-exp(-T0/T))*u(k-1)+T*K*(T*(exp(-T0/T)-1)+T0)*(u(k)-u(k-1))/T0;

end

end

 

7.实验结果及分析

当r=1时,运行程序,辨识的结果与理想的结果进行对比,得到下图:

 

 

图一

此时(如图一),估计的误差为:

当r=3时,得到如下的结果:

 

图二

 

此时(如图二),估计误差为:

估计误差变小了。

可以看出当周期数r越大,运用相关估计辨识得到的系统的模型更准确。

8.结论

在本次系统辨识的实验上机当中,在老师的指导之下,我利用相关分析法分析脉冲响应,得到脉冲响应的估计误差是随着输入白噪声标准差的增大而增大的,带有白噪声污染的输出z,在白噪声标准差为0时与理想输出y是重合的,白噪声标准差越小,对系统的输出干扰越小.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1