scipy.signal.

tf2zpk#

scipy.signal.tf2zpk(b, a)[Quelle]#

Gibt die Null-, Pol- und Verstärkungsdarstellung (z, p, k) aus einer Zähler-Nenner-Darstellung eines linearen Filters zurück.

Parameter:
barray_like

Koeffizienten des Zählerpolynoms.

aarray_like

Koeffizienten des Nennerpolynoms.

Rückgabe:
zndarray

Nullen der Übertragungsfunktion.

pndarray

Pole der Übertragungsfunktion.

kfloat

Systemverstärkung.

Hinweise

Wenn einige Werte von b zu nahe an 0 sind, werden sie entfernt. In diesem Fall wird eine Warnung `BadCoefficients` ausgegeben.

Die Arrays b und a werden als Koeffizienten für positive, absteigende Potenzen der Variablen der Übertragungsfunktion interpretiert. Daher können die Eingaben \(b = [b_0, b_1, ..., b_M]\) und \(a =[a_0, a_1, ..., a_N]\) einen analogen Filter der Form

\[H(s) = \frac {b_0 s^M + b_1 s^{(M-1)} + \cdots + b_M} {a_0 s^N + a_1 s^{(N-1)} + \cdots + a_N}\]

oder einen diskreten Filter der Form

\[H(z) = \frac {b_0 z^M + b_1 z^{(M-1)} + \cdots + b_M} {a_0 z^N + a_1 z^{(N-1)} + \cdots + a_N}\]

Diese Form der "positiven Potenzen" findet sich häufiger in der Regelungstechnik. Wenn M und N gleich sind (was für alle durch die bilineare Transformation erzeugten Filter zutrifft), dann ist dies äquivalent zur Form der "negativen Potenzen" für diskrete Zeit, die in der DSP bevorzugt wird

\[H(z) = \frac {b_0 + b_1 z^{-1} + \cdots + b_M z^{-M}} {a_0 + a_1 z^{-1} + \cdots + a_N z^{-N}}\]

Obwohl dies für gängige Filter zutrifft, denken Sie daran, dass dies im allgemeinen Fall nicht zutrifft. Wenn M und N nicht gleich sind, müssen die Koeffizienten der diskreten Übertragungsfunktion zuerst in die Form "positive Potenzen" umgewandelt werden, bevor die Pole und Nullen gefunden werden.

Beispiele

Finden Sie die Nullen, Pole und die Verstärkung eines Filters mit der Übertragungsfunktion

\[H(s) = \frac{3s^2}{s^2 + 5s + 13}\]
>>> from scipy.signal import tf2zpk
>>> tf2zpk([3, 0, 0], [1, 5, 13])
(   array([ 0.               ,  0.              ]),
    array([ -2.5+2.59807621j ,  -2.5-2.59807621j]),
    3.0)