- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验实验一利用相关分析法辨识脉冲响应
实验一 利用相关分析法辨识脉冲响应
一、实验目的
通过仿真实验掌握利用相关分析法辨识脉冲响应的原理和方法。
二、实验内容
下图为本实验的原理框图。过程传递函数为,其中;分别为过程的输入和输出变量;为过程测量白噪声,服从正态分布,均值为零,方差为,记作;为过程的脉冲响应理论值,为过程脉冲响应估计值,为过程脉冲响应估计误差。
过程的输入驱动采用M序列,输出受到白噪声的污染。根据过程的输入和输出数据,利用相关分析算法根据输出过程的脉冲响应值,并与过程脉冲响应理论值比较,得到过程脉冲响应估计误差值,当时,应该有。
三、实验方案设计
(1) 采用串联传递函数仿真
令,则的表达框图为:
编程语句可写成:
(2)白噪声生成
● 利用U[0,1]均匀分布的随机数生成正态分布的白噪声
其中,标准差分别取0,0.1,0.5。
● 编程语句
(3)M序列生成
● 用M序列作为辨识的输入信号,N序列的循环周期取,时钟节拍,幅度,逻辑“0”为a,逻辑“1”为-a,特征多项式自选,如。
● 生成M序列的结构图
● 编程语句
(4)互相关函数的计算
其中,r为周期数,表示计算互相关函数所用的数据是从第二个周期开始的,目的是等过程仿真数据进入平稳状态。
(5)计算脉冲响应估计值
● 脉冲响应估计值
● 脉冲响应估计误差
四、数据记录
理想状态下,即在没有白噪声干扰下的数据
输入白噪声标准差sigma(0.5):0
脉冲响应估计误差
0.0266
输入白噪声标准差sigma(0.5):0.1
脉冲响应估计误差
0.0281
输入白噪声标准差sigma(0.5):0.5
脉冲响应估计误差
0.0293
输入白噪声标准差sigma(0.5):1
脉冲响应估计误差
0.0391
输入白噪声标准差sigma(0.5):2
脉冲响应估计误差
0.0616
数据列表
输入白噪声标准差 0 0.1 0.5 1 2 脉冲响应估计误差 0.0266 0.0281 0.0293 0.0391 0.0616
五、结果分析
利用相关分析法分析脉冲响应,得到脉冲响应的估计误差是随着输入白噪声标准差的增加而增大的,带有白噪声污染的输出z,在白噪声标准差为0时与理想输出y是重合的,白噪声的标准差愈小对系统的输出干扰愈小。
六.程序流程
源程序清单
%利用相关分析法辨识脉冲响应clc;
clear all;
close all;
a=1;
Np=63;
Ts=1;%采样时间
%过程仿真参数
K=120;
T0=1;
T1=8.3;
T2=6.2;
%产生输入u(k)
r=4;
M = [0 0 0 1 0 1 1]; %-初始状态向量
P = 7; %-实际应为6,循环周期Np=2^6-1=63
for k = 1:1:252
u(k) = 1-2*M(7); %-取M6(相对M0而言)结果生成M序列
M(1) = xor(M(6),M(7));
if M(1) == 2
M(1) = 0;
end
i = P;
while i1
M(i) = M(i-1);
i = i-1;
end
end%产生输入数据x(k)
%系统仿真方法一,指导书上的
K1 = K/(T1*T2);
E1 = exp(-T0/T1);
E2 = exp(-T0/T2);
x(1) = 0;
y(1) = 0;
for k = 2:1:252
x(k) = E1*x(k-1)+T1*K1*(1-E1)*u(k-1)+T1*K1*(T1*(E1-1)+T0)*(u(k)-u(k-1))/T0;
y(k) = E2*y(k-1)+T2*(1-E2)*x(k-1)+T2*(T2*(E2-1)+T0)*(x(k)-x(k-1))/T0;
end%产生不带噪声的输出数据y(k)
%or
%sys=tf([120],[8.3*6.2,8.3+6.2,1]);
%y1=lsim(sys,u,1:length(u));%输入为M序列时对系统进行仿真
%y=y1;
sigma=input(输入白噪声标准差sigma(0.5):);
v=whitenoise(0,sigma^2,length(y)); %N(0,0.25)高斯白噪声
%or
%v=wan(sigma);
z=y+v;
ii=1:length(u);
plot(ii,u)
title(输入u)
axis([1 length(u) -1.5 1.5])
figure(2)
plot(ii,y,b,ii,z,r),title(仿真
文档评论(0)