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