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)