求解离散状态方程式(1-4-1)
X(kT+T)=FX(kT)+GU(kT)
Y(kT)=CX(kT)+DU(kT)
通常采用递推法和Z反变换法。
1.递推法
2.Z反变换法
求出X(kT)后,代入输出方程可以求输出。
递推法只能得到数字序列解,不能得到封闭的解析式,但它可以适用于线性时变离散系统。Z反变换法可以获得封闭的解析式,但只适用于定常线性离散系统。下面首先讨论递推解法。
【例2-16a】离散状态空间模型的递推算法。
程序如下:
如例所示,设定组合输入分量为
输入计算拍数,运行程序,可立即获得该拍的状态值和输出值。当取k=10时,示例运行后状态值与输出值分别为
X(10)=[-8.0538 26.4300 -11.1546]T
Y(10)=[-146.8026 -2.8254]T
仔细对比一下图2-6-5所示的几种完全响应各拍的值,与由逐步递推法所获得结果是相同的。例如,图中示出的y2第10拍的值与由递推法计算的结果均为-2.8254。
当采样周期Ts=0.5s,其余参数不变时,完全响应之下的输出y2曲线如图2-6-8所示。各采样点的值当然仍与递推算法的结果相同。不过要注意采样点与采样时间的关系(t1/Ts+1)。
图2-6-8 输出y2的完全响应(采样周期Ts=0.5s)
为了方便选择初值、输入和仿真拍数,将该例设计成如例2-16所示的虚拟仪器。
【例2-16b】离散状态方程递推法求解仿真仪。
离散状态方程递推法求解仿真仪的程序如shixz02_16所示。其前面板和框图面板分别如图2-6-9和图2-6-10所示。
图2-6-9 程序shixz02_16前面板
图2-6-10 程序shixz02_16框图面板
程序说明:
本程序的MATLAB脚本嵌入LabVIEW的while循环之中。在MATLAB脚本中使用for循环命令实现递推算法,程序的主要部分与例2-16a相同。前面板左边是参数设定赋值部分,这部分赋值方法与例2-15相同。前面板右边示出了设定采样点的状态值、输出值及其图示。各状态分量与输出分量的数值分别由两个数组表示,示出设定拍的递推值。响应曲线图与响应曲线选择开关配合,示出任一状态分量或输出分量在设定拍的递推值。例如,图2-6-9的响应曲线示出了当k=10时输出y2的采样值-4.67785,与数组“输出值”中的y2和图2-6-8中的示值相同。
下面讨论离散状态方程的Z反变换求解法。
使用MATLAB符号工具箱可以求出比较简单的离散状态方程(例如特征值为实数)的解析解。程序求取式(2-6-4)的解析解主要命令如下:(www.xing528.com)
求零状态响应Xb的主要命令如下:
通过零输入和零状态响应叠加可以求出完全状态响应的解析式,再通过输出方程可以求出输出响应的解析式。
由解析式可以方便地进行数值仿真。如果只需要进行数值仿真与动态曲线绘制,直接使用命令initial和lsim命令即可。
【例2-17】离散状态方程解析解及其数字仿真仪。
仿真仪程序如shixz02_17所示。其前面板和程序框图面板分别如图2-6-11和图2-6-12所示。
图2-6-11 程序shixz02_17前面板
程序说明:
上列程序由如下4个部分构成:
①获取状态方程和输出方程的解析解。
②由解析解转换成数字序列。
③直接获取状态及输出响应的数字序列。
④比较与作图。
无论是解析解还是数字解都分别包含零输入、零状态响应及对应的输出响应这些响应中包含各个分量信息。
解析解的变量名如下:
Xa——零输入响应的状态轨迹解析式。
Xb——零状态响应的状态轨迹解析式。
Xab——完全响应的状态轨迹解析式。
Ya——零输入响应的输出解析式。
Yb——零状态响应的输出解析式。
图2-6-12 程序shixz02_17框图面板
Yab——完全响应的输出解析式。
通过MATLAB命令char,将求得的解析式转换成可用LabVIEW显示的字符串(string),将各个分量的解析解显示在前面板的最下端。所显示的表达式与所显示的曲线一致并且同步。例如,图2-6-11示出完全响应的第2输出的曲线y2及其解析式Yab(2)
令表达式中的k=10,即在MATLAB命令窗中执行命令subs(Yab(2),10),将获得如图2-6-11中坐标系0(Cursor 0)所示的纵坐标值95.6372。图中该点的横坐标值不是10而是12,即所示的采样点为12。原因是图2-6-11中横坐标值从1开始,而且所示纵坐标为采样周期末端的值,它等于该采样周期起点(11)的值。
为了保证在从解析式变换成数字序列时采样值为实数,必须使采样次数k为整数,程序中采样点设置成(0:Ts:t1)/Ts,其中t1为采样终点时间。
由于采用阶梯波表示各种响应曲线,每次显示一条曲线更清晰,所以程序设置了如图2-6-7所示的响应选择菜单,其使用方法参照该例。
编写程序时注意各种响应中响应曲线阶梯波生成语句。例如,第1状态轨迹的零输入响应、零状态响应和完全响应阶梯波曲线分别如下列3行语句生成,然后将横坐标变量再转换为统一的横坐标n0,进入XY图示仪。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。