簡體   English   中英

Matlab:如何分解傳遞函數

[英]Matlab: How to factorize transfer function

我需要將傳遞函數分為2個傳遞函數,使得S2 = S1'實際上我的乘積為S2 * S1

s = tf('s')
Suu = -1.6/((s-4)*(s+4))
Sux = -0.8/((s+4)*(s-4)*(s^2 + 0.1*s + 1))
Sxx = 0.3*(s - 4.163)*(s + 4.163)/((s+4)*(s-4)*(s^2 - 0.1*s + 1)*(s^2 + 0.1*s + 1))
Sxu = Sux'
SxdSdx = Sxx - (Sxu*Sux)/Suu

如果Sxd = Sdx',如何確定Sxd和Sdx? 有人可以幫助我嗎?

您想要做的就是所謂的頻譜分解。 關於頻譜分解算法的一份很好的調查論文是AH Sayed和T.Kailath,Numer的“頻譜分解方法的調查”。 線性代數應用,第一卷。 8,第467-496頁,2001年。

如果您的傳遞函數可表示為可以分解的有理函數(即s中多項式的比率),則可以選擇S1作為其零(分子多項式的根)和極點(分母的根)的有理函數。多項式)都在左半平面內(即,實部小於零)。 如果存在真實根,則必須成對出現,並且您可以將每對中的一個分配給S1。 如果執行此操作,則S1 * conj(S1)將是原始傳遞函數。

分解傳遞函數的數值方法取決於傳遞函數的極點和零點(其中有多少個,它們有多接近等),如何知道傳遞函數(通過多項式知道)系數?您是通過它在s空間中選定點的值知道它的?),知道它的准確度(您傳遞函數系數的准確度)以及希望分解的精確度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM