《利用相关分析法辨识脉冲响应实验报告.doc

《利用相关分析法辨识脉冲响应实验报告.doc

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

实验一 利用相关分析法辨识脉冲响应 1 实验方案设计 1.1 生成输入数据和噪声 用M序列作为辨识的输入信号,噪声采用标准正态分布的白噪声。 生成白噪声时,首先利用乘同余法生成U[0,1]均匀分布的随机数,再利用U[0,1]均匀分布的随机数生成标准正态分布的白噪声。 1.2 过程仿真 模拟过程传递函数,获得输出数据y(k)。采取串联传递函数仿真,,用M序列作为辨识的输入信号。 1.3 计算互相关函数 其中r为周期数,表示计算互相关函数所用的数据是从第二个周期开始的,目的是等过程仿真数据进入平稳状态。 1.4 计算脉冲响应估计值、脉冲响应理论值、脉冲响应估计误差 脉冲响应估计值 脉冲响应理论值 脉冲响应估计误差 1.5 计算噪信比 信噪比 2 编程说明 M序列中,M序列循环周期取,时钟节拍=1Sec,幅度,特征多项式为。白噪声循环周期为。采样时间设为1Sec, 3 源程序清单 3.1 均匀分布随机数生成函数 function sita=U(N) %生成N个[0 1]均匀分布随机数 A=179; x0=11; M=2^15; for k=1:N x2=A*x0; x1=mod(x2,M); v1=x1/(M+1); v(:,k)=v1; x0=x1; end sita=v; end 3.2 正态分布白噪声生成函数 function v=noise(aipi) %生成正态分布N(0,sigma) sigma=1; %标准差 for k=1:length(aipi) ksai=0; for i=1:12 temp=mod(i+k,length(aipi))+1; ksai=ksai+aipi(temp); end v(k)=sigma*(ksai-6); end end 3.3 M序列生成函数 function [Np r M]=createM(n,a) %生成长度为n的M序列,周期为Np,周期数为r x=[1 1 1 1 1 1]; %初始化初态 for i=1:n y=x; x(2:6)=y(1:5); x(1)=xor(y(5),y(6)); U(i)=y(6); end M=U*a; lenx=length(x); Np=2^lenx-1; r=n/Np; end 3.4 过程仿真函数 function y=createy(u,K,T1,T2,T0) n=length(u); K1=K/(T1*T2); E1=exp(-T0/T1); E2=exp(-T0/T2); x(1)=0; y(1)=0; for k=2:n 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*(E1-1)+T0)*(x(k)-x(k-1))/T0; u(k-1)=u(k); x(k-1)=x(k); y(k-1)=y(k); end end 3.5 相关函数计算函数 function R_Mz=RMz(Np,r,u,z) r=r-1; y=zeros(1,Np); for k=1:Np y(k)=0; for i=Np+1:(r+1)*Np y(k)=y(k)+u(i-k)*z(i); end y(k)=y(k)/(r*Np); end R_Mz=y; end 3.5 主函数 function [og yita]=main(time) % 脉冲响应估计误差 og % 噪信比yita N=time*63; K=120; T1=8.3; T2=6.2; T0=1; a=1; sita=U(N); %生成[0 1]均匀分布随机数 v=noise(sita); %利用aipi生成正态分布白噪声 [Np r u]=createM(N,a); %生成长度为N的M序列 y=createy(u,K,T1,T2,T0); %利用M序列驱动,生成y z=y+v; R_Mz=RMz(Np,r,u,z); %计算相关函数 % 计算脉冲响应估计值 g_k=zeros(1,Np); for k=1:Np g_k(1,k)=(R_Mz(1,k)-R_Mz(Np-1))*Np/((Np+1)*a*a*T0); end % 计算脉冲响应理论值 Eg=zeros(1,Np); for k=1:Np Eg(

文档评论(0)

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

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

1亿VIP精品文档

相关文档