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

从传递函数到差分方程的转换
 悬赏分: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)的分子分母
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值