经典的连续系统仿真建模方法(实验报告)
- 格式:docx
- 大小:247.55 KB
- 文档页数:8
实验十三一阶连续时间系统的模拟一、实验目的1.了解用集成运算放大器构成基本运算单元——标量乘法器、加法器和积分器,以及它们的组合全加积分器的方法。
2.掌握用以上基本运算单元以及它们的组合构成模拟系统,模拟一阶连续时间系统的原理和方法,并用实验测定模拟系统的特性。
二、实验内容1.熟悉集成运算放大器构成基本运算单元的工作原理。
2.用示波器观察模拟一阶连续时间系统的频率特性。
三、实验仪器1.信号与系统实验箱一台2.信号系统实验平台3.连续时间系统的模拟模块(DYT3000-67)一块4.20MHz双踪示波器一台5.连接线若干四、实验原理1.模拟连续时间系统的意义由于自然界的相似性,许多不同的系统具有相同的特性。
不论是物理系统还是非物理系统,不论是电系统还是非电系统,只要是连续的线性时不变系统,都可以用线性常系数微分方程来描述。
把一具体的物理设备经过数学处理,抽象为数学表示,从而便于研究系统的性能,这在理论上是很重要的一步;有时,也需要对一系统进行实验模拟,通过实验观察研究当系统参数或输入信号改变时,系统响应的变化。
这时并不需要在实验室里去仿制真实系统,而只要根据系统的数学描述,用模拟装置组成实验系统,它可以与实际系统完全不同,只要与实际系统具有同样的微分方程数学表示,即输入输出关系(也即传输函数或系统响应)完全相同即可。
系统的模拟是指数学意义上的模拟。
本实验即由微分方程的相似性出发,用集成运算放大器组成的电路来模拟一阶RC系统。
2. 集成运算放大器构成基本运算单元——标量乘法器、加法器和积分器,以及它们的组合全加积分器连续时间系统的模拟,通常由三个基本运算单元——标量乘法器、加法器和积分器构成,实际上还常常用到它们的组合全加积分器,这些运算单元都可以用集成运算放大器构成。
① 标量乘法器(又称比例放大器)图13-1(a) 反相标标量乘法器 图13-1(b) 同相标量乘法器电路反相标量乘法器电路如图13-1(a )所示:01F i i R U U k U R=-=⋅,式中比例系数k 为:1F R k R =-当R 1=R F 时,k =-1,则u 0=-u i ,称为反相跟随器。
第一篇 连续系统仿真篇第一章 连续系统仿真概论按系统模型的特征分类,可以有连续系统仿真及离散事件系统仿真两大类。
本篇讨论连续系统仿真问题。
过程控制系统、调速系统、随动系统等这类系统称作连续系统,它们共同之处是系统状态变化在时间上是连续的,可以用方程式(常微分方程、偏微分方程、差分方程)描述系统模型。
1.1 连续系统模型描述连续系统仿真中的数学模型有很多种,但基本上可分为三类:连续时间模型、离散时间模型及连续-离散混合模型。
本节将对它们的线性定常形式作一介绍,1.2节将介绍几种模型结构变换的方法。
1.1.1 连续时间模型如果一个系统的输入量u(t),输出量y(t),系统的内部状态变量x(t)都是时间的连续函数,那么我们可以用连续时间模型来描述它。
系统的连续时间模型通常可以有以下几种表示方式:常微分方程,传递函数,权函数,状态空间描述.本节仅对其一般描述形式作一简要介绍,偏微分方程将在第8章讨论。
1.常微分方程常微分方程可用(1.1)式表示:u c dt ud c dt u d c y a dt dy a dt y d a dt y d n n n n n n n n n nn +++=++++------- 1221111111(1.1) 其中n 为系统的阶次,a i n i (,,,,)=012 为系统的结构参数,),,2,1(n j c j =为输入函数的结构参数,它们均为实常数。
2.传递函数若系统的初始条件为零,即系统在 t=0时已处于一个稳定状态,那么对(1.1)式两边取拉氏变换后可得:)()()()()()()(2211111s U c s U sc s U sc s Y a s sY a s Y s a s Y s n n n n n n n +++=++++----稍加整理,并记:jn j jn n j jjn s a s cs U s Y s G ∑∑=--=-==10)()()( (1.2)(1.2)式称为系统的传递函数。
Chapter 2习题答案 经典的连续系统仿真建模方法学1. 数值积分法已知微分方程为1)0(,2=--=x t x x,取仿真步长2.0=h ,利用RK2计算4.0=t 时x 的值。
解:RK2公式为:),(),()(2121211hK x h t f K x t f K K K hx x k k k k k k ++==++=+,而k k k k t x x t f --=2),(则:ht h x h h t hK x hK x h t f K t x x t f K k k k k k k kk k k --+-=+-+-=++=--==)12()24()()(2),(2),(1121故:02.016.068.01--=+k k k t x x 列表计算:2. 仿真步长对计算稳定性的影响0)0(,x x x x==λ (1) 其中0<λ,讨论用梯形法计算该模型时,仿真步长h 与算法稳定性的关系。
解:梯形法计算公式的计算公式为)],(),([2111+++++=n n n n n n t x f t x f hx x (2)将(1)代入(2),有:112112)21()(2)(2+++++=++=++=n n n n n n n x h x h x x h x K K h x x λλλλ (3) 即: n n x h x h )21()21(1λλ+=-+ (4)设n x 为x 的一个仿真解,设n n x ε+为其准确解,即))(21())(21(11n n n n x h x h ελελ++=+-++ (5) (5)式减去(4)式,有:n n h h ελλε⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-+=+21211(6)上面的(6)式可以认为描述的是一个离散时间系统,改系统稳定时,估计误差n ε会趋于零。
根据离散系统稳定性要求,有:12121<-+λλh h (7)显然0<λ时,上式恒成立,所以选取任何仿真步长都能使仿真稳定。
实验一经典 的连续系统仿真建模方法
一 实验目的:
1 了解和掌握利用仿真技术对控制系统进行分析的原理和步骤。
2 掌握机理分析建模方法。
3 深入理解阶常微分方程组数值积分解法的原理和程序结构,学习用Matlab编写
数值积分法仿真程序。
4 掌握和理解四阶Runge-Kutta法,加深理解仿真步长与算法稳定性的关系。
二 实验原理:
1非线性模型仿真
221122112111HH
Adt
dH
HQuk
Adt
dH
du
duQ
u
AA
k
H
H
ARAR
AR
H
00
1
11
0
1
2
1
212
12
三 实验内容:
1. 编写四阶 Runge_Kutta 公式的计算程序,对非线性模型(3)式进行仿真。
(1) 将阀位u 增大10%和减小10%,观察响应曲线的形状;
(2) 研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定?
(3) 利用 MATLAB 中的ode45()函数进行求解,比较与(1)中的仿真结果有何区别。
2. 编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真
(1) 将阀位增大10%和减小10%,观察响应曲线的形状;
(2) 研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定?
(4) 阀位增大10%和减小10%,利用MATLAB 中的ode45()函数进行求解阶跃响
应,比较与(1)中的仿真结果有何区别。
四 程序代码:
龙格库塔:
%RK4文件
clc
close
H=[1.2,1.4]';u=0.55; h=1;
TT=[];
XX=[];
for i=1:h:200
k1=f(H,u);
k2=f(H+h*k1/2,u);
k3=f(H+h*k2/2,u);
k4=f(H+h*k3,u);
H=H+h*(k1+2*k2+2*k3+k4)/6;
TT=[TT i];
XX=[XX H];
end;
hold on
plot(TT,XX(1,:),'--',TT,XX(2,:));
xlabel('time')
ylabel('H')
gtext('H1')
gtext('H2')
hold on
水箱模型:
function dH=f(H,u)
k=0.2;
u=0.5;
Qd=0.15;
A=2;
a1=0.20412;
a2=0.21129;
dH=zeros(2,1);
dH(1)=1/A*(k*u+Qd-a1*sqrt(H(1)));
dH(2)=1/A*(a1*sqrt(H(1))-a2*sqrt(H(2)));
三 实验结果:
2编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)
式进行仿真:
1 阀值u对仿真结果的影响
U=0.45;h=1; U=0.5;h=1;
U=0.55;h=1;
2 步长h对仿真结果的影响:
U=0.5;h=5; U=0.5;h=20;
U=0.5;h=39 U=0.5;h=50
由以上结果知,仿真步长越大,仿真结果越不稳定。
采用ode45算法程序如下:
function dH=liu(t,H)
k=0.2;
u=0.45;
Qd=0.15;
A=2;
a1=0.20412;
a2=0.21129;
dH=zeros(2,1);
dH(1)=1/A*(k*u+Qd-a1*sqrt(H(1)));
dH(2)=1/A*(a1*sqrt(H(1))-a2*sqrt(H(2)));
在命令窗口运行以下程序:
[t,H]=ode45('liu',[1 200],[1.2 1.1]);
plot(t,H(:,1),['r','+'],t,H(:,2),['g','*'])
u=0.45 u=0.5
u=0.55
用ode45与用龙格库塔法仿真结果基本一致。
2编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)
式进行仿真:
%RK4文件
clc
clear
close
x=[1.2,1.4]';u=0.5; h=5;
TT=[];
XX=[];
for i=1:h:200
k1=f2(x,u);
k2=f2(x+h*k1/2,u);
k3=f2(x+h*k2/2,u);
k4=f2(x+h*k3,u);
x=x+h*(k1+2*k2+2*k3+k4)/6;
TT=[TT i];
XX=[XX x];
end;
hold on
plot(TT,XX(1,:),'--',TT,XX(2,:));
xlabel('time')
ylabel('x')
gtext('x1')
gtext('x2')
hold on
线性函数:
function dx=f2(x,u)%线性
Qd=0.1;
a1=0.20412;a2=0.21129;
A=2;k=0.2;
dx=zeros(2,1);
dx(1)=1/A*(k*u-x(1)/(2*sqrt(1.5)/a1)+Qd);
dx(2)=1/A*(x(1)/(2*sqrt(1.5)/a1)-x(2)/(2*sqrt(1.4)/a2));
1 阀值u对仿真结果的影响:
U=0.45;h=1; U=0.5;h=1;
U=0.55;h=1;
2 步长h对仿真结果的影响:
U=0.5;h=5; U=0.5;h=20;
U=0.5;h=35; U=0.5;h=50;
当步长为50时仿真结果开始不稳定,仿真步长越大,仿真结果越不稳定。
采用ode45算法程序如下:
function dx=liu2(t,x)%ÏßÐÔ
Qd=0.1;
u=0.45;
a1=0.20412;a2=0.21129;
A=2;k=0.2;
dx=zeros(2,1);
dx(1)=1/A*(k*u-x(1)/(2*sqrt(1.5)/a1)+Qd);
dx(2)=1/A*(x(1)/(2*sqrt(1.5)/a1)-x(2)/(2*sqrt(1.4)/a2));
在命令窗口运行以下程序:
>> [t,x]=ode45('liu2',[1 200],[1.2 1.4]);
>> plot(t,x(:,1),['r','+'],t,x(:,2),['g','*'])
U=0.45; u=0.5;
U=0.55
用ode45与用龙格库塔法仿真结果基本一致。
五 思考讨论:
1 仿真步长越短,仿真结果越稳定,越精确。
2 通过改变u来改变阀的开度,线性系统和非线性系统方法一样。
3
4
5
6 (注:可编辑下载,若有不当之处,请指正,谢谢!)
7
8
9
10
11
12