本文简要介绍 python 语言中 scipy.signal.resample
的用法。
用法:
scipy.signal.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,则包含重采样数组和相应重采样位置的元组。
参数 ::
返回 ::
注意:
参数窗口控制 Fourier-domain 窗口,该窗口在补零之前使傅里叶频谱逐渐变细,以减轻您不打算解释为 band-limited 的采样信号的重采样值中的振铃。
如果 window 是一个函数,则使用指示频率区间的输入向量(即 fftfreq(x.shape[axis]) )调用它。
如果 window 是与 x.shape[axis] 长度相同的数组,则假定它是直接应用于傅里叶域的窗口(首先使用 dc 和 low-frequency)。
对于任何其他类型的窗户, 函数scipy.signal.get_window被调用来生成窗口。
返回向量的第一个样本与输入向量的第一个样本相同。样本之间的间距从
dx
更改为dx * len(x) / num
。如果 t 不是 None,那么它仅用于计算重采样位置 resampled_t
如前所述,
resample
使用 FFT 变换,如果输入或输出样本数量很大且为素数,则速度可能会非常慢;参见scipy.fft.fft
。例子:
请注意,重采样数据的末尾上升以满足下一个周期的第一个样本:
>>> import numpy as np >>> from scipy import signal
>>> x = np.linspace(0, 10, 20, endpoint=False) >>> y = np.cos(-x**2/6.0) >>> f = signal.resample(y, 100) >>> xnew = np.linspace(0, 10, 100, endpoint=False)
>>> import matplotlib.pyplot as plt >>> plt.plot(x, y, 'go-', xnew, f, '.-', 10, y[0], 'ro') >>> plt.legend(['data', 'resampled'], loc='best') >>> plt.show()
相关用法
- Python SciPy signal.resample_poly用法及代码示例
- Python SciPy signal.residue用法及代码示例
- Python SciPy signal.residuez用法及代码示例
- Python SciPy signal.remez用法及代码示例
- Python SciPy signal.ricker用法及代码示例
- Python SciPy signal.czt_points用法及代码示例
- Python SciPy signal.chirp用法及代码示例
- Python SciPy signal.iirdesign用法及代码示例
- Python SciPy signal.max_len_seq用法及代码示例
- Python SciPy signal.kaiser_atten用法及代码示例
- Python SciPy signal.oaconvolve用法及代码示例
- Python SciPy signal.hilbert用法及代码示例
- Python SciPy signal.group_delay用法及代码示例
- Python SciPy signal.cheb2ord用法及代码示例
- Python SciPy signal.get_window用法及代码示例
- Python SciPy signal.lfilter用法及代码示例
- Python SciPy signal.morlet用法及代码示例
- Python SciPy signal.coherence用法及代码示例
- Python SciPy signal.dfreqresp用法及代码示例
- Python SciPy signal.TransferFunction用法及代码示例
- Python SciPy signal.dbode用法及代码示例
- Python SciPy signal.bilinear_zpk用法及代码示例
- Python SciPy signal.firls用法及代码示例
- Python SciPy signal.impulse用法及代码示例
- Python SciPy signal.buttord用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.signal.resample。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。