scipy.signal.

gausspulse#

scipy.signal.gausspulse(t, fc=1000, bw=0.5, bwr=-6, tpr=-60, retquad=False, retenv=False)[источник]#

Возвращает синусоиду, модулированную по Гауссу:

exp(-a t^2) exp(1j*2*pi*fc*t).

Если retquad равно True, то возвращаются действительная и мнимая части (синфазная и квадратурная). Если retenv равно True, то возвращает огибающую (немодулированный сигнал). В противном случае возвращает вещественную часть модулированного синусоидального сигнала.

Параметры:
tndarray или строка 'cutoff'

Входной массив.

fcfloat, опционально

Центральная частота (например, Гц). По умолчанию 1000.

bwfloat, опционально

Дробная полоса пропускания в частотной области импульса (например, Гц). По умолчанию 0.5.

bwrfloat, опционально

Опорный уровень, на котором вычисляется относительная ширина полосы (дБ). По умолчанию -6.

tprfloat, опционально

Если t равен 'cutoff', тогда функция возвращает время отсечки для момента, когда амплитуда импульса падает ниже tpr (в дБ). По умолчанию -60.

retquadbool, необязательно

Если True, возвращать квадратуру (мнимую часть) вместе с вещественной частью сигнала. По умолчанию False.

retenvbool, необязательно

Если True, возвращает огибающую сигнала. По умолчанию False.

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

Действительная часть сигнала. Всегда возвращается.

yQndarray

Мнимая часть сигнала. Возвращается только если retquad равно True.

yenvndarray

Огибающая сигнала. Возвращается только если retenv равно True.

Примеры

Постройте вещественную компоненту, мнимую компоненту и огибающую для 5 Гц импульса, дискретизированного с частотой 100 Гц в течение 2 секунд:

>>> import numpy as np
>>> from scipy import signal
>>> import matplotlib.pyplot as plt
>>> t = np.linspace(-1, 1, 2 * 100, endpoint=False)
>>> i, q, e = signal.gausspulse(t, fc=5, retquad=True, retenv=True)
>>> plt.plot(t, i, t, q, t, e, '--')
../../_images/scipy-signal-gausspulse-1.png