當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy signal.TransferFunction用法及代碼示例


本文簡要介紹 python 語言中 scipy.signal.TransferFunction 的用法。

用法:

class  scipy.signal.TransferFunction(*system, **kwargs)#

傳遞函數形式的線性時不變係統類。

將係統表示為 continuous-time 傳遞函數 或 discrete-time 傳遞函數 ,其中 是分子 num 的元素, 是分母 den 的元素,和N == len(b) - 1M == len(a) - 1TransferFunction 係統分別從 lti dlti 類繼承附加函數,具體取決於使用的係統表示形式。

參數

*system: arguments

TransferFunction 類可以使用 1 或 2 個參數進行實例化。下麵給出了輸入參數的數量及其解釋:

dt: float, optional

discrete-time 係統的采樣時間 [s]。默認為None(continuous-time)。必須指定為關鍵字參數,例如,dt=0.1.

注意

更改不屬於TransferFunction係統表示(例如A,B,C,D狀態空間矩陣)效率非常低,並且可能導致數值不準確。最好先轉換為特定的係統表示形式。例如,調用sys = sys.to_ss()在訪問/更改 A、B、C、D 係統矩陣之前。

如果 (numerator, denominator) 為 *system 傳入,則分子和分母的係數應按 index 降序指定(例如 s^2 + 3s + 5z^2 + 3z + 5 將表示為 [1, 3, 5] )

例子

構造傳遞函數

>>> from scipy import signal
>>> num = [1, 3, 3]
>>> den = [1, 2, 1]
>>> signal.TransferFunction(num, den)
TransferFunctionContinuous(
array([1., 3., 3.]),
array([1., 2., 1.]),
dt: None
)

構造采樣時間為 0.1 秒的傳遞函數

>>> signal.TransferFunction(num, den, dt=0.1)
TransferFunctionDiscrete(
array([1., 3., 3.]),
array([1., 2., 1.]),
dt: 0.1
)

屬性

den

TransferFunction 係統的分母。

dt

返回係統的采樣時間,None為了scipy.signal.lti係統。

num

TransferFunction 係統的分子。

poles

係統的極點。

zeros

係統的零點。

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.signal.TransferFunction。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。