离散系统的数学描述

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

离散系统的数学描述

1. 状态空间描述法

状态空间描述离散系统使用ss 命令。

语法:

G=ss(a,b,c,d,Ts) %由a 、b 、c 、d 参数获得状态方程模型

说明:Ts 为采样周期,为标量,当采样周期未指明可以用-1表示。

【例6.2】用状态空间法建立离散系统。 a=[-1.5 -0.5;1 0];

b=[1;0];

c=[0 0.5];

d=0;

G=ss(a,b,c,d,0.1)

%采样周期为0.1s

a =

x1 x2

x1 -1.5 -0.5

x2 1 0

b =

u1 x1 1

x2 0

c =

x1 x2

y1 0 0.5

d =

u1

y1 0

Sampling time: 0.1

Discrete-time model.

2. 脉冲传递函数描述法

脉冲传递函数也可以用tf 命令实现。

语法:

G=tf(num,den,Ts) %由分子分母得出脉冲传递函数

说明:Ts 为采样周期,为标量,当采样周期未指明可以用-1表示,自变量用'z'表示。

【例6.2续】创建离散系统脉冲传递函数21120.5z 1.5z 10.5z 0.51.5z z 0.5z G(z)---+-=+-=

num1=[0.5 0];

den=[1 -1.5 0.5];

G1=tf(num1,den,-1)

Transfer function:

0.5 z

-----------------

z^2 - 1.5 z + 0.5

Sampling time: unspecified

MATLAB中还可以用filt命令产生脉冲传递函数。

语法:

G=filt(num,den,Ts) %由分子分母得出脉冲传递函数

说明:Ts为采样周期,当采样周期未指明Ts可以省略,也可以用-1表示,自变量用'z-1'表示。

【例6.2续】使用filt命令产生脉冲传递函数。

num2=[0 0.5];

G2=filt(num2,den)

Transfer function:

0.5 z^-1

-----------------------

1 - 1.5 z^-1 + 0.5 z^-2

Sampling time: unspecified

程序说明:用filt命令生成的脉冲传递函数的自变量不是z而是z-1,因此分子应改为“[0 0.5]”。

3. 零极点增益描述法

离散系统的零极点增益用zpk命令实现。

语法:

G=zpk(z,p,k,Ts) %由零极点得出脉冲传递函数

【例6.2续】使用zpk命令产生零极点增益传递函数。

G3=zpk([0],[0.5 1],0.5,-1)

Zero/pole/gain:

0.5 z

-------------

(z-0.5) (z-1)

Sampling time: unspecified

语法:

G=ss(传递函数) %由传递函数转换获得

G=ss(零极点模型) %由零极点模型转换获得

【例 6.3】将单输入双输出的系统传递函数12s 5s 3s 52s s 23s (s)G 2321+++⎥⎦⎤⎢⎣⎡+++=

转换为状态空间描

述。 num=[0 3 2;

1 2 3];

den=[3 5 2 1];

G11=tf(num(1,:),den)

Transfer function:

3 s + 2

-----------------------

3 s^3 + 5 s^2 + 2 s + 1

G12=tf(num(2,:),den)

Transfer function:

s^2 + 2 s + 3

-----------------------

3 s^3 + 5 s^2 + 2 s + 1

G=ss([G11;G12])

a =

x1 x2 x3

x1 -1.667 -0.3333 -0.08333

x2 2 0 0

x3 0 2 0

b =

u1

x1 1

x2 0

x3 0

c =

x1 x2 x3

y1 0 0.5 0.1667

y2 0.3333 0.3333 0.25

d =

u1

y1 0

y2 0

Continuous-time model.

(2) 传递函数的获得

由tf命令实现将系统的状态空间法和零极点增益模型转换为传递函数。语法:

G=tf(状态方程模型) %由状态空间转换

G=tf(零极点模型) %由零极点模型转换

【例6.3续】由状态空间描述转换为传递函数。

G1=tf(G)

Transfer function from input to output...

s + 0.6667

#1: -----------------------------------

s^3 + 1.667 s^2 + 0.6667 s + 0.3333

0.3333 s^2 + 0.6667 s + 1

#2: -----------------------------------

s^3 + 1.667 s^2 + 0.6667 s + 0.3333

(3) 零极点模型的获得

由zpk命令实现将状态空间法、传递函数转换为零极点模型。

语法:

G=zpk(状态方程模型) %由状态方程模型转换

G=zpk(传递函数) %由传递函数转换

【例6.3续】由传递函数和状态方程模型转换零极点模型。

G2=zpk(G) %由状态方程模型转换

Zero/pole/gain from input to output...

(s+0.6667)

#1: -----------------------------------

(s+1.356) (s^2 + 0.3103s + 0.2458)

0.33333 (s^2 + 2s + 3)

#2: -----------------------------------

(s+1.356) (s^2 + 0.3103s + 0.2458)

G2=zpk(G1); %由传递函数转换

2.模型参数的获取

语法:

[a,b,c,d]=ssdata(G) %获取状态空间参数

[a,b,c,d,e]=dssdata(G) %获取状态空间参数

[num,den]=tfdata(G) %获取传递函数参数

[z,p,k]=zpkdata(G) %获取零极点参数

【例6.3续】获取各模型的参数。

[a,b,c,d]=ssdata(G1) %获取状态方程参数

a =

-1.6667 -0.3333 -0.0833

相关文档
最新文档