当前位置:文档之家› 离散时间系统状态方程和输出方程的求解

离散时间系统状态方程和输出方程的求解

控制系统状态方程求解

第2章 控制系统的状态方程求解 要点: ① 线性定常状态方程的解 ② 状态转移矩阵的求法 ③ 离散系统状态方程的解 难点: ① 状态转移矩阵的求法 ② 非齐次状态方程的解 一 线性定常系统状态方程的解 1 齐次状态方程的解 考虑n 阶线性定常齐次方程 ? ? ?==0)0()()(x x t Ax t x & (2-1) 的解。 先复习标量微分方程的解。设标量微分方程为 ? ??==0)0(x x ax x & (2-2) 对式(2-2)取拉氏变换得 )()(0s aX X s sX =- 移项 0)()(x s X a s =- 则 a s x s X -= )(

取拉氏反变换,得 00 0!)()(x k at x e t x k k at ∑∞ === 标量微分方程可以认为是矩阵微分方程当n=1时的特征,因此矩阵微分方程的解与标量微分方程应具有形式的不变性,由此得如下定理: 定理2-1 n 阶线性定常齐次状态方程(2-1)的解为 00 0!)()(x k At x e t x k k At ∑∞ === (2-3) 式中,∑∞ ==0 !)(k k At k At e 推论2-1 n 阶线性定常齐次状态方程 ???==00 )()()(x t x t Ax t x & (2-4) 的解为 0)(0 )(x e t x t t A -= (2-5) 齐次状态方程解的物理意义是)(0 t t A e -将系统从初始时刻0t 的初始 状态0x 转移到t 时刻的状态)(t x 。故)(0 t t A e -又称为定常系统的状态转移 矩阵。 (状态转移矩阵有四种求法:即定义(矩阵指数定义)法、拉氏反变换法、特征向量法和凯来-哈密顿(Cayly-Hamilton )法) 从上面得到两个等式 ∑∞ ==0 !)(k k At k At e ])[(11---=A sI L e At 其中,第一式为矩阵指数定义式,第二式可为At e 的频域求法或拉氏反变换法

第三章线性系统状态方程的解

第三章 系统的分析——状态方程的解 §3-1线性连续定常齐次方程求解 一、齐次方程和状态转移矩阵的定义 1、齐次方程 状态方程的齐次方程部分反映系统自由运动的状况(即没有输入作用的状况),设系统的状态方程的齐次部分为: )()(t Ax t x =& 线性定常连续系统: Ax x =& 初始条件:00x x t == 2、状态转移矩阵的定义 齐次状态方程Ax x =&有两种常见解法:(1)幂级数法;(2)拉氏变换法。其解为 )0()(x e t x At ?=。其中At e 称为状态转移矩阵(或矩阵指数函数、矩阵指数),记为: At e t =)(φ。 若初始条件为)(0t x ,则状态转移矩阵记为:) (0 0)(t t A e t t -=-Φ 对于线性时变系统,状态转移矩阵写为),(0t t φ,它是时刻t ,t 0的函数。但它一般不能写成指数形式。 (1)幂级数法——直接求解 设Ax x =&的解是t 的向量幂级数 Λ ΛΛΛ+++++=k k t b t b t b b t x 2210)( 式中ΛΛ,,, ,,k b b b b 210都是n 维向量,是待定系数。则当0=t 时, 000b x x t === 为了求其余各系数,将)(t x 求导,并代入)()(t Ax t x =&,得: Λ ΛΛΛ&+++++=-1232132)(k k t kb t b t b b t x )(2210ΛΛΛΛ+++++=k k t b t b t b b A

上式对于所有的t 都成立,故而有: ????? ??????======00 3 230 21201!1!31312121b A k b b A Ab b b A Ab b Ab b K K M 且有:00x b = 故以上系数完全确定,所以有: Λ ΛΛΛ+++++=k k t b t b t b b t x 2210)( ΛΛ++++ +=k k t b A k t b A t Ab b 020200! 1 !21 )0()! 1!21(22x t A k t A At I k k ΛΛ+++++= 定义(矩阵指数或矩阵函数): ∑∞==+++++=022! 1!1!21K k k k k At t A k t A k t A At I e ΛΛ 则 )0()(x e t x At ?=。 (2)拉氏变换解法 将Ax x =&两端取拉氏变换,有 )()0()(s AX X s sX =- )0()()(X s X A sI =- )0()()(1X A sI s X ?-=- 拉氏反变换,有 )0(])[()(1 1x A sI L t x ?-=--

2.状态方程的解

Chapter2状态方程的解 我们要解决的问题是:在系统初始时刻0t t =时,初始状态为00)(x t x =的条件下,对该系统施加控制)(t u ,求出系统状态)(t x 的变化,即求解非齐次方程 (0)(≠t u )初值问题的解: 00 0)()()()()()(t t x t x t u t B t x t A t x ≥=+=& 或者在系统不加控制)(t u ,(0)(=t u 称为自由系统)的条件下,求出初值)(0t x 对系统状态)(t x 的影响,即求解齐次方程初值问题的解: 00 0)(),()()(t t x t x t x t A t x ≥==& ????离散连续线性定常????离散连续线性时变?? ?? ? ??????数值解解析解非齐次数值解解析解齐次 2.1 线性定常系统状态方程的解 2.1.1 n 阶、线性、定常(无关与时间t A )连续系统齐次状态方程的解 我们知道:常系数线性微分方程(标量方程))()(t ax t x =&,0)0(x x =,0≥t 其解为 00 0!)(x k t a x e t x k k k at ∑∞ === 对齐次状态方程(矩阵方程) )()(t Ax t x =&,0)0(x x =,0≥t 很自然,仿照常系数线性微分方程,可得到n 阶线性、定常、连续系统齐次(0)(=t u )状态方程的解 000! )(x k t A x e t x k k k At ∑ ∞ === 定义矩阵指数:k k k k k At t A k t A At I k t A e ! 1 21!220 ++++=≡∑ ∞ =Λ,它仍是一个矩阵。 若初始时间为0t ,则状态方程的解为 00 00) (!)()(0x k t t A x e t x k k k t t A ∑∞ =--== ∑ ∞ =--=0 0) (! )(0k k k t t A k t t A e 称为定常(连续)系统的状态转移矩阵。 )(0t t A e -物理意义:将系统从初始状态)(0t x 转移到(时刻t 的)状态)(t x 。 2.1.2 矩阵指数At e 的性质

求解系统的状态方程

求解系统的状态方程 一、实验设备 PC计算机,MATLAB软件,控制理论实验台 二、实验目的 (1)掌握状态转移矩阵的概念。学会用MATLAB求解状态转移矩阵 (2)学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应; (3)通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制输出响应和状态响应曲线; (4)掌握利用MATLAB导出连续状态空间模型的离散化模型的方法。 三、实验原理及相关基础 (1)参考教材P99~101“3.8利用MATLAB求解系统的状态方程” (2)MATLAB现代控制理论仿真实验基础 (3)控制理论实验台使用指导 四、实验内容 (1)求下列系统矩阵A对应的状态转移矩阵 (a)

(b) 代码: syms lambda A=[lambda 0 0;0 lambda 0;0 0 lambda];syms t;f=expm(A*t) (c) 代码: syms t;syms lambda;A=[lambda 0 0 0;0 lambda 1 0;0 0 lambda 1;0 0 0 lambda];f=expm(A*t) (2) 已知系统

a) 用MATLAB求状态方程的解析解。选择时间向量t,绘制系统的状态响应曲线。观察并记录这些曲线。 (1) 代码: A=[0 1; -2 -3]; B=[3;0]; C=[1 1]; D=[0]; u=1; syms t; f=expm(A*t);%状态转移矩阵 x0=0; s1=f*B*u; s2=int(s1,t,0,t)%状态方程解析解 状态曲线: (2)A=[0 1;-2 -3]; syms t; f=expm(A*t); X0=[1;0]; t=[0:0.5:10]; for i=1:length(t); g(i)=double(subs(f(1),t(i))); end plot(t,g)

利用 MATLAB 求解系统的状态方程

实验报告 实验名称利用 MATLAB 求解系统的状态方程 系统的能控性、能观测性分析 系专业班 姓名学号授课老师 预定时间2014-5-28实验时间实验台号14 一、目的要求 掌握状态转移矩阵的概念。学会用 MATLAB求解状态转移矩阵。 掌握求解系统状态方程的方法,学会绘制状态响应曲线; 掌握线性系统状态方程解的结构。学会用 MATLAB 求解线性定常系统的状态响应和输出响应,并绘制相应曲线。 掌握能控性和能观测性的概念。学会用 MATLAB 判断能控性和能观测性。 掌握系统的结构分解。学会用 MATLAB 进行结构分解。 掌握最小实现的概念。学会用 MATLAB 求最小实现。 二、原理简述 线性定常连续系统的状态转移矩阵为。 函数 step( ) 可直接求取线性连续系统的单位阶跃响应。 函数 impulse( ) 可直接求取线性系统的单位脉冲响应。 函数 lsim( ) 可直接求取线性系统在任意输入信号作用下的响应。 函数 initial( ) 可求解系统的零输入响应。 n 阶线性定常连续或离散系统状态完全能控的充分必要条件是:能控性

的秩为 n。 线性定常连续或离散系统输出能控的充分必要条件是:矩阵 的秩为m。 n 阶线性定常连续或离散系统状态完全能观测的充分必要条件是:能观测性矩阵 的秩为 n。 三、仪器设备 PC 计算机,MATLAB 软件 四、内容步骤 题2.1 A=[0 1;-2 -3];B=[3;0];C=[1 1];D=0; G=ss(A,B,C,D); t=0.5; p=expm(A*t) u1=0;x10=[1;-1]; [y1o,t,x1o]=initial(G,x10,t) t2=0:0.5:10;x20=[0;0];u2=ones(size(t2)); [y2,t2,x2]=lsim(G,u2,t2); plot(t2,x2,':',t2,y2,'-')

控制系统状态方程求解

第三章控制系统状态方程求解 3-1 线性连续定常齐次方程求解 所谓齐次方程解,也就是系统的自由解,是系统在没有控制输入的情况下,由系统的初始状态引起的自由运动,其状态方程为: ………………………………………………………(3 -1) 上式中,X是n×1维的状态向量,A是n×n的常数矩阵。 我们知道,标量定常微分方程的解为: ………………(3 -2) 与(3-2)式类似,我们假设(3-1)的解X(t)为时间t的幂级数形式,即: ………………………………(3 -3) 其中为与X(t)同维的矢量。 将(3-3)两边对t求导,并代入(3-1)式,得:

上式对任意时间t都应该成立,所以变量t的各阶幂的系数都应该相等,即: 即: ……………………………………………(3-4) 将系统初始条件代入(3-3),可得。代入(3-4)式可得: (3) 5) 代入(3-3)式可得(3-1)式的解为:

