scipy.signal.

gausspulse#

scipy.signal.gausspulse(t, fc=1000, bw=0.5, bwr=-6, tpr=-60, retquad=False, retenv=False)[source]#

返回高斯調變正弦波

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

如果 retquad 為 True,則返回實部和虛部(同相和正交)。如果 retenv 為 True,則返回包絡(未調變訊號)。否則,返回調變正弦波的實部。

參數:
tndarray 或字串 ‘cutoff’

輸入陣列。

fcfloat, 選填

中心頻率(例如 Hz)。預設值為 1000。

bwfloat, 選填

脈衝在頻域中的分數頻寬(例如 Hz)。預設值為 0.5。

bwrfloat, 選填

計算分數頻寬的參考位準(dB)。預設值為 -6。

tprfloat, 選填

如果 t 為 ‘cutoff’,則此函數會返回脈衝振幅降至 tpr 以下時的截止時間(以 dB 為單位)。預設值為 -60。

retquadbool, 選填

如果為 True,則返回訊號的正交(虛部)以及實部。預設值為 False。

retenvbool, 選填

如果為 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