freqresp#
- scipy.signal.freqresp(system, w=None, n=10000)[Quelle]#
Berechnet die Frequenzantwort eines Systems mit kontinuierlicher Zeit.
- Parameter:
- systemeine Instanz der Klasse
ltioder ein Tupel, das das System beschreibt. Das Folgende gibt die Anzahl der Elemente im Tupel und die Interpretation an.
1 (Instanz von
lti)2 (num, den)
3 (Nullstellen, Pole, Verstärkung)
4 (A, B, C, D)
- warray_like, optional
Array von Frequenzen (in rad/s). Betrags- und Phasendaten werden für jeden Wert in diesem Array berechnet. Wenn nicht angegeben, wird ein sinnvoller Satz berechnet.
- nint, optional
Anzahl der Frequenzpunkte, die berechnet werden sollen, wenn w nicht angegeben ist. Die n Frequenzen sind logarithmisch in einem Intervall verteilt, das so gewählt wird, dass es den Einfluss der Pole und Nullstellen des Systems erfasst.
- systemeine Instanz der Klasse
- Rückgabe:
- w1D ndarray
Frequenzarray [rad/s]
- H1D ndarray
Array von komplexen Betragswerten
Hinweise
Wenn (Zähler, Nenner) für
systemübergeben wird, sollten die Koeffizienten für Zähler und Nenner in absteigender Exponentenreihenfolge angegeben werden (z. B.s^2 + 3s + 5würde als[1, 3, 5]dargestellt werden).Beispiele
Erzeugung des Nyquist-Diagramms einer Übertragungsfunktion
>>> from scipy import signal >>> import matplotlib.pyplot as plt
Konstruieren Sie die Übertragungsfunktion \(H(s) = \frac{5}{(s-1)^3}\)
>>> s1 = signal.ZerosPolesGain([], [1, 1, 1], [5])
>>> w, H = signal.freqresp(s1)
>>> plt.figure() >>> plt.plot(H.real, H.imag, "b") >>> plt.plot(H.real, -H.imag, "r") >>> plt.show()