首页 文章

当分子和分母的长度相等时,为什么simulink传递函数有直接馈通?

提问于
浏览
1

我试图了解Simulink(连续)传递函数 . 在documentation for the transfer function block中,它表示当分子和分母具有相同的长度时,它具有直接馈通特性 .

根据documentation,直接馈通特性表明输出直接由输入控制(而不是由状态变量控制) .

我不明白如何在不使用状态变量或先前的输入/输出值来计算相关导数的情况下,实现分子和分母具有相同度数(大于零)的传递函数 .


背景

以下是让我想到这个问题的思路:

我想实现一个代表具有传递函数的线性系统的C代码 . 对于此实现,我将使用输入 x(t) 并计算输出 y(t) . 假设该系统的传递函数是 G(s) . 我可以把它写成 Y(s) = G(s) * X(s) .

此外,我会说 G(s) = numerator(s) / denominator(s) ,其中 numerator(s) 是度数为M且其系数为 c_{M}, c_{M-1}, ..., c_{1}, ..., c_{0} 的拉普拉斯域变量 s 的多项式 . 分母是另一个多项式,但是 N 和系数 d_{N}, ..., d_{0} .

为了解决这个系统,我将其重写为 denominator(s) * Y(s) = numerator(s) * X(s) . 使用拉普拉斯变换属性并假设所有导数的初始条件为零,我得到

d_{N}*y^{N} + d_{N-1}*y^{N-1} + ... + d_{0}*y = c_{M}*x^{M} + c_{M-1}*x^{M-1} + ... + c_{0}*x

y^{k}y(t) 的k衍生物, x 类似 .

我用数值积分器解析这个方程(简单来说就是欧拉),这让我可以用 N-1 状态变量计算 y 及其导数 . 对于 x 的k-导数,我粗略地使用输入的最后 k+1 值来近似它(例如 x^{1} = (x(t2) - x(t1)) / (t2-t1) .

简而言之,我需要跟踪 YM+1 以前的 x 值的 N-1 状态变量 . 然后我记得simulink在 M==N 时没有任何先前的值 . 这怎么可能?

1 回答

  • 2

    在分母和分子具有相同大小的情况下,输出将取决于输入值,但它也将取决于状态的值 . 因此块将具有直接馈通,但它也需要N-1个状态,其中N是分母的长度 .

    有关传递函数的示例,请参见此wiki article,其中输出直接取决于输入(以及状态) .

    我看了一下你指出的文档,我同意这很令人困惑 . 它似乎表明输出要么仅依赖于状态,要么仅取决于输入 . 实际上,输出可以取决于输入,状态和参数的组合 . 直接馈通仅询问输出是否依赖于输入值,它不关心输出是否也依赖于状态 .

    我希望这有帮助 .

相关问题