当前位置:文档之家› 6 从传递函数求离散状态方程

6 从传递函数求离散状态方程

6 从传递函数求离散状态方程
6 从传递函数求离散状态方程

65 2 状态变量模式系统的离散动态方程

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

第三章 系统的分析——状态方程的解 §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 ?-=--

求解系统的状态方程

求解系统的状态方程 一、实验设备 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)

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

现设线性时变系统的离散状态方程和观测方程为: 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;

实验六 离散系统状态方程的求解

实验六 离散系统状态方程的求解 一、实验目的 (1)了解离散系统状态方程求解方法。 (2)了解离散系统信号流图化简的方法。 (3)了解函数ode45的调用方法。 二、实验原理 离散系统状态方程的一般形式为 x(k+1)=Ax(k)+Bf(k) 在些只对单输入的n 阶离散系统的状态议程求解。一般采用递推迭代的方式求解,由裙的条件x(0)和激励f(0)求出k=1时的x(1),然后依次迭代求得所要求的x(0),……,x(n)的值。 编程时应注意,MATLAB 中变量下标不允许为零,则裙点的下标只能取1,第n 步的x 的下标为n+1。 三、涉及的MATLAB 函数 zeros(2,1) y=lsim(sys,f,[],x0) for i=1:n end clear all 采用函数ode45可以求解微分方程。其调用格式如下 [t,y]=ode45(odefun,tspan,y0) 其中,odefun 指状态方程的表达式,tspan 指状态方程对应的起止时间]t0,tf],y0指状态变量的初始状态。 四、实验内容与方法 1.验证性实验 采用MATLAB 语言编程,求解离散系统状态方程,并绘制状态变量的波形。 (1)已知离散系统的状态方程为 )(01)1()1(25.025.005.0)1()1(2121k f k x k x k x k x ?? ????+??????++??????=??????++ 初始条件为x(0)=?? ????-5.01,激励为f(k)=0.5ε(k),确定该状态方程x(k)前10步的解,并画出波形。 MATLAB 程序: %离散系统状态求解 %A=input(‘系统矩阵 A=’) %B=input(‘系数矩阵 B=’) %x0=input(‘初始状态矩阵 x0=’)

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

第三章 线性系统的运动分析 §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 故而有: ????? ??????======00323021 201!1!31312121b 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 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()()(1 x A sI s x ?-=- 拉氏反变换,有 )0(])[()(11 x A sI L t x ?-=-- 则 ])[()(11---==A sI L e t At φ 【例3.1.1】 已知系统的状态方程为x x ?? ? ???=0010 ,初始条件为)0(x ,试求状态转移矩阵和状态方程的解。 解:(1)求状态转移矩阵 ++++ +==k k At t A k t A At I e t ! 1 !21)(22φ 此题中: ??????=0010A , ?? ????====000032n 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];

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