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

上传人:牧羊曲112 文档编号:2792693 上传时间:2023-02-25 格式:DOC 页数:9 大小:208.50KB
返回 下载 相关 举报
实验2---相关分析法辨识脉冲响应.doc_第1页
第1页 / 共9页
实验2---相关分析法辨识脉冲响应.doc_第2页
第2页 / 共9页
实验2---相关分析法辨识脉冲响应.doc_第3页
第3页 / 共9页
实验2---相关分析法辨识脉冲响应.doc_第4页
第4页 / 共9页
实验2---相关分析法辨识脉冲响应.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《实验2---相关分析法辨识脉冲响应.doc》由会员分享,可在线阅读,更多相关《实验2---相关分析法辨识脉冲响应.doc(9页珍藏版)》请在三一办公上搜索。

1、精选优质文档-倾情为你奉上实验2 相关分析法辨识脉冲响应实验报告哈尔滨工业大学航天学院控制科学与工程系专业: 自动化 班级: 姓名: 籍洋 日期: 2013 年 10 月 10 日1实验题目: 相关分析法辨识系统脉冲响应 2实验目的 通过仿真实验掌握利用相关分析法辨识脉冲响应的原理和方法。3实验主要原理一个单入单出线性定常系统的动态特性可用它的脉冲响应函数g()来描述。这样,只要记录x(t)、y(t)的值,并计算它们的互相关函数,即可求得脉冲响应函数g()。而在系统有正常输入的情形下,辨识脉冲响应的原理图如下图所示。4实验对象或参数相关分析法v(k)u(k)z(k)下图为本实验的原理框图。系统

2、的传递函数为,其中;分别为系统的输入和输出变量;为测量白噪声,服从正态分布,均值为零,方差为,记作;为系统的脉冲响应理论值,为系统脉冲响应估计值,为系统脉冲响应估计误差。系统的输入采用M序列(采用实验1中的M序列即可),输出受到白噪声的污染。根据过程的输入和输出数据,利用相关分析法计算出系统的脉冲响应值,并与系统的脉冲响应理论值比较,得到系统脉冲响应估计误差值,当时,应该有。u(k)x(k)y(k)u(k)y(k)1、模拟过程传递函数,获得过程的输入和输出数据(采样时间取1秒)。(1) 惯性环节其中,T为惯性环节的时间常数,K为惯性环节的静态放大倍数。若采样时间记作,则惯性环节的输出可写成:(

3、2) 传递函数仿真(串联) 令,则的表达框图为:2、互相关函数的计算其中,r为周期数,表示计算互相关函数所用的数据是从第二个周期开始的,目的是等过程仿真数据进入平稳状态。(可分别令r =1、3,对比仿真结果)3、c的补偿补偿量c应取,不能取。因为是周期函数,则有,故不能取。4、计算脉冲响应估计值 脉冲响应估计值 脉冲响应估计误差 u(k)y(k)5程序框图结束 绘图计算估计误差求理论脉冲响应g0求估计脉冲响应G求RmzZ=Y+V求出系统在M序列作用下的输出y产生M序列和白噪声v初始化参数T0,T1,T2,K 开始6程序代码function sigma= response(r)x=0,1,0,1

4、,1,0; %初始化Np=26-1; %M序列长度a=1; %振幅t=1;for i=1:Np*(r+1) y(i)=x(6); temp=xor(x(5),x(6); for j=5:-1:1 x(j+1)=x(j); end x(1)=temp; endfor i=1:Np*(r+1) if(y(i)=0) u(i)=a; else u(i)=-a; endend K=120;T1=8.3;T2=6.2;T0=1;K1=K/T1/T2;x(1)=0;y(1)=0;for k=2:Np*(r+1) x(k)=exp(-T0/T1)*x(k-1)+T1*K1*(1-exp(-T0/T1)*u(

5、k-1)+T1*K1*(T1*(exp(-T0/T1)-1)+T0)*(u(k)-u(k-1)/T0; y(k)=exp(-T0/T2)*y(k-1)+T2*(1-exp(-T0/T2)*x(k-1)+T1*(T2*(exp(-T0/T2)-1)+T0)*(x(k)-x(k-1)/T0; %未经白噪声污染的输出endv=whitenoise(1,length(y); %产生白噪声z=y+v; %系统实际输出for k=1:Np sum=0; for i=Np+1:(r+1)*Np sum=u(i-k)*z(i)+sum; end Rmz(k)=1/(r*Np)*sum;endc=-Rmz(Np

6、-1); %补偿量c%计算脉冲响应估计值for k=1:Np G(k)=Np/(Np+1)*a2*t)*(Rmz(k)+c); g0(k)=K/(T1-T2)*(exp(-k*t/T1)-exp(-k*t/T2);end%计算脉冲响应估计误差SUM1=0;SUM2=0;for k=1:Np e(k)=g0(k)-G(k); SUM1=e(k)2+SUM1; SUM2=g0(k)2+SUM2;endsigma=sqrt(SUM1/SUM2);step=0:Np-1;plot(step,Rmz(63),Rmz(1:62);hold on;plot(step,G(63),G(1:62),r);plo

7、t(step,g0(63),g0(1:62),g);legend(互相关函数,脉冲响应估计值,脉冲响应理论值)end产生白噪声的函数:function sig=whitenoise(sigma,len) %白噪声产生函数,sigma为均方差,len为白噪声序列数据长度a=65539;M=;b=100;x(1)=12345;r(1)=x(1)/M; % 第一部分为产生0-1的均匀分布随机数for i=1:12*len x(i+1)=mod(a*x(i)+b,M); r(i+1)=x(i+1)/M;end %-% n = 12;for i = 1 : len sig(i)=0; for j = 1

8、 : n sig(i) = sig(i) + r(n * (i - 1) + j);%第二部分产生正态分布,方差为sigma的随机序列 endendsig = (sig - 12*0.5)*sigma; end 7实验结果及分析另r1, 白噪声均方差sigma=0.5,运行命令:sigma=response(1)运行结果如下:得sigma = 0.0416另r3,白噪声均方差sigma=0.5,运行命令:sigma=response(3,0.5)运行结果如下:得sigma = 0.0373图像如下:比较发现r=1和r=3时产生的曲线基本相似,但是脉冲响应误差在r=3时更小。另r1, 白噪声均方差sigma=1,运行命令:sigma= response(1,1)运行结果如下:得sigma = 0.0594比较第一个与第三个结果,发现脉冲响应的估计误差是随着输入白噪声标准差的增大而增大的,白噪声标准差越小,对系统的输出干扰越小.8结论在本次系统辨识的实验上机当中,在老师的指导之下,我利用相关分析法分析脉冲响应,得到r的值越大,得到的估计误差值越小;得到脉冲响应的估计误差是随着输入白噪声标准差的增大而增大的,带有白噪声污染的输出z,在白噪声标准差为0时与理想输出y是重合的,白噪声标准差越小,对系统的输出干扰越小.专心-专注-专业

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号