系统传递函数时域法辨识
T1 = (K - y(maxt))/maxSl + (maxt-1)* dt -tao1 %时间常数T H1 = K/(T1 * s +1); H1.InputDelay = tao1 y1 = lsim(H1,U,t); figure(2); plot(t,y,t,y1); legend('y','y1'); title('切线法'); ylabel('Step Response') xlabel('Time, Seconds') %采用两点法进行辨识 for j = 1 : (tmax/dt + 1) if y(j)> K*0.9 break end end t2 = j; t1=(t2-mod(t2,3))/3; y1 = y(t1); y2 = y(t2); T2 = ((t2 + 1)*dt - (1 + t1) * dt)/( log(K - y1) - log(K - y2)) tao2 = (t1+1)*dt + T2*log((K-y1)/K) H2 = K/(T2 * s +1); H2.InputDelay = tao2 y2 = lsim(H2,U,t); figure(3); plot(t,y,t,y2); legend('原响应','辨识响应'); ylabel('Step Response') xlabel('Time, Seconds') %辨识得到的系统传递函数 %时滞参数τ %时间常数T %辨识得到的系统传递函数
提示:选用阶跃信号,调试系统运行时间,获得相应的阶跃输出响应数据。 6.自己设定教材(2.43)描述的三阶系统(自行选定 a1, a2, a3) ,验证所学面积法的 有效性。 提示:选用阶跃信号,调试系统运行时间,获得相应的阶跃输出响应数据。
三、实验步骤
实验的基本步骤如下: (1)建立待辨识系统,设定各参数; (2)用阶跃信号模拟输入,得到输出向量; (3)对输出进行辨识,得到辨识出的参数,并与原参数进行比较; (4)对比辨识出的系统传递函数与原传递函数并画出它们的阶跃响应曲线。
2. 二阶自衡对象辨识
a.按式2-2,令参数T1=2,T2=3,建立待辨识系统传递函数: b.设定输入的阶跃函数,并画出输入与输出函数 c.辨识自衡对象的放大倍数 d.辨识出参数T1和T2。 e.画出辨识出的系统传递函数与原传递函数并画出它们的阶跃响应曲线。 f.令T1=T2=4和令T1=3,T2=0重复以上步骤 matlab程序代码如下: clear all; close all; clc dt = 0.01; tmax = 2;
G s G s G s G s G s G s
(式 2-1) (式 2-2) (式 2-3) (式 2-4) (式 2-5) (式 2-6)
二、实验内容
1.如式 2-1 所示,自己设定一个一阶自衡惯性系统(自行选定放大系数、惯性时间参数 和时滞参数) ,分别验证切线法和两点法的有效性。选用阶跃信号,调试系统运行时间,获 得相应的阶跃输出响应数据。 2. 如式 2-2 所示,自己设定一个由两个一阶无滞后惯性系统(放大系数选为 1、时滞 参数为 0)串联形成的二阶自衡系统(自行选定两个惯性时间参数) ,验证所学惯性参数 T1 和 T2 辨识方法的有效性。 提示 1:分三种情况设定惯性时间参数,1)T1 〉T2;2)T1=T2;3)T2=0 提示 2:选用阶跃信号,调试系统运行时间,获得相应的阶跃输出响应数据。 3. 如式 2-3 所示,自己设定一个二阶欠阻尼自衡系统(放大系数为 1,自行选定自然 频率、阻尼系数) ,分别验证所学参数辨识方法的有效性。 提示:选用阶跃信号,调试系统运行时间,获得相应的阶跃输出响应数据。 4. 如式 2-4 所示,自己设定一个由三个一阶无滞后惯性系统(放大系数选为 1、时滞 参数为 0)并联形成的高阶自衡系统(自行选定三个惯性时间参数,T1〉T2〉T3 ) ,验证所 学惯性参数辨识方法的有效性。 提示:选用阶跃信号,调试系统运行时间,获得相应的阶跃输出响应数据。 5. 如式 2-5 所示,自己设定一个自衡等容系统,分别针对二阶和三阶系统验证所学方 法的有效性。
t = 0 : dt : tmax; s = tf('s'); set1 = 0.197; set2 = 0.33; %设定待辨识传递函数 T11 = 2; T21 = 3; H = 1/((T11 *s+1)*(T21 *s+1)) %设定输入的阶跃函数,并画出输入与输出函数 U = ones(1,tmax/dt + 1); y = lsim (H,U,t);%求输出 while ((1-y(tmax/dt + 1))>0.01) tmax = ceil(tmax * 2); t = 0 : dt : tmax; U = ones(1,tmax/dt + 1); y = lsim (H,U,t);%求输出 end int i7 ; for i = 1 : tmax/dt if (y(i) <= 0.7 & (y(i+1)>0.7) ) i7 = i; if (0.7-y(i)) > (y(i+1)-0.7) i7 = i + 1; end break end end T = (i7 - 1) * dt /2.4 t4 = 0.800 * T; tn4 = ceil((t4 / dt)*2) - ceil(t4 / dt) + 1; y4 = y(tn4) %根据y4的值分情况讨论传递函数 %当0.191<= y4<=0.33时 if ((y4 >= set1) & (y4 <= set2)) tri =(( y4 - set1)/(set2 - set1))^0.5; T1 = T*(1+tri); T2 = T*(1-tri); tao = 0; else int i2; for j = 1 : tmax/dt if (y(j) <= set1 & (y(j+1)>set1) )ຫໍສະໝຸດ 1. 一阶惯性滞后系统辨识
a.按式2-1,令参数τ=2,K=6,T=3,建立待辨识系统传递函数: b.设定输入的阶跃函数,并画出输入与输出函数 c.辨识自衡对象的放大倍数 d.采用切线法分别辨识出参数τ1、T1和τ2、T2。 e.画出辨识出的系统传递函数与原传递函数并画出它们的阶跃响应曲线。 matlab程序代码如下: dt = 0.01; tmax = 20; t = 0 : dt : tmax; s = tf('s'); %设定待辨识传递函数 K0 = 6; T = 3; tao = 2; H = K0/(T*s+1); %参数τ=2,K=6,T=3 H.InputDelay = tao %待辨识系统 %设定输入的阶跃函数,并画出输入与输出函数 U = ones(1,tmax/dt + 1); y = lsim (H,U,t);%求输出 plot(t,U,t,y); legend('u','y'); ylabel('Step Response') xlabel('Time, Seconds') %对传递函数进行系统辨识 K = y(tmax/dt + 1) %自衡对象的放大倍数 %采用切线法辨识 for i = 2 : (tmax/dt + 1) a(i) = ( y(i) - y(i-1)) / dt; end [maxSl,maxt]=max(a); tao1 = (maxt-1)*dt - y(maxt)/maxSl %时滞参数τ
一、实验目的
通过实验掌握系统建模的基本理论和方法,认识系统建模的基本步骤,并学会通过 matlab 来用时域法(阶跃响应法)对系统传递函数进行辨识。 本实验中包含了对一阶惯性滞后系统、二阶自衡对象、二阶欠阻尼自衡对象、高阶自衡 对象、 自衡等容对象的传递函数辨识, 要求掌握每种对象的具体辨识方法以及分析比较各种 方法的准确度和快速性等。 本实验主要采用的是传递函数的时域辨识法中的阶跃响应法。式 2-1 至式 2-6 是本次实 验要辨识的系统模型。
系统辨识实验报告
——实验 2:基于 MATLAB 的系统传递函数辨识
目录
系统辨识实验报告......................................................................................... 1 ——实验 2:基于 MATLAB 的系统传递函数辨识 ......................... 1 一、实验目的........................................................................................... 2 二、实验内容........................................................................................... 2 三、实验步骤........................................................................................... 3 1. 一阶惯性滞后系统辨识.............................................................. 3 2. 二阶自衡对象辨识...................................................................... 4 3. 二阶欠阻尼自衡对象辨识 .......................................................... 6 4. 高阶自衡对象辨识 ...................................................................... 7 5. 自衡等容对象辨识 ...................................................................... 9 6. 面积法辨识 ................................................................................ 10 四、实验结果......................................................................................... 11 1. 一阶惯性滞后系统辨识............................................................ 11 2. 二阶自衡对象辨识.................................................................... 13 3. 二阶欠阻尼自衡对象辨识 ........................................................ 14 4. 高阶自衡对象辨识 .................................................................... 15 5. 自衡等容对象辨识 .................................................................... 15 6. 面积法辨识 ................................................................................ 16 五、实验分析与总结............................................................................. 17