python中如何重采样?用scipy.signal.resample scipy.signal.resample_poly

scipy.signal.resample

官方手册

scipy.signal.resample — SciPy v1.13.0 Manual

scipy.signal.resample(x,num)  num是int,是经过resample之后的符号长度,不是上采样率,不过有的时候采样不是整数会有偏差,比如期待输出5个符号,可能输出4个,输出是numpy类型的数据

from scipy import signal

x=[i for i in range(1,201)]
y=signal.resample(x,100)
tx=np.linspace(0,10,200,endpoint=False)
ty=np.linspace(0,10,100,endpoint=False)
plt.plot(tx,x,'-')
plt.plot(ty,y,'.-')

scipy.signal.resample_poly

scipy.signal.resample_poly — SciPy v1.13.0 Manual

scipy.signal.resample_poly(x,up,down)

The signal x is upsampled by the factor up, a zero-phase low-pass FIR filter is applied, and then it is downsampled by the factor down. The resulting sample rate is up/down times the original sample rate. By default, values beyond the boundary of the signal are assumed to be zero during the filtering step.

这个函数就和matlab里面的resample是一样的,一般用法是up写目标采样率,down写当前采样率

from scipy import signal

x=[i for i in range(1,11)]
y=signal.resample_poly(x,1,2)

x=[1:10];
y=resample(x,1,2)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值