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'

输入数组。

fc浮点数,可选

中心频率(例如,Hz)。默认值为 1000。

bw浮点数,可选

脉冲在频域中的分数带宽(例如,Hz)。默认值为 0.5。

bwr浮点数,可选

计算分数带宽的参考电平(dB)。默认值为 -6。

tpr浮点数,可选

如果 t 为 'cutoff',则该函数返回脉冲幅度降至 tpr 以下时的截止时间(以 dB 为单位)。默认值为 -60。

retquad布尔值,可选

如果为 True,则返回信号的正交(虚部)和实部。默认值为 False。

retenv布尔值,可选

如果为 True,则返回信号的包络。默认值为 False。

返回:
yIndarray

信号的实部。始终返回。

yQndarray

信号的虚部。仅当 retquad 为 True 时返回。

yenvndarray

信号的包络。仅当 retenv 为 True 时返回。

示例

绘制 5 Hz 脉冲的实部、虚部和包络,以 100 Hz 的采样率采样 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