讲座11 状态变量分析法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设系统由以下差分方程描述

则系统函数为

下面假设式(, ,用图,以此说明状态方程和输出方程的建立。
图11.2.1 4阶节网络
图,除状态变量 外, 、 、 和 都表征各个延迟单元输出端的状态,它们组成的状态向量 ,构成一条延迟线/。
对于图11.2.1的网络,输入、输出以及状态变量的刷新如式(,根据输入样点和当前的状态变量组刷新状态变量 。然后从状态变量组求输出。之后,刷新状态变量组,从当前的状态变量获得下一个时刻的状态变量,为计算下一个时刻的输出做准备。

则全部系数必须等于0,即 。由此可知,系统的状态向量是 维空间中的 personal use only in study and research; not for commercial use
系统的状态变量可以从描述系统的物理方程导出,也可以从系统函数导出。第10章讨论卡尔曼滤波器时,举出了从系统的物理方程导出状态变量的例子。下面将说明从系统函数导出状态变量的方法。应该注意,给出系统函数后,可以用不同的结构实现,因此,所选的状态变量数组也不相同。
讲座11状态变量分析法
11.1简介
本书除了第10章外,其余各章都把离散时间系统看作一个具有输入-输出两个端口的黑盒,而不关心系统内部状态。这种两端口系统的时域特性用冲激响应或差分方程来表征,而频域特性则用频率响应或系统函数来表征。当然,这些特性存在着意定的数学关系。
随着系统理论的发展,人们不再满足只对系统输出变化的了解,对系统内部某些变量的变化规律也感兴趣。此外,实际应用中还会遇到多输入多输出的情况,而且将系统看成是时不变系统也往往不符合客观实际。这样,仅仅用两端口分析法就不够了,所以要引入另一种系统分析方法,即状态变量分析法。利用矩阵线性代数等数学工具对系统进行分析研究。
//x[]--- 滤波器的输入序列;y[]--- 滤波器的输出序列;
voiddir1(int points, int order, double H0, doubleb[], doublea[], double x[], double y[])
{
int i, j, k;
double u[20], v[20];
系统的状态就是指系统在某个时刻的状况。状态通常可以用一个数(状态变量)或一组数来描述。状态变量是能够全面确定系统状态的最小的一组变量。
For personal use only in study and research; not for commercial use
数字网络包含相加器、乘法器和延迟单元等部件。但是,并不是每一个网络节点的状态都可以算作一个状态变量。相加器和乘法器构成的节点的状态并不是线性无关的,其中某个节点的状态可以用其它节点的状态的线性组合表出。所以,这些节点的状态不能作为状态变量。换句话说,应该选延迟单元输出端的状态作为状态变量。若延迟单元数目为 ,则系统的状态向量是 维的。为数最少的 个状态变量 满足线性无关的要求,即:若有
#include <iostream.h>
#include <math.h>
// 子程序 dir1 计算直接Ⅰ型IIR滤波器的输出
//参数 point --- 滤波器输出点数;H0 --- 滤波器系统函数的常数因子;
// b[] --- 系统函数分子多项式的系数组;a[]--- 系统函数分母多项式的系数组;

实际上,对于每一个输入样点,按照以下算法进行运算:
这里,需要注意状态变量的刷新次序。首先被刷新的应该是 ,使 ;然后刷新 ,使 ,如此等等。延迟线被刷新后,就接收下一个输入样点。
由式(,得


下面将式(
由式(

由式(


式(,它表示输入样点 对状态变量的刷新作用。样点 到来后,就可以从当前的状态变量 求出下一个时刻的状态变量 。所以,状态方程可以由递推方法求解。
式(
由式(, 阶系统(有 个单位延迟支路)的状态方程和输出方程可用矩阵和向量一般地表示为


在上面的式子中, 是单个常数,
(‘T’表示转置)(



在单输入单输出情况下,一般状态变量分析法可以表示为图
图11.2.2状态变量分析法
图11.2.2反映状态变量分析法中各参数矩阵的物理意义。下面对单输入单输出系统加以说明。矩阵 代表时刻 的状态向量 对时刻 的状态向量 的转移效应。
【例IIR直接型系统流图及其参数如图
图11.2.3三阶系统流图
解:根据图11.2.3得系统函数为
根据式(
11.3用状态变量分析法计算IIR滤波器的输出
本书第4章已经阐述了滤波器的结构。图11.3.1示出IIR系统的直接形式Ⅰ结构。图中,有两条延迟线,共有7个状态变量。下面举例说明用状态变量分析法计算该系统的输出。
元素 代表 时刻节点 的状态对 时刻节点 的状态的影响;矩阵 代表输入信号 对下一个时刻的状态向量 的影响;矩阵 代表时刻 的状态向量 对当前输出 的贡献;在单输入单输出系统中,矩阵 退化为常数 ,它代表当前的输入 对输出 的贡献。图中, 是一个延迟算子。在程序控制下,当前时刻 求出的 便成为下一个时刻的状态向量,被转移到图中的黑色实心圆点。
【例设计C 语言程序,实现IIR系统的直接形式Ⅰ(图
图11.3.1IIR系统的直接形式Ⅰ结构
解:程序如下。函数dir1实现IIR系统的直接形式Ⅰ。在主函数中,给定数据后,函数dir1被调用。这里,假定系统函数的分子分母多项式具有相同的阶数,都是order。
// C110301.CPP
//实现IIR系统的直接形式Ⅰ,演示状态变量的用法
本讲座先介绍由流图建立状态方程和输出方程的方法,然后举例说明用状态分析法求IIR滤波器输出的方法,说明基于状态转移可以设计任何周期序列发生器。最后,说明状态参数矩阵与系统其它结构参数之间的转换关系。
11.2由流图建立状态方程和输出方程
给出系统函数并选定系统结构后,就应该由系统的输入确定系统内部的状态变量(刷新延迟线),然后由状态变量确定系统的输出。前者是建立状态方程,后者则有赖于输出方程的建立。
for(i = 0; i<=order; i++)//状态变量数组初始化。
相关文档
最新文档