(3) 6) 我们记: (3) 7) 其中为一矩阵指数函数,它是一个n×n的方阵。所以(3-6)变为: (3) 8) 当(3-1)式给定的是时刻的状态值时,不难证明: (3) 9) 从(3-9)可看出,形式上是一个矩阵指数函数,且也是一个各元素随时间t变化的n×n矩阵。但本质上,它的作用是将时刻的系统状态矢量转移到t时刻的状态矢量,也就是说它起到了系统状态转移的作用,所以我们称之为状态转移矩阵(The State Transition Matrix),并记: (3) 10) 所以:

【例3-1】已知,求解:根据(3-7)式, 3-2 的性质及其求法 性质1: 【证】根据的定义式(3-7), 【证毕】 性质2:① ②

现设线性时变系统的离散状态方程和观测方程

现设线性时变系统的离散状态方程和观测方程为: X(k) = F(k,k-1)·X(k-1)+T(k,k-1)·U(k-1) Y(k) = H(k)·X(k)+N(k) 其中 X(k)和Y(k)分别是k时刻的状态矢量和观测矢量 F(k,k-1)为状态转移矩阵 U(k)为k时刻动态噪声 T(k,k-1)为系统控制矩阵 H(k)为k时刻观测矩阵 N(k)为k时刻观测噪声 则卡尔曼滤波的算法流程为: 预估计X(k)^= F(k,k-1)·X(k-1) 计算预估计协方差矩阵 C(k)^=F(k,k-1)×C(k)×F(k,k-1)'+T(k,k-1)×Q(k)×T(k,k-1)' Q(k) = U(k)×U(k)' 计算卡尔曼增益矩阵 K(k) = C(k)^×H(k)'×[H(k)×C(k)^×H(k)'+R(k)]^(-1) R(k) = N(k)×N(k)' 更新估计 X(k)~=X(k)^+K(k)×[Y(k)-H(k)×X(k)^] 计算更新后估计协防差矩阵 C(k)~ = [I-K(k)×H(k)]×C(k)^×[I-K(k)×H(k)]'+K(k)×R(k)×K(k)' X(k+1) = X(k)~ C(k+1) = C(k)~ 重复以上步骤 **********************************************

Matlab实现代码 ******************************************************************************* ************************************************** %%%% Constant Velocity Model Kalman Filter Simulation %%%% %========================================================================== clear all; close all; clc; %% Initial condition ts = 1; % Sampling time t = [0:ts:100]; T = length(t); %% Initial state x = [0 40 0 20]'; x_hat = [0 0 0 0]'; %% Process noise covariance q = 5 Q = q*eye(2); %% Measurement noise covariance r = 5 R = r*eye(2); %% Process and measurement noise w = sqrt(Q)*randn(2,T); % Process noise v = sqrt(R)*randn(2,T); % Measurement noise %% Estimate error covariance initialization p = 5; P(:,:,1) = p*eye(4); %========================================================================== %% Continuous-time state space model %{ x_dot(t) = Ax(t)+Bu(t) z(t) = Cx(t)+Dn(t) %} A = [0 1 0 0; 0 0 0 0;

利用matlab求解系统的状态方程

实验报告 实验名称利用MATLAB 求解系统的状态方程 系统的能控性、能观测性分析 系专业班 姓名学号授课老师 预定时间2014-5-28实验时间实验台号14 一、目的要求 掌握状态转移矩阵的概念。学会用MATLAB求解状态转移矩阵。 掌握求解系统状态方程的方法,学会绘制状态响应曲线; 掌握线性系统状态方程解的结构。学会用MATLAB 求解线性定常系统的状态响应和输出响应,并绘制相应曲线。 掌握能控性和能观测性的概念。学会用MATLAB 判断能控性和能观测性。 掌握系统的结构分解。学会用MATLAB 进行结构分解。 掌握最小实现的概念。学会用MATLAB 求最小实现。 二、原理简述 线性定常连续系统的状态转移矩阵为。 函数step( ) 可直接求取线性连续系统的单位阶跃响应。 函数impulse( ) 可直接求取线性系统的单位脉冲响应。 函数lsim( ) 可直接求取线性系统在任意输入信号作用下的响应。 函数initial( ) 可求解系统的零输入响应。 n 阶线性定常连续或离散系统状态完全能控的充分必要条件是:能控性

矩阵的秩为n。 线性定常连续或离散系统输出能控的充分必要条件是:矩阵 的秩为m。 n 阶线性定常连续或离散系统状态完全能观测的充分必要条件是:能观测性矩阵 的秩为n。 三、仪器设备 PC 计算机,MATLAB 软件 四、内容步骤 题 A=[0 1;-2 -3];B=[3;0];C=[1 1];D=0; G=ss(A,B,C,D); t=; p=expm(A*t) u1=0;x10=[1;-1]; [y1o,t,x1o]=initial(G,x10,t) t2=0::10;x20=[0;0];u2=ones(size(t2)); [y2,t2,x2]=lsim(G,u2,t2); plot(t2,x2,':',t2,y2,'-')

第三章线性系统状态方程的解

第三章 线性系统的运动分析 §3-1线性连续定常齐次方程求解 一、齐次方程和状态转移矩阵的定义 1、齐次方程 状态方程的齐次方程部分反映系统自由运动的状况(即没有输入作用的状况),设系统的状态方程的齐次部分为:)()(t Ax t x = 线性定常连续系统:Ax x = 2、状态转移矩阵的定义 齐次状态方程Ax x = 有两种常见解法:(1)幂级数法;(2)拉氏变换法。其解为)0()(x e t x At ?=。 其中At e 称为状态转移矩阵(或矩阵指数函数、矩阵指数),记为:At e t =)(φ。 若初始条件为)(0t x ,则状态转移矩阵记为:)(00 )(t t A e t t -=-Φ 对于线性时变系统,状态转移矩阵写为),(0t t φ,它是时刻t ,t 0的函数。但它一般不能写成指数形式。 (1)幂级数法 设Ax x = 的解是t 的向量幂级数 +++++=k k t b t b t b b t x 2210)( 式中 ,,, ,,k b b b b 210都是n 维向量,则 +++++=-1232132)(k k t kb t b t b b t x )(2210 +++++=k k t b t b t b b A 故而有: ????? ?? ????== ====003 230 2 12 01!1! 3131 2 121b A k b b A Ab b b A Ab b Ab b K K

且有0)0(b x =。 故 +++++=k k t b t b t b b t x 2210)( ++ +++=k k t b A k t b A t Ab b 02 02 00! 1! 21 )0()! 1!21(22 x t A k t A At I k k ++ ++ += 定义:∑ ∞ == ++ +++=0 2 2! 1! 1!21K k k k k At t A k t A k t A At I e 则)0()(x e t x At ?=。 (2)拉氏变换解法 将Ax x = 两端取拉氏变换,有 )()0()(s Ax x s sx =- )0()()(x s x A sI =- )0()()(1x A sI s x ?-=- 拉氏反变换,有 )0(])[()(11x A sI L t x ?-=-- 则 ])[()(11---==A sI L e t At φ 【例3.1.1】 已知系统的状态方程为x x ?? ? ???=00 10 ,初始条件为)0(x ,试求状态转移矩阵和状态方程的解。 解:(1)求状态转移矩阵 ++ ++ +==k k At t A k t A At I e t ! 1! 21)(2 2φ 此题中: ???? ??=00 10A , ?? ? ???====00 0032n A A A 所以

离散时间系统的状态空间描述

燕山大学 课程设计说明书题目:离散时间系统的状态空间描述 学院(系):电气工程学院 年级专业:_11级精仪1班 学号: 110103020058 学生姓名: 指导教师: 教师职称:

电气工程学院《课程设计》任务书 课程名称:数字信号处理课程设计 说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。 2、学生那份任务书要求装订到课程设计报告前面。 电气工程学院教务科

摘要 摘要:线性时不变离散时间系统是最基本的数字系统,差分方程和系统函数是描述系统的常用数学模型,单位脉冲响应和频率响应是描述系统特性的主要特征参数,零状态响应和因果稳定性是系统分析的重要内容。文章从系统的分析流程、系统模型的创建、时域分析、频域分析和因果稳定性分析等方面,介绍了线性时不变离散时间系统的基本分析方法,并以实例形式列举了MATLAB实现程序。 关键词:MATLAB;离散时间系统;系统分析;传输函数

目录 第一章离散时间系统与状态空间描述 (1) 1.1 离散时间系统 (1) 1.2 状态空间描述 (3) 1.3 LSI系统的求解方法 (5) 第二章软件仿真设计 (5) 2.1状态方程 (5) 2.2输出方程 (6) 2.3 LSI系统的单位冲击响应 (7) 第三章仿真结果分析 (10) 3.1状态方程 (10) 3.2 输出方程 (10) 3.3 LSI系统的单位冲击响应 (11) 第四章学习心得 (11) 第五章设计与实验过程中遇到的问题和分析 (12)

第一章相关离散时间系统的知识 1.1离散时间系统 离散时间系统离散时间系统是将一个序列变换成另一序列的系统,它有多种类型,其中线性时不变离散时间系统是最基本、最重要的系统。差分方程反映了系统输入与输出的运动状态,是在时域描述系统的通用数学模型;系统函数是零状态下系统输出与输入的Z变换之比,在时域与频域之间起桥梁作用。分析系统就是在已知系统结构或系统模型条件下,从时域和频域两方面分析系统输入与输出的关系,前者重点研究系统的时间特性,后者主要研究系统的频率特性。下面从系统分析流程、系统模型创建、系统时域分析、系统频域分析和因果稳定性分析等方面,介绍线性时不变离散时间系统的基本分析方法,并以实例形式列举MATLAB在系统分析过程中的具体应用。 二、单位脉冲响应的计算根据差分方程求解单位脉冲激励下系统的零状态响应,或将系统函数进行Z反变换都可算出系统的单位脉冲响应,具体算法可参见参考文献[3]。在MATLAB中描述系统的差分方程或系统函数都是用系数向量表示,调用impz函数就可直接算出系统的单位脉冲响应。如实例1描述的系统,其单位脉冲响应的计算及显示程序如下:b=[0.3,0.06,0,0]; %系数向量不齐后面补0 a=[1,-1.1,0.55,-0.125]; %系数向量不齐后面补0 [hn,n]=impz(b,a,16), %列向求出16点单位脉冲响应 stem(n,hn,'.'); grid; %绘制点状图并加网格 xlabel('n');ylabel('hn');title('单位脉冲响应'); 若要写出闭环形式,可调用residuez函数将系统函数展开成部分分式形式,再通过查表求Z反变换即可。 三、系统输出的时域计算 在时域上计算离散时间系统的输出,实际上就是直接求解差分方程或作卷积运算。参考文献[3]列举了迭代法、时域经典法、卷积法等常用方法及应用实例。考虑到分析系统的目的在于综合,系统设计时不存在初始问题,因此,分析系统响应重点分析零状态响应。只要掌握了分析系统的概念、原理和方法,繁杂的计算可由MATLAB完成。 实例2:试计算实例1中,当输入序列分别为单位脉冲、单位阶跃和一般序列时,系统的输出响应。 方法1:调用filter函数实现 b=[0.3,0.06,0,0]; a=[1,-1.1,0.55,-0.125];

相关主题
文本预览
相关文档 最新文档