(一)模拟控制器离散化成的数字控制器,也可以认为是数字滤波器
(二)离散化法的实质就是求原连续传递函数D(S)的等效离散传递函数D(z)。
/---------------------------------------------------------------------------------/
离散化方法
*数值积分法(置换法)
一阶向后差法
一阶向前整法
双线性变换法
修正双线性变换法
*零极点匹配法
*保持器等价法
*Z变换法(脉冲响应不变法)
/---------------------------------------------------------------------------------/
- 脉冲响应不变法(Z变换法)
基本思想:数字滤波器产生的脉冲响应序列近似等于模拟滤波器的脉冲响应函数的采样值。
D ( z ) = Z [ u ( k T ) ] = ∑ i = 1 n A i 1 − e − a , T z − 1 = Z [ D ( s ) ] D(z)=Z[u(k T)]=\sum_{i=1}^{n} \frac{A_{i}}{1-e^{-a, T} z^{-1}}=Z[D(s)] D(z)=Z[u(kT)]=i=1∑n1−e−a,Tz−1Ai=Z[D(s)]
设模拟控制器的传递函数为:
D ( s ) = U ( s ) E ( s ) = ∑ i = 1 n A i s + a i D(s)=\frac{U(s)}{E(s)}=\sum_{i=1}^{n} \frac{A_{i}}{s+a_{i}} D(s)=E(s)U(s)=i=1∑ns+aiAi
在单位脉冲作用下输出响应为:
u ( t ) = L − 1 [ D ( s ) ] = ∑ i = 1 n A i e − a i t u(t)=L^{-1}[D(s)]=\sum_{i=1}^{n} A_{i} e^{-a_{i} t} u(t)=L−1[D(s)]=i=1∑nAie−ait
例如:已知模拟控制器 D ( s ) = a s + a D(s)=\frac{a}{s+a} D(s)=s+aa,求数字控制器D(z)。
解: D ( z ) = Z [ D ( s ) ] = a 1 − e − a T z − 1 D(z)=Z[D(s)]=\frac{a}{1-e^{-a T} z^{-1}} D(z)=Z[D(s)]=1−e−aTz−1a
控制算法为: u ( k ) = ae ( k ) + e − a T u ( k − 1 ) u(k)=\operatorname{ae}(k)+e^{-a T} u(k-1) u(k)=ae(k)+e−aTu(k−1)
2.阶跃响应不变法(加零阶保持器的Z变换法)
基本思想:用零阶保持器与模拟控制器串联,然后再进行z变换离散化成数字控制器
D
(
z
)
=
Z
[
1
−
e
−
T
s
s
⋅
D
(
s
)
]
D(z)=Z\left[\frac{1-e^{-T s}}{s} \cdot D(s)\right]
D(z)=Z[s1−e−Ts⋅D(s)]若D(s)稳定,则D(z)也稳定,其实,D(z)不能保持D(s)的脉冲响应和频率响应。零阶保持器是假想的,没有物理的零阶保持器。
3.差分变换法
基本思想:将连续域中的微分用一阶向后差分替换
D
(
z
)
=
D
(
s
)
∣
s
=
1
−
z
−
1
r
D(z)=D\left.(s)\right|_{s=\frac{1-z^{-1}}{r}}
D(z)=D(s)∣s=r1−z−1
对于给定:
D
(
s
)
=
U
(
s
)
E
(
s
)
=
1
s
D(s)=\frac{U(s)}{E(s)}=\frac{1}{s}
D(s)=E(s)U(s)=s1其微分方程为:
d
u
(
t
)
/
d
t
=
e
(
t
)
,
u
(
t
)
=
∫
0
t
e
(
t
)
d
t
d u(t) / d t=e(t), u(t)=\int_{0}^{t} e(t) d t
du(t)/dt=e(t),u(t)=∫0te(t)dt用一阶向后差分代替微分,则:
d
u
(
t
)
/
d
t
=
{
u
(
k
T
)
−
u
[
(
k
−
1
)
T
]
}
/
T
d u(t) / d t=\{u(k T)-u[(k-1) T]\} / T
du(t)/dt={u(kT)−u[(k−1)T]}/T
u
(
k
T
)
=
u
[
(
k
−
1
)
T
]
+
T
e
(
k
T
)
u(k T)=u[(k-1) T]+T e(k T)
u(kT)=u[(k−1)T]+Te(kT)两边取Z变换得:
U
(
z
)
=
z
−
1
U
(
z
)
+
T
E
(
z
)
U(z)=z^{-1} U(z)+T E(z)
U(z)=z−1U(z)+TE(z)
D
(
z
)
=
U
(
z
)
/
E
(
z
)
=
T
/
(
1
−
z
−
1
)
D(z)=U(z) / E(z)=T /\left(1-z^{-1}\right)
D(z)=U(z)/E(z)=T/(1−z−1)可以看出,D(z)与D(s)的形式完全相同
s
=
(
1
−
z
−
1
)
/
T
z
=
1
1
−
s
T
s=\left(1-z^{-1}\right) / T \quad z=\frac{1}{1-s T}
s=(1−z−1)/Tz=1−sT1一阶向后差分替换关系是z与s变量关系的一种近似:
例如 已知
D
(
s
)
=
1
s
2
+
0.8
s
+
1
D(s)=\frac{1}{s^{2}+0.8 s+1}
D(s)=s2+0.8s+11,T=1s、0.1s,试用一阶向后差分法离散.
解:
D
(
z
)
=
D
(
s
)
∣
s
=
(
1
−
z
−
1
)
/
T
=
1
(
s
2
+
0.8
s
+
1
)
∣
s
=
(
1
−
z
−
1
)
/
T
=
D(z)=D\left.(s)\right|_{s=\left(1-z^{-1}\right) / T}=\left.\frac{1}{\left(s^{2}+0.8 s+1\right)}\right|_{s=\left(1-z^{-1}\right) / T}=
D(z)=D(s)∣s=(1−z−1)/T=(s2+0.8s+1)1∣∣∣∣s=(1−z−1)/T=
1
[
(
1
−
z
−
1
)
2
/
T
2
+
0.8
(
1
−
z
−
1
)
/
T
+
1
]
\frac{1}{\left[\left(1-z^{-1}\right)^{2} / T^{2}+0.8\left(1-z^{-1}\right) / T+1\right]}
[(1−z−1)2/T2+0.8(1−z−1)/T+1]1
=
T
2
z
2
1
−
a
z
+
b
z
2
,
a
=
2
+
0.8
T
,
b
=
1
+
0.8
T
+
T
2
=\frac{T^{2} z^{2}}{1-a z+b z^{2}} \quad, a=2+0.8 T, \quad b=1+0.8 T+T^{2}
=1−az+bz2T2z2,a=2+0.8T,b=1+0.8T+T2当T=ls时,a=2.8,b=2.8,
D
1
(
z
)
=
z
2
1
−
2.8
z
+
2.8
z
2
D_{1}(z)=\frac{z^{2}}{1-2.8 z+2.8 z^{2}}
D1(z)=1−2.8z+2.8z2z2当T=0.1s时,a=2.08,b=1.09,
D
2
(
z
)
=
0.01
z
2
1
−
2.08
z
+
1.09
z
2
D_{2}(z)=\frac{0.01 z^{2}}{1-2.08 z+1.09 z^{2}}
D2(z)=1−2.08z+1.09z20.01z2可以判断,环节稳定性不变,D(s)是稳定的;D1(z)两个根分别为:
z
1
,
2
=
0.5000
±
j
0.3273
=
0.59758
∠
0.5796
z_{1,2}=0.5000 \pm j 0.3273=0.59758 \angle 0.5796
z1,2=0.5000±j0.3273=0.59758∠0.5796D2(z)两个根分别为:
z
1
,
2
=
0.9541
±
j
0.0841
=
0.9578
∠
0.0879
z_{1,2}=0.9541 \pm j 0.0841=0.9578 \angle 0.0879
z1,2=0.9541±j0.0841=0.9578∠0.0879
4.一阶向前差分法
基本思想:将连续域中的微分用一阶向前差分替换
参考武汉大学计算机控制技术https://wenku.baidu.com/view/85f8dc20dd36a32d7375814d.html