用法:
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。