scipy.signal.

residuez#

scipy.signal.residuez(b, a, tol=0.001, rtype='avg')[Quelle]#

Berechnet die Partialbruchzerlegung von b(z) / a(z).

Wenn M der Grad des Zählers b und N der Grad des Nenners a ist,

        b(z)     b[0] + b[1] z**(-1) + ... + b[M] z**(-M)
H(z) = ------ = ------------------------------------------
        a(z)     a[0] + a[1] z**(-1) + ... + a[N] z**(-N)

dann ist die Partialbruchzerlegung H(z) definiert als

        r[0]                   r[-1]
= --------------- + ... + ---------------- + k[0] + k[1]z**(-1) ...
  (1-p[0]z**(-1))         (1-p[-1]z**(-1))

Wenn es wiederholte Wurzeln gibt (näher als tol), dann enthält die Partialbruchzerlegung Terme wie

     r[i]              r[i+1]                    r[i+n-1]
-------------- + ------------------ + ... + ------------------
(1-p[i]z**(-1))  (1-p[i]z**(-1))**2         (1-p[i]z**(-1))**n

Diese Funktion wird für Polynome in negativen Potenzen von z verwendet, wie z.B. digitale Filter in DSP. Für positive Potenzen verwenden Sie residue.

Details zum Algorithmus finden Sie in den Anmerkungen zu residue.

Parameter:
barray_like

Koeffizienten des Zählerpolynoms.

aarray_like

Koeffizienten des Nennerpolynoms.

tolfloat, optional

Die Toleranz dafür, dass zwei Nullstellen als gleich betrachtet werden, basierend auf ihrer Entfernung voneinander. Standardwert ist 1e-3. Weitere Details finden Sie unter unique_roots.

rtype{‘avg’, ‘min’, ‘max’}, optional

Methode zur Berechnung einer Nullstelle, die eine Gruppe identischer Nullstellen repräsentiert. Standardwert ist ‘avg’. Weitere Details finden Sie unter unique_roots.

Rückgabe:
rndarray

Residuen, die den Polen entsprechen. Bei wiederholten Polen werden die Residuen so geordnet, dass sie aufsteigend nach Potenzbrüchen geordnet sind.

pndarray

Pole, geordnet nach Betrag in aufsteigender Reihenfolge.

kndarray

Koeffizienten des direkten Polynomterms.