scipy.signal.

freqresp#

scipy.signal.freqresp(system, w=None, n=10000)[Quelle]#

Berechnet die Frequenzantwort eines Systems mit kontinuierlicher Zeit.

Parameter:
systemeine Instanz der Klasse lti oder 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.

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 + 5 wü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()
../../_images/scipy-signal-freqresp-1.png