实验一利用相关函数辨识脉冲响应..doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一利用相关函数辨识脉冲响应.

北京工商大学 《系统辨识》课程 实验报告 (2014-2015 1学期) 课程名称 : 系统辨识 题 目 : 利用相关分析法辨识脉冲响应 专业班级 : 控制工程 学生姓名 : 指导教师 : 刘 刘 成 绩 : 2015年1月18日 一、实验目的 通过仿真实验掌握利用相关分析法辨识脉冲响应的原理和方法。 二、实验内容 图1为本实验的原理框图。过程传递函数为,其中;分别为过程的输入和输出变量;为过程测量白噪声,服从正态分布,均值为零,方差为,记作;为过程的脉冲响应理论值,为过程脉冲响应估计值,为过程脉冲响应估计误差。 过程的输入驱动采用M序列,输出受到白噪声的污染。根据过程的输入和输出数据,利用相关分析算法根据输出过程的脉冲响应值,并与过程脉冲响应理论值比较,得到过程脉冲响应估计误差值,当时,应该有。 图1 相关分析法辨识脉冲响应原理框图 三、实验要求 进行方案设计,模拟过程传递函数,获得输出数据,用M序列作为辨识的输入信号,噪声采用标准正态分布的白噪声,计算互相关函数,不同?值的脉冲响应估计值、脉冲响应理论值和脉冲响应估计误差,计算信噪比,画出实验流程图,用MATLAB编程实现。 实验原理 1、采用串联传递函数仿真 令,则的表达框图为: 2、一个单输入单输出线性定常系统的动态特性可用它的脉冲响应函数g(σ)来描述。 这样,只要记录x(t)、y(t)的值,并计算它们的互相关函数,即可求得脉冲响应函数g(τ)。 而在系统有正常输入的情形下,辨识脉冲响应的原理图如下图所示。 五、实验框图 实验代码 function ex2 clc; clear all; close all; %创建M序列 Np=63;%循环周期 delta_T = 1;%时钟节拍 a=1;%幅度 M(1)=1; M(2)=0; M(3)=0; M(4)=1; M(5)=1; M(6)=0;%初始化M序列 M_XuLie(Np) = 0; for n = 1 : Np temp = xor(M(6), M(5)); if(temp == 0) M_XuLie(n) = a; else M_XuLie(n) = -a; end M(6) = M(5); M(5) = M(4); M(4) = M(3); M(3) = M(2); M(2) = M(1); M(1) = temp; end %生成M序列完毕 r=3;%周期数 u=repmat(M_XuLie,1,r+1);%将M序列赋给输入,作为输入信号 %第一步,从u(k)得到x(k),y(k) K = 120; T0 = 1; % 采样时间 T1 = 8.3; T2 = 6.2; K1=K/(T1*T2); %初始化X(k),Y(k)为0 K2=1 x(63)=0; y(63)=0 for k = 2 : 63*4 %取得x(k)序列 x(k)=exp(-T0/T1)*x(k-1)+T1*K1*(1-exp(-T0/T1))*u(k-1)+T1*K1... *(T1*(exp(-T0/T1)-1)+T0)*(u(k)-u(k-1))/T0 %取得y(k)序列 y(k)=exp(-T0/T2)*y(k-1)+T2*K2*(1-exp(-T0/T2))*x(k-1)+T2*K2... *(T2*(exp(-T0/T2)-1)+T0)*(x(k)-x(k-1))/T0 end %获取没有白噪声时候输出完毕 %作图 figure(1); plot(u,r); hold on; plot(x,k); plot(y,b); legend(u(k),x(k),y(k)); %第二步,将白噪声添加入输出信号 %产生白噪声信号v fangcha = 0.5;%随意指定的方差 v = fangcha * randn(1,63*4); %信号叠加,输出实际信号z(k) z = y + v; figure(2); %打印无白噪声污染信号 plot(y,b); hold on; %打印白噪声信号 plot(v,m); %打印白噪声污染后的信号 plot(z,k); legen

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档