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