【问题标题】:implementation of generic transfer function using Matlab使用 Matlab 实现通用传递函数
【发布时间】:2016-07-12 22:23:02
【问题描述】:

我想知道谁能告诉我如何使用 Matlab 实现传递函数 a1s+a2/(b1s+b2) .例如,如果我想实现 a1/s,我知道我会这样做:

value(n)=value(n-1)+a1*fx*Ts;

其中 Ts 是采样频率,fx 是需要集成的函数。对于 a3*s,我会做以下事情:

output=value(n)-lastvalue(n);
   lastvalue(n)=value(n);

但我想知道如何实现泛型 (a1*s+a2)/(b1*s+b2)

谢谢

【问题讨论】:

    标签: matlab discretization transfer-function


    【解决方案1】:

    首先,就您希望如何从 s 域转换到 z 域(离散)达成一致。使用双线性变换,将 s 替换为

    2/T * (z-1)/(z+1). 
    

    这是双线性变换。求解方程并除以 z 的最高阶。对于z^-n,就是前面的“n”个样本。

    【讨论】:

    • 谢谢我知道双线性变换但是这里 T 是采样频率对吗?你如何选择它?因为迭代计算值的循环似乎每次都应该乘以 2/T,这显然会改变答案。
    • 还有你如何处理导数,因为它也取决于初始条件
    猜你喜欢
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2015-04-28
    • 2015-11-28
    • 2018-12-09
    • 1970-01-01
    相关资源
    最近更新 更多