用法:
cusignal.waveforms.waveforms.chirp(t, f0, t1, f1, method='linear', phi=0, vertex_zero=True)
Frequency-swept 餘弦發生器。
在下文中,“Hz”應解釋為“每單位的周期數”;這裏沒有要求單位是一秒。重要的區別是旋轉單位是周期,而不是弧度。同樣,
t
可以是空間而不是時間的度量。- t:array_like
評估波形的時間。
- f0:浮點數
時間 t=0 時的頻率(例如 Hz)。
- t1:浮點數
指定
f1
的時間。- f1:浮點數
時間
t1
時波形的頻率(例如 Hz)。- method:{‘linear’, ‘quadratic’, ‘logarithmic’, ‘hyperbolic’},可選
一種頻率掃描。如果未給出,則假定為
linear
。有關詳細信息,請參閱下麵的注釋。- phi:浮點數,可選
相位偏移,以度為單位。默認值為 0。
- vertex_zero:布爾型,可選
此參數僅在
method
為‘quadratic’ 時使用。它確定作為頻率圖的拋物線的頂點是在t=0還是t=t1。
- y:ndarray
一個 numpy 數組,其中包含在
t
以請求的 time-varying 頻率評估的信號。更準確地說,該函數返回cos(phase + (pi/180)*phi)
其中phase
是2*pi*f(t)
的積分(從 0 到t
)。f(t)
定義如下。
參數:
返回:
例子:
示例中將使用以下內容:
>>> from cusignal import chirp, spectrogram >>> import matplotlib.pyplot as plt >>> import cupy as cp
對於第一個示例,我們將繪製 10 秒內從 6 Hz 到 1 Hz 的線性啁啾的波形:
>>> t = cp.linspace(0, 10, 5001) >>> w = chirp(t, f0=6, f1=1, t1=10, method='linear') >>> plt.plot(cp.asnumpy(t), cp.asnumpy(w)) >>> plt.title("Linear Chirp, f(0)=6, f(10)=1") >>> plt.xlabel('t (sec)') >>> plt.show()
對於其餘示例,我們將使用更高的頻率範圍,並使用
cusignal.spectrogram
演示結果。我們將使用以 8000 Hz 采樣的 10 秒間隔。>>> fs = 8000 >>> T = 10 >>> t = cp.linspace(0, T, T*fs, endpoint=False)
10 秒內從 1500 Hz 到 250 Hz 的二次啁啾(頻率拋物線的頂點在 t=0):
>>> w = chirp(t, f0=1500, f1=250, t1=10, method='quadratic') >>> ff, tt, Sxx = spectrogram(w, fs=fs, noverlap=256, nperseg=512, ... nfft=2048) >>> plt.pcolormesh(cp.asnumpy(tt), cp.asnumpy(ff[:513]), cp.asnumpy(Sxx[:513]), cmap='gray_r') >>> plt.title('Quadratic Chirp, f(0)=1500, f(10)=250') >>> plt.xlabel('t (sec)') >>> plt.ylabel('Frequency (Hz)') >>> plt.grid() >>> plt.show()
相關用法
- Python cusignal.waveforms.waveforms.gausspulse用法及代碼示例
- Python cusignal.waveforms.waveforms.unit_impulse用法及代碼示例
- Python cusignal.waveforms.waveforms.square用法及代碼示例
- Python cusignal.wavelets.wavelets.ricker用法及代碼示例
- Python cusignal.wavelets.wavelets.morlet用法及代碼示例
- Python cusignal.wavelets.wavelets.morlet2用法及代碼示例
- Python cusignal.wavelets.wavelets.cwt用法及代碼示例
- Python cusignal.windows.windows.hann用法及代碼示例
- Python cusignal.windows.windows.general_gaussian用法及代碼示例
- Python cusignal.windows.windows.gaussian用法及代碼示例
- Python cusignal.windows.windows.hamming用法及代碼示例
- Python cusignal.windows.windows.get_window用法及代碼示例
- Python cusignal.windows.windows.bartlett用法及代碼示例
- Python cusignal.windows.windows.chebwin用法及代碼示例
- Python cusignal.windows.windows.general_cosine用法及代碼示例
- Python cusignal.windows.windows.tukey用法及代碼示例
- Python cusignal.windows.windows.blackman用法及代碼示例
- Python cusignal.windows.windows.barthann用法及代碼示例
- Python cusignal.windows.windows.triang用法及代碼示例
- Python cusignal.windows.windows.kaiser用法及代碼示例
注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cusignal.waveforms.waveforms.chirp。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。