首先我们可以用MATLAB中的c2d()函数对传递函数进行离散化。但是不知道其中的s和z的替代关系是怎样的。
今天就说下我知道的有s和z替代关系的离散化方法:
- 欧拉法;(其实就是差分法)
- 塔斯汀法(Tustin’s method)
1、欧拉法
其实欧拉法就是差分法。差分法有一阶前向差分,和一阶后向差分;
1.1、欧拉法s和z的替代关系
因为上图关系式中是x(k+1)-x(k),所以
z
−
1
T
\frac{z-1}{T}
Tz−1也叫一阶前向差分替代关系吧。
如果把关系式中的变为x(k)-x(k-1),那么用 s = 1 − z − 1 T s=\frac{1-z^{-1}}{T} s=T1−z−1替代,叫做一阶后向差分法;
但是欧拉法用的是积分的矩形法则,效果有时并不好。所以又提出了根据梯形法则的塔斯汀法(Tustin): 其实这个MATLAB中的c2d()函数中有这个离散方法;
2、塔斯汀法
塔斯汀法(Tustin)也叫双线性转换法,较为常用,误差最小,稳定性最强;
2.1、塔斯汀法s和z的替代关系
s
=
2
T
s
1
−
z
−
1
1
+
z
−
1
\begin{aligned} s=\frac{2}{T_{s}}\frac{1-z^{-1}}{1+z^{-1}} \end{aligned}
s=Ts21+z−11−z−1
其实这个可以看成
s
˙
=
(
2
x
n
x
n
+
x
n
−
1
−
2
x
n
−
1
x
n
+
x
n
−
1
)
/
T
s
\begin{aligned} \dot{s}=(\frac{2x_{n}}{x_{n}+x_{n-1}}-\frac{2x_{n-1}}{x_{n}+x_{n-1}})/T_{s} \end{aligned}
s˙=(xn+xn−12xn−xn+xn−12xn−1)/Ts
我们在MATLAB中可以可以看到,积分( 1 s \frac{1}{s} s1)的离散化模块是 k T s z − 1 \frac{kTs}{z-1} z−1kTs ,其实是按一阶前向差分离散化的;微分(s)的离散化模块是 1 T s z − 1 z \frac{1}{Ts}\frac{z-1}{z} Ts1zz−1,其实是按一阶后向差分离散的;