我想了解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
狀態變量爲Y
和M+1
以前的x
值。然後我請記住,simulink在沒有任何以前的值的情況下執行此操作時M==N
。這怎麼可能?
你的鏈接有幫助我很多信息。在幾天的時間裏,我認爲我根本得不到答案。非常感謝! – YuppieNetworking
沒問題,我知道沒有多少人回答Simulink的問題,所以我盡力幫忙。 – MikeT