本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。