scipy.signal.

lp2bp_zpk#

scipy.signal.lp2bp_zpk(z, p, k, wo=1.0, bw=1.0)[источник]#

Преобразовать прототип фильтра нижних частот в полосовой фильтр.

Возвращает аналоговый полосовой фильтр с центральной частотой wo и полоса пропускания bw из аналогового прототипа фильтра нижних частот с единичной частотой среза, используя представление нулей, полюсов и коэффициента усиления ('zpk').

Параметры:
zarray_like

Нули передаточной функции аналогового фильтра.

parray_like

Полюсы передаточной функции аналогового фильтра.

kfloat

Коэффициент усиления системы аналогового фильтра передаточной функции.

wofloat

Желаемый центр полосы пропускания, как угловая частота (например, рад/с). По умолчанию без изменений.

bwfloat

Желаемая ширина полосы пропускания, как угловая частота (например, рад/с). По умолчанию 1.

Возвращает:
zndarray

Нули передаточной функции преобразованного полосового фильтра.

pndarray

Полюсы передаточной функции преобразованного полосового фильтра.

kfloat

Коэффициент усиления системы преобразованного полосового фильтра.

Смотрите также

lp2lp_zpk, lp2hp_zpk, lp2bs_zpk, bilinear
lp2bp

Примечания

Это получено из подстановки s-плоскости

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

Это «широкополосное» преобразование, создающее полосу пропускания с геометрической (логарифмической по частоте) симметрией относительно wo.

Добавлено в версии 1.1.0.

Примеры

Используйте представление 'zpk' (Zero-Pole-Gain) фильтра нижних частот для преобразования его в полосовой фильтр с центральной частотой wo и полосой пропускания bw.

>>> 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)