dlti#
- class scipy.signal.dlti(*system, **kwargs)[Quelle]#
Basisklasse für zeitdiskrete lineare zeitinvariante Systeme.
- Parameter:
- *system: Argumente
Die Klasse
dltikann mit 2, 3 oder 4 Argumenten instanziiert werden. Das Folgende gibt die Anzahl der Argumente und die entsprechende erstellte zeitdiskrete Unterklasse an: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.
- dt: float, optional
Abtastzeit [s] der zeitdiskreten Systeme. Standardwert ist
True(nicht spezifizierte Abtastzeit). Muss als Schlüsselwortargument angegeben werden, z. B.dt=0.1.
- Attribute:
Methoden
bode([w, n])Berechnet Bode-Betrags- und Phasendaten eines zeitdiskreten Systems.
freqresp([w, n, whole])Berechnet die Frequenzantwort eines zeitdiskreten Systems.
impulse([x0, t, n])Gibt die Impulsantwort des zeitdiskreten
dlti-Systems zurück.output(u, t[, x0])Gibt die Antwort des zeitdiskreten Systems auf den Eingang u zurück.
step([x0, t, n])Gibt die Sprungantwort des zeitdiskreten
dlti-Systems zurück.Siehe auch
Hinweise
dlti-Instanzen existieren nicht direkt. Stattdessen erstelltdltieine Instanz einer seiner Unterklassen:StateSpace,TransferFunctionoderZerosPolesGain.Das Ändern des Werts von Eigenschaften, die nicht direkt Teil der aktuellen Systemdarstellung sind (wie die
zeroseinesStateSpace-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.Wenn (Zähler, Nenner) für
*systemübergeben wird, sollten die Koeffizienten sowohl für den Zähler als auch für den Nenner in absteigender Exponentenreihenfolge angegeben werden (z. B. wirdz^2 + 3z + 5als[1, 3, 5]dargestellt).Hinzugefügt in Version 0.18.0.
Beispiele
>>> from scipy import signal
>>> signal.dlti(1, 2, 3, 4) StateSpaceDiscrete( array([[1]]), array([[2]]), array([[3]]), array([[4]]), dt: True )
>>> signal.dlti(1, 2, 3, 4, dt=0.1) StateSpaceDiscrete( array([[1]]), array([[2]]), array([[3]]), array([[4]]), dt: 0.1 )
Konstruieren Sie die Übertragungsfunktion \(H(z) = \frac{5(z - 1)(z - 2)}{(z - 3)(z - 4)}\) mit einer Abtastzeit von 0,1 Sekunden
>>> signal.dlti([1, 2], [3, 4], 5, dt=0.1) ZerosPolesGainDiscrete( array([1, 2]), array([3, 4]), 5, dt: 0.1 )
Konstruieren Sie die Übertragungsfunktion \(H(z) = \frac{3z + 4}{1z + 2}\) mit einer Abtastzeit von 0,1 Sekunden
>>> signal.dlti([3, 4], [1, 2], dt=0.1) TransferFunctionDiscrete( array([3., 4.]), array([1., 2.]), dt: 0.1 )