lti#
- class scipy.signal.lti(*system)[Quelle]#
Basisklasse für kontinuierliche lineare zeitinvariante Systeme.
- Parameter:
- *systemArgumente
Die Klasse
ltikann mit 2, 3 oder 4 Argumenten instanziiert werden. Die folgende Tabelle zeigt die Anzahl der Argumente und die entsprechende erstellte kontinuierliche Unterklasse.2:
TransferFunction: (Zähler, Nenner)3:
ZerosPolesGain: (Nullstellen, Pole, Verstärkung)4:
StateSpace: (A, B, C, D)
Jedes Argument kann ein Array oder eine Sequenz sein.
- Attribute:
Methoden
bode([w, n])Berechnet Bode-Größen- und Phasen-Daten eines Systems mit kontinuierlicher Zeit.
freqresp([w, n])Berechnet die Frequenzantwort eines Systems mit kontinuierlicher Zeit.
impulse([X0, T, N])Gibt die Impulsantwort eines kontinuierlichen Systems zurück.
output(U, T[, X0])Gibt die Antwort eines kontinuierlichen Systems auf die Eingabe U zurück.
step([X0, T, N])Gibt die Sprungantwort eines kontinuierlichen Systems zurück.
to_discrete(dt[, method, alpha])Gibt eine diskretisierte Version des aktuellen Systems zurück.
Siehe auch
Hinweise
lti-Instanzen existieren nicht direkt. Stattdessen erstelltltieine Instanz einer seiner Unterklassen:StateSpace,TransferFunctionoderZerosPolesGain.Wenn (Zähler, Nenner) für
*systemübergeben werden, sollten die Koeffizienten für Zähler und Nenner in absteigender Exponentenreihenfolge angegeben werden (z. B.s^2 + 3s + 5wird als[1, 3, 5]dargestellt).Das Ändern des Werts von Eigenschaften, die nicht direkt Teil der aktuellen Systemdarstellung sind (wie z. B. die
NullstelleneinesStateSpace-Systems) ist sehr ineffizient und kann zu numerischen Ungenauigkeiten führen. Es ist besser, zuerst in die spezifische Systemdarstellung zu konvertieren. Rufen Sie beispielsweisesys = sys.to_zpk()auf, bevor Sie auf die Nullstellen, Pole oder die Verstärkung zugreifen/diese ändern.Beispiele
>>> from scipy import signal
>>> signal.lti(1, 2, 3, 4) StateSpaceContinuous( array([[1]]), array([[2]]), array([[3]]), array([[4]]), dt: None )
Konstruieren Sie die Übertragungsfunktion \(H(s) = \frac{5(s - 1)(s - 2)}{(s - 3)(s - 4)}\)
>>> signal.lti([1, 2], [3, 4], 5) ZerosPolesGainContinuous( array([1, 2]), array([3, 4]), 5, dt: None )
Konstruieren Sie die Übertragungsfunktion \(H(s) = \frac{3s + 4}{1s + 2}\)
>>> signal.lti([3, 4], [1, 2]) TransferFunctionContinuous( array([3., 4.]), array([1., 2.]), dt: None )