【发布时间】:2013-03-12 00:43:09
【问题描述】:
我有一个简单的一阶传输,例如“3/s+3”或“tf(3,[1 3])”函数,我想用 c 代码实现。我有一个 C 函数,它使用自上次迭代以来的增量时间调用:
double output(double input, double t); //usually, t is around 0.01 second
如何在C中实现传递函数3/s+3?
【问题讨论】:
-
这不清楚。拉普拉斯域中是“5/s+3”吗?您是在问如何以编程方式执行拉普拉斯逆变换吗?
-
我想它在拉普拉斯域中。对了,应该是
3/(s+3)吧? -
我编辑了这个问题。是的,它是 3/(s+3),它在拉普拉斯域中。
-
@gregoiregentil:好的,标准拉普拉斯身份的there are tables。如果你在
s中有一个有理多项式,那么你可以使用部分分数技术,然后你就基本完成了! -
明确地说,你没有在拉普拉斯域中实现传递函数。这对分析/设计/等有好处,但是在实现时我们生活在真实域中,因此您需要将该 TF 转换为脉冲响应或差分方程才能实际实现它。
标签: c function matlab transfer simulink