最近在做毕业设计,自己的控制对象描述形式是传递函数,而书里看到的大部份被控对象都是差分方程的形式,就想有没有这种转换的方法,网上搜索了一圈,总结如下。
步骤一,先建立传递函数方程
首先给定一个连续的传递函数,例如一个二阶传递函数
在MATLAB里面的描述如下:
sys=tf([3,1],[1,2,5]); % 建立被控对象传递函数
步骤二:将传递函数离散化
将传递函数离散成如下z
函数的形式:
这时就得到了一个离散模型,在MATLAB中描述如下:
ts=0.001; % 设定采样时间=0.001s dsys=c2d(sys,ts,'z');% 根据采样时间,把传递函数离散化
步骤三:把离散方程改成差分方程
模型改写成差分方程 首先把dsys
改成y(z)
和u(z)
的比值然后上下同除以z
的平方,使z
的次数为负
接着十字相乘,展开成等式,并将z
的幂次形式改写成差分形式
最后把y(k)
提到等式的左边,即得到差分方程的形式