您的位置:首页 > 其它

从传递函数到差分方程的转换

2016-03-22 14:02 197 查看
从传递函数到差分方程的转换

悬赏分:0 - 解决时间:2008-3-20 21:02

我以前提问过“如何把传递函数转换成差分方程”的形式,后来不少人QQ问我,我觉得有必要把这些写出来,其实很简单的。

1、传递函数的形式

假设传递函数为:G(s)=exp^(-0.004s)*400/(s^2+50s);

其中^后表示指数,如:2^3=8;4^2=16;

在matlab里面建立这个传递函数的命令就是:sys=tf(400,[1,50,0],'inputdelay',0.004);

2、脉冲传递函数

把传递函数离散化就得到脉冲传递函数,这个我就不多说了。。。。

G(z) =z^(-4) *( 0.0001967 z + 0.0001935)/( z^2 - 1.951 z + 0.9512)

= z^(-4) *[0.0001967z ^(-1)+ 0.0001935z^(-2)]/[ 1 - 1.951 z^(-1) + 0.9512z^(-2)] =Y(z)/U(z)……(2)式

在matlab里面离散化命令是:dsys=c2d(sys,0.001,'z');其中0.001为采样时间;

(2)式可写成:

z^(-4) *[0.0001967 z ^(-1)+ 0.0001935z^(-2)] U(z) = [ 1 - 1.951 z^(-1) + 0.9512z^(-2)] Y(z) (3)式

3、差分方程形式

由(3)式可得

0.0001967 z ^(-5)+ 0.0001935z^(-6)]U(z) = [ 1 - 1.951 z^(-1) + 0.9512z^(-2)] Y(z) (4)式

把(4)式得z^(-n)中的(-n)写成(k-n),如z^(-5)U(z)写成u(k-5),可得:

0.0001967 u(k-5)+ 0.0001935u(k-6)= y(k) - 1.951 y(k-1) + 0.9512y(k-2) (5)式

由(5)式得

y(k) = 1.951 y(k-1) - 0.9512y(k-2)+0.0001967 u(k-5)+ 0.0001935u(k-6)

即差分方程形式

[num,den]=tfdata(dsys,'v')这个命令其实就是取式(2)的分子分母
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: