2011-11-15 15 views
1

我想了解Simulink(連續)傳輸函數。在documentation for the transfer function block中,它表示分子和分母具有相同長度時,它具有直接饋通特性。當分子和分母的長度相等時,爲什麼simulink傳遞函數具有直通饋通?

根據documentation,直通饋通特性指示輸出直接由輸入(而不是狀態變量)控制。

我不明白如何在不使用狀態變量或先前的輸入/輸出值來計算相關導數的情況下實現一個分子和分母具有相同度數(大於零)的傳遞函數。


背景

這裏是思想,導致我對這個問題的路線:

我想實現一個C++代碼,表示與傳遞函數的線性系統。對於此實現,我將使用輸入x(t)並計算輸出y(t)。假設這個系統的傳遞函數是G(s)。我可以把它寫成Y(s) = G(s) * X(s)

此外,我會說G(s) = numerator(s)/denominator(s),其中numerator(s)是度M的拉普拉斯域變量s的多項式的係數是c_{M}, c_{M-1}, ..., c_{1}, ..., c_{0}。分母是另一個多項式,但度數爲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

我用一個數值積分器(爲了簡單起見,我們說euler)來解這個方程,它可以讓我使用N-1狀態變量來計算y及其導數。對於x的k衍生物,我接近它大致使用輸入的最後k+1值(例如x^{1} = (x(t2) - x(t1))/(t2-t1)

總之,我需要跟蹤N-1狀態變量爲YM+1以前的x值。然後我請記住,simulink在沒有任何以前的值的情況下執行此操作時M==N。這怎麼可能?

回答

2

在分母和分子具有相同大小的情況下,輸出將取決於輸入值,但它也將取決於狀態的值,所以塊將有直接饋通,但是它也需要N-1個狀態,其中N是分母的長度。

查看此wiki article瞭解輸出直接取決於輸入(以及狀態)的傳遞函數的示例。

我看了一下你指出的文檔,我同意它很混亂。這似乎表明,輸出或者只依賴於狀態,或者僅依賴於輸入。實際上,輸出可以依賴於輸入,狀態和參數的組合。直接饋通只會詢問輸出是否依賴於輸入值,不關心輸出是否也依賴於狀態。

我希望這會有所幫助。

+0

你的鏈接有幫助我很多信息。在幾天的時間裏,我認爲我根本得不到答案。非常感謝! – YuppieNetworking

+0

沒問題,我知道沒有多少人回答Simulink的問題,所以我盡力幫忙。 – MikeT

相關問題