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