scipy.signal.

lp2bp_zpk#

scipy.signal.lp2bp_zpk(z, p, k, wo=1.0, bw=1.0)[Quelle]#

Wandelt einen Tiefpassfilter-Prototyp in einen Bandpassfilter um.

Gibt einen analogen Bandpassfilter mit der Mittenfrequenz wo und der Bandbreite bw aus einem analogen Tiefpassfilter-Prototyp mit Einheits-Grenzfrequenz unter Verwendung der Nullstellen-, Pol- und Verstärkungs-(‚zpk‘)-Darstellung zurück.

Parameter:
zarray_like

Nullstellen der Übertragungsfunktion des analogen Filters.

parray_like

Polstellen der Übertragungsfunktion des analogen Filters.

kfloat

Systemverstärkung der Übertragungsfunktion des analogen Filters.

wofloat

Gewünschte Mittenfrequenz des Durchlassbereichs als Winkelfrequenz (z. B. rad/s). Standardwert: keine Änderung.

bwfloat

Gewünschte Bandbreite des Durchlassbereichs als Winkelfrequenz (z. B. rad/s). Standardwert: 1.

Rückgabe:
zndarray

Nullstellen der Übertragungsfunktion des transformierten Bandpassfilters.

pndarray

Pole der Übertragungsfunktion des transformierten Bandpassfilters.

kfloat

Systemverstärkung des transformierten Bandpassfilters.

Hinweise

Dies leitet sich aus der s-Ebene-Substitution ab

\[s \rightarrow \frac{s^2 + {\omega_0}^2}{s \cdot \mathrm{BW}}\]

Dies ist die „Wideband“-Transformation, die einen Durchlassbereich mit geometrischer (logarithmischer Frequenz-) Symmetrie um wo erzeugt.

Hinzugefügt in Version 1.1.0.

Beispiele

Verwenden Sie die ‚zpk‘ (Nullstellen-Pol-Verstärkungs)-Darstellung eines Tiefpassfilters, um ihn in einen Bandpassfilter mit einer Mittenfrequenz wo und einer Bandbreite bw umzuwandeln.

>>> from scipy.signal import lp2bp_zpk
>>> z   = [ 5 + 2j ,  5 - 2j ]
>>> p   = [ 7      ,  -16    ]
>>> k   = 0.8
>>> wo  = 0.62
>>> bw  = 15
>>> lp2bp_zpk(z, p, k, wo, bw)
(   array([7.49955815e+01+3.00017676e+01j, 7.49955815e+01-3.00017676e+01j,
           4.41850748e-03-1.76761126e-03j, 4.41850748e-03+1.76761126e-03j]),
    array([1.04996339e+02+0.j, -1.60167736e-03+0.j,  3.66108003e-03+0.j,
           -2.39998398e+02+0.j]), 0.8)