第4章 连续系统按环节离散化的数字仿真
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、采样周期T
根据香农采样定理,若连续信号的最高频率为max,
则采样频率s必须大于或等于2 max,即
s
2
T
2max T
max
经验公式有
T
(10
2 ~ 50)c
或T
tr 或T 10
ts 40
离散相似模型的精度分析
保持器的影响 零阶保持器可无失真地重构阶跃信号 一阶保持器可无失真地重构斜坡信号 但与理想保持器特性有差别
else if(B(i)~=0) E(i)=1;F(i)=0.5*C(i)*T/B(i);G(i)=F(i); H(i)=1;L(i)=D(i)/B(i); Q(i)=0; else disp('A(i)=B(i)=0'); end
end %与第一个if对应 end %与for对应
%设置各变量的初值 x=zeros(length(A),1); x0=x; z=x; u=zeros(length(A),1); u0=u; y=zeros(length(Wc(:,1)),1); t=0;
设连续系统输入为u(t),输出为y(t)
u(t)
y(t) G(s)
离散相似法离散化后的模型
u(k)
u(t) T
Gh(s) ˜ u(t) G(s)
y(k) T
˜ y(t)
连续系统的离散化(复数域离散相似法)
等效脉冲传函 G(z) Z(Gh(s) *G(s))
由脉冲传递函数G(z),可以写出差分方程, 根据差分方程可编写程序仿真
S u elseif (u<u1)
if ((u+s)<=x1) x=u+s ;else x=x1;
end
else x=x1;
end
end
u1=u
4、继电器非线性环节
x S 0 -S
function x=sign(u,s)
if (u>0)
x=s ;
u
else
x=-s ;
end
4.4 连续系统按环节离散化的数字仿真程序
已知非线性系统结构图如图所示,求输出量的动态响应
r=10 _
S+0.5
1
2
10
S+0.1
s
S+2
s+10
P98 例4-1
输出结 果
给定外部参考输入 给出各环节参数矩阵P,连接矩阵W, W0, WC
给出仿真总时间,采样周期T(或计算步长) 求离散模型的参数 E, F, G, H, L, Q 求各典型环节的输入U 判断各环节入口有无非 线性环节
数值积分法:对已知初值的微分方程求数值解 计算公式的右端由两部分组成。一部分是上一步计算
的结果yk,后一部分是步长h乘上各点斜率f的加权 平均值(如RK-4)。 每计算一步,各点斜率都要计算一次,计算量大
离散相似法:通过加入虚拟的采样开关和保持器, 将系统的数学模型离散化,采样周期T选定,离散 化模型可以根据公式一次性确定。非常适用于线性 定常系统的离散化
第四章 连续系统按典型环节离散化 的数字仿真
4.1 连续系统的离散化(离散相似法) 4.2 典型环节的离散系数及其差分方程 4.3 非线性系统的数字仿真方法 4.4 连续系统按环节离散化的数字仿真程序
4.1 连续系统的离散化(离散相似法)
离散相似法:
在连续系统中加入虚拟的采样开关和保持器, 利用控制理论中的采样和信号重构技术建立 离散模型
x=Ad*x+bd*r;
K4=A*(x+h*K3)+b*r;
yk=Cd*x+Dd*r; y=[y;yk]; t=[t;t(i)+TS]; end plot(t,y)
x=x+h*(K1+2*K2+2*K3+K4)/6; y=[y;C*x]; t=[t;t(i)+h]; end
数值积分法与离散相似法的对比
0
T eA(T t)Bdt
0
X (k 1) G X (k) H U (k)+ U(k)
Y (k) CX (k) DU (k)
或
G eAT L1 (sI A)1
H
T
G(T t)Bdt
T eA(T t)Bdt
0
0
(采用一阶保持器)
源自文库
T
tG(T t)Bdt
T teA(T t)Bdt
%离散相似法离散化模型 面向方程的仿真程序
r=20.4;
num0=[1.875e6 1.562e6]; den0=[1 54 204.2 213.8 63.5];
numh=0.002; denh=1;
[num,den]=feedback(num0,den0,numh,denh);
[A,b,C,D]=tf2ss(num,den);
1
2
10
_ S+0.1
s
S+2
s+10
%给出输入信号 R=10;
%给出典型环节的参数矩阵P P=[0.1 1 0.5 1 ; 0 1 1 0 ;
2 1 2 0 ; 10 1 10 0 ];
%给出连接矩阵W ,W0, Wc W=[0 0 0 -1 ; 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0]; W0=[1 ; 0 ; 0 ; 0 ]; Wc=[0 0 0 1];
典型环节:
Gi (s)
xi (s) ui (s)
ci ai
dis bis
利用离散相似法离散化 (设采用滞后一拍的三角形保持器)
用离散相似法将典型环节离散化后的模型
z(k 1) E z(k) F u(k) G u(k 1) x(k 1) H z(k 1) L u(k) Q u(k 1) 其中系数 E、F、G、H、L、Q的取值:
%根据仿真模型求解 for j=1 : Tf/T
u1=u; u=W*x+W0*R; %求各典型环节输入 for i=1 : n
z(i)=E(i)*z(i)+F(i)*u(i)+G(i)*u1(i); x(i)=H(i)*z(i)+L(i)*u(i)+Q(i)*u1(i); %求各环节输出 end y=[y;Wc*x]; t=[t;t(j)+T]; end plot(t,y)
连续系统的离散化(时域离散相似法)
设连续系统数学模型为YX
AX CX
BU DU
采用离散相似法,得到离散模型为:
X (k 1) G X (k) H U (k)
Y (k) CX (k) DU (k)
G eAT L1 (sI A)1
(采用零阶保持器)
H
T
G(T t)Bdt
仿真时间到?
N N
N
给定外部参考输入 给出各环节参数矩阵P,连接矩阵W, W0, WC 给出仿真总时间,采样周期T(或计算步长) 求离散模型的参数 E, F, G, H, L, Q 求各典型环节的输入U
计算各典型环节的输出X
仿真时间到?
N
输出结果
已知线性系统结构图如图所示,求输出量的动态响应
R
S+0.5
if (abs(u)>=s)
if (u>0) x=u-s ;
else
x=u+s ;
end
else x=0 ;
end
3滞环非线性环节 function [x,u1]=backlash(u1,u,x1,s)
x
if (u>u1)
if ((u-s)>=x1) x=u-s ; else x=x1;
end
-S
将系统划分成若干个典型环节 如果系统中有非线性环节,不作一个独立的
环节处理,而是作为某个典型环节的输入和 输出 典型环节采用离散相似法进行离散化
当有非线性环节时,典型环节参数矩阵P
a1 b1 c1 d1 FZ1 s1
P a2
b2
c2
d2
FZ2
s2
an
bn
cn
dn
FZn
sn
a≠0,b=0 a=0,b≠0
a≠0,b≠0
E0
1
exp(-(a/b)T)
F0
cT/(2b) (d/b-c/a)((1-E)*b/(aT)-1)
G0
F
(d/b-c/a)(1+(E-1)(1+b/(aT)))
H0
1
1
L (c+d/T)/a d/b
d/b
Q -d/(aT)
0
0
4.3 非线性系统的数字仿真方法
典型环节:Gi (s)
xi (s) ui (s)
ci ai
dis bis
n 为典型环节的个数
FZ 为非线性环节标志,S为非线性环节的参数
标志 FZ=0 FZ=1 FZ=2 FZ=3 FZ=4 FZ=5 FZ=6 FZ=7 FZ=8
表4-2 非线性环节标志 (P96) 说明
典型环节前后均无非线性环节 典型环节前有饱和非线性环节,修正输入U 典型环节前有死区非线性环节,修正输入U 典型环节前有滞环非线性环节,修正输入U 典型环节前有继电器非线性环节,修正输入U 典型环节后有饱和非线性环节,修正输出X 典型环节后有死区非线性环节,修正输出X 典型环节后有滞环非线性环节,修正输出X 典型环节后有继电器非线性环节,修正输出X
数值积分法与离散相似法的对比
在下面的意义下,两者是统一的 对于数值积分法,需要选择计算步长和积分算法 对于离散相似法,需要选定采样周期T和保持器 选择采样周期,相当于选择计算步长 选择保持器,相当于选择积分算法
离散相似模型的精度分析
根据离散相似法的思想,离散化时引入了虚拟的 采样开关和保持器,因而采样周期T和保持器的 特性直接影响离散化模型的精度
%给出仿真总时间和采样周期 Tf=10; T=0.025;
%求典型环节的离散化模型的系数 A=P(:,1); B=P(:,2); C=P(:,3); D=P(:,4); n=length(A); %n为典型环节的个数
for i=1:n if(A(i)~=0) if(B(i)==0) E(i)=0;F(i)=0;G(i)=0;H(i)=0; L(i)=(C(i)+D(i)/T)/A(i); Q(i)=-D(i)/(A(i)*T); else E(i)=exp(-A(i)*T/B(i)); F(i)=(D(i)/B(i)-C(i)/A(i))*((1-E(i))*B(i)/(A(i)*T)-1); G(i)=(D(i)/B(i)-C(i)/A(i))*(1+(E(i)-1)*(1+B(i)/(A(i)*T))) H(i)=1; L(i)=D(i)/B(i); Q(i)=0; end
输出 结果
给定外部参考输入 给出各环节参数矩阵P,连接矩阵W, W0, WC 给出仿真总时间,采样周期T(或计算步长) 求离散模型的参数 E, F, G, H, L, Q 求各典型环节的输入U
判断各环节入口有无非线性环节 调用非线性函数来修正典型环节的输入U 计算各典型环节的输出X
判断各环节出口有无非线性环节 调用非线性函数来修正典型环节的输出X
调用非线性函数来修正典型环节的输入U 计算各典型环节的输出X
判断各环节出口有无非线性环节
调用非线性函数来修正典型环节的输出X
仿真时间到?
N N
N
%给出输入信号 R=10;
%给出典型环节的参数矩阵P P=[0.1 1 0.5 1 3 1 ; 0 1 1 0 0 0 ;
2 1 2 0 0 0 ; 10 1 10 0 0 0 ]; %给出连接矩阵W ,W0, Wc W=[0 0 0 -1 ; 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0]; W0=[1 ; 0 ; 0 ; 0 ]; Wc=[0 0 0 1];
0
0
连续系统数字仿真程序 P79 例3-1
设单变量系统框图如图所示, 根据四阶龙格-库塔法求输出量y(t)的动态响应
离散相似法离散化模型
r=20.4 + _
y
1.875106 s 1.562 106 s4 54s3 204.2s2 213.8s 63.5
0.002
设仿真时间为5,虚拟采样周期为0.02
sysc=ss(A,b,C,D);
TS=0.02;
sysd=c2d(sysc,TS,'zoh');
for i=1:Tf/h
[Ad,bd,Cd,Dd]=ssdata(sysd); Tf=5; x=[zeros(length(A),1)]; y=0; t=0; for i=1:Tf/TS
K1=A*x+b*r; K2=A*(x+h*K1/2)+b*r; K3=A*(x+h*K2/2)+b*r;
加入保持器,会使原系统产生幅值衰减和相位滞后, 使离散模型的稳定性变差,以及计算误差增大。
4.2 典型环节的离散系数及其差分方程 按典型环节离散化(采用离散相似法): 将系统分成若干个典型环节,在每个典型环节的
入口处加虚拟的采样开关和保持器形成采样系 统,当采样周期足够小时,这个采样系统等价 于原来的连续系统
四种非线性环节特性及MATLAB表示,假定 线性部分斜率为1
1、饱和非线性环节 function x=saturation(u,s)
x
if (abs(u)>=s)
if (u>0) x=s ;
-S
S
u
else x=-s ; end
else x=u ;
end
2、死区非线性环节
x
-S
S
u
function x=deadzone(u,s)