由状态空间表达式求传递函数
- 格式:ppt
- 大小:219.50 KB
- 文档页数:6
传递函数、零极点增益与状态空间三种模型转换的MATLAB算法实现一、引言微分方程是自控控制系统最原始的数学模型,它反映系统动态运行规律。
时域分析中要用拉普拉斯变换定义传递函数,再做其它转化。
为了方便我们对自动控制理论的理解和学习,本人总结了传递函数、零极点增益与状态空间三种模型转换的MATLAB算法,用处多多。
二、状态空间模型转换为传递函数、零极点增益模型1、MATLAB算法%将状态空间模型x(t)=Ax(t)+Bu(t),y(t)=Cx(t)+Du(t)转化成传递函数G(s)=num(s)/den(s)%或零极点模型G(s)=k(s+z1)(s+z2)...(s+zm)/(s+p1)(s+p2)...(s+pn)的函数ssto2.m%调用格式G=ssto2(key,A,B,C,D),其中输入参数A,B,C,D为状态空间四个矩阵,输出参数当key=1%时为传递函数;当key=2时,为状态空间模型function G=ssto2(key,A,B,C,D)if key==1sys=ss(A,B,C,D);G=tf(sys),elseif key==2sys=ss(A,B,C,D);G=zpk(sys),end2、例题分析【例1】已知一加压液流箱系统,该系统的状态变量是液位h(t)与料浆总压H(t),输入变量是料浆流入量u1(t)与空气流入量u2(t),输出变量就是状态变量H(t)与h(t)本身,系统状态空间模型为H(t)ℎ(t)=−0.39120.01234−0.0220H(t)ℎ(t)+0.033440.012340.0008960u1(t)u2(t) y1(t)y2(t)=11H(t)ℎ(t)+00u1(t)u2(t)求多个输入到输出的传递函数模型与多个输入到输出的零极点增益模型。
>> clear;A=[-0.3912,0.01234;-0.022,0];B=[0.03344,0.01234;0.000896,0];C=[1,1];D=[0,0];key=1;G=ssto2(key,A,B,C,D);key=2;G=ssto2(key,A,B,C,D);G =From input 1 to output:0.03434 s - 0.0003741--------------------------s^2 + 0.3912 s + 0.0002715From input 2 to output:0.01234 s - 0.0002715--------------------------s^2 + 0.3912 s + 0.0002715Continuous-time transfer function.G =From input 1 to output:0.034336 (s-0.0109)------------------------(s+0.3905) (s+0.0006952)From input 2 to output:0.01234 (s-0.022)------------------------(s+0.3905) (s+0.0006952)Continuous-time zero/pole/gain model.三、传递函数模型转换为状态空间、零极点增益模型1、MATLAB算法%将传递函数模型G(s)=num(s)/den(s)转换成零极点模型%G(s)=k(s+z1)(s+z2)...(s+zm)/(s+p1)(s+p2)...(s+pn)%或状态空间模型x(t)=Ax(t)+Bu(t),y(t)=Cx(t)+Du(t)的函数%tfto2.m,函数的调用格式为G=tfto2(key,n,d)%其中输入参数n与d为传递函数分子、分母均按s的降幂排列的两个向量%输出参数key=1时,为零极点模型;key=2时,为状态空间模型%sys = tf(num,den)命令可以建立一个传递函数,其中分子和分母分别为num和den。
《现代控制理论》MOOC课程1.4从状态空间表达式求传递函数矩阵一. 传递函数矩阵的定义定义:对于多输入-多输出线性定常系统,输入向量为,输出向u =u 1u 2⋯u r T 量为, 且假定初始状态为零。
分别表示的拉氏y =y 1y 2⋯y m T ෝu i s ,ෝy i s u i ,y i ොy 1s =w 11s ොu 1s +w 12s ොu 2s +⋯+w 1r s ොu r sොy 2s =w 21s ොu 1s +w 22s ොu 2s +⋯+w 2r s ොu r s⋮ොy m s =w m1s ොu 1s +w m2s ොu 2s +⋯+w mr s ොu r sෝy (s)=ොy 1(s)⋮ොy m (s)=w 11s⋯w 1r s⋮⋯⋮w m1s⋯w mr s ොu 1(s)⋮ොu r (s)=W (s )ෝu (s )写成向量形式:称为系统的传递函数矩阵。
W (s )变换,表示第j 个输入端到第i 个输出端的传递函数,系统的输入输出关系可描述为:w ij (s )x=A x+Bu x0=0y=C x+Du结论:对应于状态空间描述W(s)=C(sI−A)−1B+D 其传递函数矩阵为:证明:lims→∞W s=D且有:W(s)并且,当D≠0时,为真有理分式矩阵,当D=0时,为严格真有理分式矩阵,W s对状态空间表达式取拉氏变换:s X(s)=AX(s)+BU(s)Y(s)=CX(s)+DU(s)由状态方程的拉氏变换表达式可得:X(s)=(sI−A)−1B U(s)Y(s)=(C(sI−A)−1B+D )U(s)代入输出方程的拉氏变换表达式可得:故传递函数矩阵为:W(s)=C(sI−A)−1B+D对于传递函数矩阵:W(s )=C (sI −A )−1B +D 考虑:(sI −A)−1=Τadj(sI −A )det (sI −A )且伴随矩阵每个元素多项式的最高次幂都小于的最高次幂,故adj (sI −A )det (sI −A )lim s→∞W s =D因此有:lim s→∞(sI −A )−1=0当D =0时,为严格真有理分式;W s 故当D ≠0时,为真有理分式;W s三. 传递函数矩阵的唯一性证明:一个系统的状态空间表达式是非唯一的,但其传递函数矩阵是唯一的。
实验1 系统的传递函数阵和状态空间表达式的转换一 实验目的1 学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;2 通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。
二 实验原理(1) 由传递函数建立状态空间 系统的传递函数为()()()11101110n n n n n n n Y s b s b s b s b G s U s s a s a s a ----++++==++++ ()()1212100121210n n n n n n n n n n N s s s s b b s a s a s a s s D s ββββ--------++++=+=++++++ (i )()()N s D s 只含单实极点时的情况。
设()D s 可分解为: ()()()()12n D s s s s λλλ=---则 ()()()()1n ii iY s N s c U s D s s λ===-∑若令状态变量为 ()1i iX U s s λ=- 其向量-矩阵形式为11122201101n n n x x x x u x x λλλ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎣⎦,[]12n n x x y c cc x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(ii )()()N s D s 含重实极点时的情况。
例如()D s 可分解为 ()()()()314n D s s s s λλλ=---则 ()()()()()()131112324111ni i iY s N s c c c c U s D s s s s s λλλλ===+++----∑ 若令状态变量为 ()1i iX U s s λ=- 111111211213113444101001101n n n x x x x x x u x x x x λλλλλ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎣⎦ []1112134n y c c c c c x =(2) 状态方程转化为传递函数设系统的模型如式(1-1)示。
传递函数写状态空间表达式【导言】在工程学科领域中,状态空间方法是一种十分重要的工具,在控制系统和信号处理方面得到了广泛应用。
在此过程中,传递函数和状态空间表达式便成为了其中不可或缺的两个环节。
本文将从传递函数转化为状态空间表达式这一点入手,给读者详细介绍其操作方法和其中的一些要点。
【一、传递函数和状态空间表达式概述】首先我们需要了解一些基本概念。
传递函数(Transfer Function)指的是在时域和频域之间建立约束关系的函数。
它描述了系统输入与输出之间的关系,是刻画线性时不变系统的一种有效方式。
状态空间表达式(State-Space Representation)指的是在某些符号和运算法则下,将一个时不变系统的整个历史过程表示为一个有限元素向量和矩阵的函数。
它描述了系统在时域和状态空间中的变化、状态之间的相互关系和控制变量和系统状态之间的关联。
传递函数与状态空间模型是描述线性时不变系统常用的两种方法。
传递函数的优点是简单、直接,能够快速得到系统的频率特性,但是只能表达一阶系统。
状态空间模型能够表达高阶、非线性系统,可以更好地反映物理实际。
【二、传递函数转化为状态空间表达式】将传递函数转化为状态空间表达式,原则上可以采用多种方法,本文将以矩阵分式形式为例进行讲解。
假设系统的传递函数为G(s),那么我们可以按照以下步骤进行转化:1、设系统的状态变量为x,输出变量为y,则系统的状态方程可以表示为:x' = Ax + Buy = Cx + Du其中A、B、C和D是系统的状态矩阵、输入矩阵、输出矩阵和耦合矩阵。
2、用连分式的形式表示传递函数:G(s) = D + C(sI - A)⁻¹ B3、将上式展开,得到:G(s) = D + CB⁻¹(sI - A)⁻¹ B4、令P(s) = (sI - A),则:G(s) = D + CB⁻¹P⁻¹(s)B5、对P(s)进行分解:P(s) = (s - λ1)Q1(s) ... (s - λn)Qn(s)其中λ1,λ2,...,λn是P(s)的特征值,Q1(s),Q2(s),...,Qn(s)是与特征值相关的特征向量矩阵。
实验一 MATLAB 系统的传递函数和状态空间表达式的转换一、实验目的1、学习多变量系统状态空间表达式的建立方法;2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数之间相互转换的方法;3、掌握相应的MATLAB 函数。
二、实验原理设系统的模型如式(1.1)所示:⎩⎨⎧+=+=DCx y BuAx x ' x ''R ∈ u ∈R ’’’ y ∈R P (1.1) 其中A 为nXn 维系统矩阵、B 为nXm 维输入矩阵、C 为pXn 维输出矩阵,D 为直接传递函数。
系统的传递函数和状态空间表达式之间的关系如式(1.2)所示G(s)=num(s)/den(s)=C (SI-A)-1 B+D (1.2) 式(1.2)中,num(s)表示传递函数的分子阵,其维数是pXm ,den(s)表示传递函数的按s 降幂排列的分母。
表示状态空间模型和传递函数的MATLAB 函数如下:函数ss (state space 的首字母)给出了状态空间模型,其一般形式是: sys=ss(A,B,C,D)函数tf (transfer function 的首字母)给出了传递函数,其一般形式是: G=tf(num ,den)其中num 表示传递函数中分子多项式的系数向量(单输入单输出系统),den 表示传递函数中分母多项式的系数向量。
函数tf2ss 给出了传递函数的一个状态空间实现,其一般形式是: [A,B,C,D]=tf2ss(num,den)函数ss2tf 给出了状态空间模型所描述系统的传递函数,其一般形式是: [num,den]=ss2tf(A,B,C,D,iu)其中对于多输入系统,必须确定iu 的值。
例如,若系统有三个输入u 1,u 2,u 3,则iu 必须是1、2、或3,其中1表示u 1,2表示u 2,3表示u 3。
该函数的结果是第iu 个输入到所有输出的传递函数。
三.实验步骤及结果1、应用MATLAB 对下列系统编程,求系统的A 、B 、C 、D 阵,然后验证传递函数是相同的。
传递函数、零极点增益与状态空间三种模型转换的MATLAB算法实现一、引言微分方程是自控控制系统最原始的数学模型,它反映系统动态运行规律。
时域分析中要用拉普拉斯变换定义传递函数,再做其它转化。
为了方便我们对自动控制理论的理解和学习,本人总结了传递函数、零极点增益与状态空间三种模型转换的MATLAB算法,用处多多。
二、状态空间模型转换为传递函数、零极点增益模型1、MATLAB算法%将状态空间模型x(t)=Ax(t)+Bu(t),y(t)=Cx(t)+Du(t)转化成传递函数G(s)=num(s)/den(s)%或零极点模型G(s)=k(s+z1)(s+z2)...(s+zm)/(s+p1)(s+p2)...(s+pn)的函数ssto2.m%调用格式G=ssto2(key,A,B,C,D),其中输入参数A,B,C,D为状态空间四个矩阵,输出参数当key=1%时为传递函数;当key=2时,为状态空间模型function G=ssto2(key,A,B,C,D)if key==1sys=ss(A,B,C,D);G=tf(sys),elseif key==2sys=ss(A,B,C,D);G=zpk(sys),end2、例题分析【例1】已知一加压液流箱系统,该系统的状态变量是液位h(t)与料浆总压H(t),输入变量是料浆流入量u1(t)与空气流入量u2(t),输出变量就是状态变量H(t)与h(t)本身,系统状态空间模型为H(H)−0.39120.01234H(H)0.033440.01234H1(H)=+ℎ(H)ℎ(H)H2(H)−0.02200.0008960H1(H)H(H)H1(H)=11+00H2(H)ℎ(H)H2(H)求多个输入到输出的传递函数模型与多个输入到输出的零极点增益模型。
>> clear;A=[-0.3912,0.01234;-0.022,0];B=[0.03344,0.01234;0.000896,0];C=[1,1];D=[0,0];key=1;G=ssto2(key,A,B,C,D);key=2;G=ssto2(key,A,B,C,D);G =From input 1 to output:0.03434 s - 0.0003741--------------------------s^2 + 0.3912 s + 0.0002715From input 2 to output:0.01234 s - 0.0002715--------------------------s^2 + 0.3912 s + 0.0002715 Continuous-time transfer function.G =From input 1 to output:0.034336 (s-0.0109)------------------------(s+0.3905) (s+0.0006952)From input 2 to output:0.01234 (s-0.022)------------------------(s+0.3905) (s+0.0006952) Continuous-time zero/pole/gain model.三、传递函数模型转换为状态空间、零极点增益模型1、MATLAB算法%将传递函数模型G(s)=num(s)/den(s)转换成零极点模型%G(s)=k(s+z1)(s+z2)...(s+zm)/(s+p1)(s+p2)...(s+pn)%或状态空间模型x(t)=Ax(t)+Bu(t),y(t)=Cx(t)+Du(t)的函数%tfto2.m,函数的调用格式为G=tfto2(key,n,d)%其中输入参数n与d为传递函数分子、分母均按s的降幂排列的两个向量%输出参数key=1时,为零极点模型;key=2时,为状态空间模型%sys = tf(num,den)命令可以建立一个传递函数,其中分子和分母分别为num和den。
由状态空间表达式求传递函数传递函数可以通过状态空间表达式直接计算得出。
首先,写出状态空间表达式:
$\begin{cases} \dot{x}(t) = Ax(t) + Bu(t) \\ y(t)= Cx(t) + Du(t) \end{cases}$
其中,
- $A$、$B$、$C$、$D$ 分别为系统的状态、输入、输出矩阵;
- $x(t)$、$u(t)$、$y(t)$ 分别为系统的状态、输入、输出向量。
接着,对状态空间表达式进行变换,得到传递函数的表达式。
令 $X(s)$、$U(s)$、$Y(s)$ 分别为拉普拉斯变换后的状态、输入、输出向量,
则有:
$\begin{aligned} sX(s) &= AX(s) + BU(s) \\ Y(s) &= CX(s) + DU(s) \end{aligned}$ 将 $X(s)$ 化简,得到:
$X(s) = (sI - A)^{-1}BU(s)$
再将 $X(s)$ 代入 $Y(s)$,得到:
$Y(s) = C(sI - A)^{-1}BU(s) + DU(s)$
将 $U(s)$ 提取出来,有:
$\frac{Y(s)}{U(s)}= C(sI - A)^{-1}B + D$
此即为系统的传递函数。
需要注意的是,此传递函数是一个矩阵,通常我们会简化为一个标量传递函数。
传递函数和状态空间方程引言传递函数和状态空间方程是控制系统工程中常用的数学模型和分析工具。
它们用于描述和分析动态系统的行为和性能,对于控制系统的设计和优化起着关键作用。
传递函数定义在控制系统中,传递函数是一个描述输入和输出之间关系的数学函数。
传递函数通常用G(s)表示,其中s是复数变量,表示系统的复频域特性。
传递函数描述了一个线性、时不变系统对输入信号的响应。
传递函数的一般形式如下:b0*s^n + b1*s^(n-1) + ... + bnG(s) = ---------------------------------------s^m + a1*s^(m-1) + ... + am其中n和m分别是传递函数的分子和分母的最高次幂。
用途传递函数可用于描述系统的频率响应和稳定性特性。
传递函数可以反映系统对不同频率的输入信号的放大或衰减情况,帮助工程师了解系统的动态特性。
传递函数还可以用于控制系统的设计和分析。
通过对传递函数进行数学运算和变换,可以获得系统的稳定性、动态响应以及频域特性等关键性能指标。
工作方式传递函数的输入是一个复数变量s,代表系统的频域特性。
通过将s带入传递函数的表达式中,可以得到系统的输出。
传递函数的输出代表了系统对输入信号的响应。
通过对传递函数表达式进行分析和计算,可以获得系统的稳定性、频率响应和动态响应等关键性能指标。
状态空间方程定义在控制系统中,状态空间方程是一种用状态变量表示系统状态的数学模型。
状态空间方程描述了系统的状态和状态变化随时间的规律。
状态空间方程的一般形式如下:dx/dt = Ax + Buy = Cx + Du其中,x是系统的状态向量,表示系统的状态变量;u是系统的输入向量,表示系统的输入信号;y是系统的输出向量,表示系统的输出信号;A、B、C和D是系统的系数矩阵。
用途状态空间方程可以用于描述和分析系统的动态行为和稳定性特性。
状态空间方程是一种直观、物理意义明确的模型,可以帮助工程师理解系统的内部状态和相互关系。