用法:
cusignal.filtering.resample.resample(x, num, t=None, axis=0, window=None, domain='time')
沿给定轴使用傅里叶方法将
x
重新采样到num
样本。重新采样的信号以与
x
相同的值开始,但以len(x) / num * (spacing of x)
的间距进行采样。因为使用了傅里叶方法,所以假设信号是周期性的。- x:array_like
要重新采样的数据。
- num:int
重采样信号中的样本数。
- t:数组,可选
如果给出
t
,则假定它是与x
中的信号数据相关联的样本位置。- axis:整数,可选
重新采样的
x
的轴。默认值为 0。- window:数组,可调用,字符串,浮点数或元组,可选
指定应用于傅里叶域中的信号的窗口。详情见下文。
- domain:字符串,可选
指示输入域的字符串
x
:time
将输入
x
视为time-domain。 (默认)freq
将输入
x
视为frequency-domain。
- resampled_x 或 (resampled_x, resampled_t)
重采样数组,或者,如果给定
t
,则为包含重采样数组和相应重采样位置的元组。
参数:
返回:
注意:
参数
window
控制一个 Fourier-domain 窗口,该窗口在补零之前使傅里叶频谱逐渐变窄,以减轻您不打算将其解释为 band-limited 的采样信号的重采样值中的振铃。如果
window
是一个函数,则使用指示频率区间的输入向量(即 fftfreq(x.shape[axis]) )调用它。如果
window
是与x.shape[axis]
长度相同的数组,则假定它是直接应用于傅里叶域的窗口(首先是 dc 和 low-frequency)。对于任何其他类型的
window
,调用函数cusignal.get_window
来生成窗口。返回向量的第一个样本与输入向量的第一个样本相同。样本之间的间距从
dx
更改为dx * len(x) / num
。如果
t
不是None,则表示旧样本位置,新样本位置将与新样本一起返回。如前所述,
resample
使用 FFT 变换,如果输入或输出样本的数量很大且为素数,这可能会非常慢;见scipy.fftpack.fft
。例子:
请注意,重采样数据的末尾上升以满足下一个周期的第一个样本:
>>> import cusignal >>> import cupy as cp
>>> x = cp.linspace(0, 10, 20, endpoint=False) >>> y = cp.cos(-x**2/6.0) >>> f = cusignal.resample(y, 100) >>> xnew = cp.linspace(0, 10, 100, endpoint=False)
>>> import matplotlib.pyplot as plt >>> plt.plot(cp.asnumpy(x), cp.asnumpy(y), 'go-', cp.asnumpy(xnew), cp.asnumpy(f), '.-', 10, cp.asnumpy(y[0]), 'ro') >>> plt.legend(['data', 'resampled'], loc='best') >>> plt.show()
相关用法
- Python cusignal.filtering.resample.resample_poly用法及代码示例
- Python cusignal.filter_design.fir_filter_design.cmplx_sort用法及代码示例
- Python cusignal.filter_design.fir_filter_design.firwin用法及代码示例
- Python cusignal.windows.windows.hann用法及代码示例
- Python cusignal.windows.windows.general_gaussian用法及代码示例
- Python cusignal.waveforms.waveforms.chirp用法及代码示例
- Python cusignal.windows.windows.gaussian用法及代码示例
- Python cusignal.windows.windows.hamming用法及代码示例
- Python cusignal.windows.windows.get_window用法及代码示例
- Python cusignal.waveforms.waveforms.gausspulse用法及代码示例
- Python cusignal.peak_finding.peak_finding.argrelmin用法及代码示例
- Python cusignal.windows.windows.bartlett用法及代码示例
- Python cusignal.spectral_analysis.spectral.welch用法及代码示例
- Python cusignal.windows.windows.chebwin用法及代码示例
- Python cusignal.windows.windows.general_cosine用法及代码示例
- Python cusignal.peak_finding.peak_finding.argrelextrema用法及代码示例
- Python cusignal.convolution.convolve.convolve2d用法及代码示例
- Python cusignal.convolution.correlate.correlate用法及代码示例
- Python cusignal.convolution.convolve.fftconvolve用法及代码示例
- Python cusignal.waveforms.waveforms.unit_impulse用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cusignal.filtering.resample.resample。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。