系统辨识各激励信号Matlab代码_精品文档.ppt
- 文档编号:2570798
- 上传时间:2022-11-01
- 格式:PPT
- 页数:33
- 大小:252KB
系统辨识各激励信号Matlab代码_精品文档.ppt
《系统辨识各激励信号Matlab代码_精品文档.ppt》由会员分享,可在线阅读,更多相关《系统辨识各激励信号Matlab代码_精品文档.ppt(33页珍藏版)》请在冰豆网上搜索。
系统仿真,扰动信号仿真连续系统仿真离散系统仿真随机过程仿真相关函数,扰动信号仿真,M序列逆重复M序列移位M序列正态分布白噪声序列,M序列,程序文件:
m_sel.m7级M序列,幅值:
1仿真时间:
0:
20s仿真步长:
0.1s数据长度:
201组输出文件:
u1.mat,变量名:
uu,第一行为时间值,第二行为扰动信号值。
m_sel.m,clear;t=0:
0.1:
20;lenth=size(t,2);u(1:
7)=1;fori=8:
lenthu(i)=(mod(u(i-1)+u(i-7),2);endu=u*2-1;%幅值调整为1uu(1,:
)=t;uu(2,:
)=u;saveu1uustairs(u(1:
60)%plot(u(1:
60)ylim(-22),逆重复M序列,程序文件:
m_sell.m7级逆重复M序列,幅值:
1仿真时间:
0:
300s仿真步长:
0.1s数据长度:
3001组输出文件:
u11.mat,变量名:
uu,第一行为时间值,第二行为扰动信号值。
M_sell.m,clear;t=0:
0.1:
300;lenth=size(t,2);u(1:
7)=1;fori=8:
lenthu(i)=(mod(u(i-1)+u(i-7),2);endu=u*2-1;a=1;fori=1:
lenthu(i)=u(i)*a;a=-a;end%与方波相乘,得逆重复M序列uu(1,:
)=t;uu(2,:
)=u;saveu11uuplot(u(1:
127),移位M序列(M_selm.m),clear;t=0:
0.1:
30;lenth=size(t,2);u(1:
7)=1;fori=8:
lenth+63u(i)=(mod(u(i-1)+u(i-7),2);endu=u*2-1;%幅值调整为1uu(1,:
)=t;uu(2,:
)=u(1:
lenth);uu(3,:
)=u(64:
lenth+63);%移位63步saveu1auuplot(uu(3,1:
80),正态分布白噪声序列,程序文件:
noise1.m仿真时间:
0:
20s仿真步长:
0.1s数据长度:
201组信号均值:
0信号方差:
0.5输出文件:
n1.mat,变量名:
uy,第一行为时间值,第二行为扰动信号值。
Noise1.m,clearall;t=0:
0.1:
20;lenth=size(t,2);b1=0.5;%设定噪声方差r=normrnd(0,b1,1,lenth);plot(r)uy(1,:
)=t;uy(2,:
)=r;saven1uy,连续系统仿真,仿真流程:
1构图2设模块参数3设运行参数(运行时间、仿真方法、步长、输出格式等)4运行5查看结果,示例1,G(s)=模型名:
simu_c1.mdlA单位脉冲输入,输出y:
(-2,4)仿真时间:
0:
10s仿真步长:
0.1sB阶跃输入,输出y:
(-0.1,4)仿真时间:
0:
10s仿真步长:
0.1sC文件输入:
u1.mat,文件输出:
y1.mat(变量名:
y)格式同输入文件(模型名:
simu_c11.mdl),示例2,G(s)=(用串联方式搭建模型)阶跃输入,输出y:
(-0.1,1.2)仿真时间:
0:
1000s仿真步长:
1s(模型名:
simu_cc.mdl),离散系统仿真,simulink方法滤波器方法递推预报方法,一simulink方法,流程同连续系统仿真示例1:
G(z)=(本例由双线性变换而来)A模型名:
simu_d1.mdl,阶跃输入,输出y:
(-0.1,4),仿真时间:
0:
20s,仿真步长:
0.1s,示例2,G(z)=A阶跃输入,输出y:
(-2,4)仿真时间:
0:
10s仿真步长:
0.1sB文件输入:
u1.mat,文件输出:
y2.mat(变量名:
yy)格式同输入文件模型名:
simu1.mdl,仿真时间:
0:
20s仿真步长:
0.1s,二滤波器方法,流程:
1模型改写为差分方程式:
(1+1.5q-1+0.7q-2)y(k)=q-23.2u(k)2编程3仿真运行4与simulink方法比较示例:
同simulink方法中例2文件输入:
u1.mat,文件输出:
y3.mat(变量名:
uyr)第一行为输入序列,第二行为输出序列程序文件:
d_y.m,d_y.m,clearall;loadu1;u=uu(2,:
);a=11.50.7;b=003.2;y=filter(b,a,u);%plot(y)uyr(1,:
)=u;uyr(2,:
)=y;savey3uyrloady2;e=yy(2,1:
201)-y;plot(e),三递推预报方法,流程、示例同滤波器方法文件输入:
u1.mat,文件输出:
y4.mat(变量名:
uy1)第一行为输入序列,第二行为输出序列程序文件:
d_y1.m,d_y1.m,clearall;loadu1;u=uu(2,:
);lenth=size(uu,2);y
(1)=0;y
(2)=0;fori=3:
lenthy(i)=-1.5*y(i-1)-0.7*y(i-2)+3.2*u(i-2);End%plot(y)uy1(1,:
)=u;uy1(2,:
)=y;savey4uy1loady2;e=yy(2,1:
201)-y;plot(e),随机过程仿真,基本上同离散系统的仿真。
1a白色随机噪声(Ay=Bu+w)在程序中为系统输出叠加正态分布的白色随机噪声,噪信比为0.2程序文件:
rd_y.m输入文件:
u1.mat,仿真时间:
0:
20s仿真步长:
0.1s输出文件:
y5.mat(变量名:
uyr),rd_y.m,clearall;loadu1;u=uu(2,:
);a=11.50.7;b=003.2;y=filter(b,a,u);%x=B/Aulenth=size(uu,2);a1=sqrt(cov(y);%求信号方差r=normrnd(0,1,1,lenth);,x=filter(1,a,r);%噪声模型上的A(z)b1=sqrt(cov(x);y1=y+x*0.2*a1/b1;%设定噪信比plot(y1)uyr(1,:
)=y1;uyr(2,:
)=u;savey5uyr,1b白色随机噪声(y=B/Au+w)在程序中为系统输出叠加正态分布的白色随机噪声,噪信比为0.2程序文件:
rd_yb.m输入文件:
u1.mat,仿真时间:
0:
20s仿真步长:
0.1s输出文件:
y5b.mat(变量名:
uyr),rd_yb.m,clearall;loadu1;u=uu(2,:
);a=11.50.7;b=003.2;y=filter(b,a,u);%x=B/Aulenth=size(uu,2);a1=sqrt(cov(y);%求信号方差,b1=0.2*a1;%设定噪信比,计算噪声方差w=normrnd(0,b1,1,lenth);y1=y+w;%y=B/Au+wplot(y1)uyr(1,:
)=y1;uyr(2,:
)=u;savey5buyr,2有色噪声仿真,在程序中为系统输出叠加正态分布的有色随机噪声,噪信比为0.2;噪声模型为:
(Ay=Bu+w/C)AC(z)=程序文件:
rd_yn.m输入文件:
u11.mat,仿真时间:
0:
300s仿真步长:
0.1s输出文件:
y6.mat(变量名:
uyr),Rd_yn.m,clearall;loadu1;u=uu(2,:
);a=11.50.7;b=003.2;y=filter(b,a,u);lenth=size(uu,2);a1=sqrt(cov(y);%求得信号的标准差r=normrnd(0,1,1,lenth);%产生方差为1的白噪声,a=1-0.2-1.050.010.56;b=0.32;x=filter(b,a,r);b1=sqrt(cov(x);y1=y+x*0.2*a1/b1;%噪信比设为0.2plot(y1)uyr(2,:
)=u;uyr(1,:
)=y1;savey6uyr,输出比较,程序文件:
c_noiseclearall;loady3x=uyr(1,1:
201);loady6e=uyr(1,1:
201)-x;loady5d=uyr(1,1:
201)-x;loady5bf=uyr(1,1:
201)-x;,SUBPLOT(3,1,1),plot(d)holdtitle(Ay=Bu+w,n/s=0.2)SUBPLOT(3,1,2),plot(f)title(y=B/Au+w,n/s=0.2)SUBPLOT(3,1,3),plot(e)title(有色噪声,n/s=0.2),有色噪声,相关函数,程序文件:
rele.m,输入文件:
u1.mat模型:
G(z)=采样步长为0.1s。
计算Ruu(k)和Ruy(k),k=-1,0,1,40,rele.m,clearallloadu1;uy(1,:
)=uu(2,:
);a=001;b=1-1.50.56;uy(2,:
)=filter(a,b,uy(1,:
);length=size(uy,2);t=-0.1:
0.1:
4;lt=size(t,2);fortao=1:
ltfori=1:
2,mu(i,tao)=0;forj=1:
127%加2是为了把脉冲画完整mu(i,tao)=mu(i,tao)+uy(i,j+tao)*uy(1,j+2);end;mu(i,tao)=mu(i,tao)*10/(127);end;%乘10是为了化为单位脉冲end;plot(t,mu(1,:
),r-,t,mu(2,:
),b-),程序文件:
rele1.m,输入文件:
u1a.mat模型:
G1(z)=G2(z)=Y(z)=G1(z)u1+G2(z)+u2采样步长为0.1s。
计算Ru1u1(k)、Ru1u2(k)和Ru1y(k),k=-1,0,1,128,相关函数(二输入一输出),rele1.m,clearallloadu1a;uy(1,:
)=uu(2,:
);uy(3,:
)=uu(3,:
);a=000.5;b=1-1.50.56;a1=000.4;b1=1-1.70.8;uy(2,:
)=filter(a,b,uy(1,:
)+filter(a1,b1,uy(3,:
);length=size(uy,2);t=-0.1:
0.1:
12.8;lt=size(t,2);,fortao=1:
ltfori=1:
3mu(i,tao)=0;forj=1:
127%加2是为了把脉冲画完整mu(i,tao)=mu(i,tao)+uy(i,j+tao)*uy(1,j+2);end;mu(i,tao)=mu(i,tao)*10/(127);end;%乘10是为了化为单位脉冲end;plot(t,mu(1,:
),r-,t,mu(2,:
),b-),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 辨识 激励 信号 Matlab 代码 精品 文档