最常见的两种方法就是欧拉法和塔斯汀法(Tustin's method,也叫bilinear transformation)。
欧拉法即为:
将传递函数中的s用这个替换即可。
这是因为s在拉普拉斯变换里面是微分,而
而z变换里面的z运算符即为:
微分关系即变为:
但是欧拉法用的是积分的矩形法则,效果有时并不好。所以又提出了根据梯形法则的塔斯汀法:
将C(s)里面的s都替换掉,变成z和C(z)就行了。
可以再matlab里面用c2d函数进行运算:
[numZ denZ]=c2d(num,den,'tustin')%bilinear method
欧拉法在matlab里面貌似已经是不支持了。
再说下z域里怎么写成差分方程。如果我们有控制器:
且n≥m,
将分式转换:
两边同除以

注意
让Y(z)=Y(k),U(z)=U(k)
那么就能得到k时刻Y的值了。
举个例子:
分式上下均除以z的平方:
进一步整理:
再把左边的部分项挪过来:
这样就知道k时刻控制器的输出是多少了,能在程序里面进行实现了。
连续系统如何离散化
最新推荐文章于 2025-11-18 21:42:02 发布
本文探讨了将连续控制系统转化为离散控制系统的两种主要方法——欧拉法和塔斯汀法,详细解释了它们的工作原理及如何在MATLAB中实现。通过具体的数学公式和实例,阐述了如何将传递函数转换为差分方程,以便于在数字系统中应用。
1万+

被折叠的 条评论
为什么被折叠?



