scipy.signal.

invresz#

scipy.signal.invresz(r, p, k, tol=0.001, rtype='avg')[Quelle]#

Berechne b(z) und a(z) aus der Partialbruchzerlegung.

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 Nullstellen gibt (näher als tol), dann hat 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 siehe invres.

Parameter:
rarray_like

Residuen entsprechend den Polen. Bei wiederholten Polen müssen die Residuen so geordnet sein, dass sie aufsteigenden Potenzenbrüchen entsprechen.

parray_like

Pole. Gleiche Pole müssen nebeneinander liegen.

karray_like

Koeffizienten des direkten Polynomterms.

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:
bndarray

Koeffizienten des Zählerpolynoms.

andarray

Koeffizienten des Nennerpolynoms.