使用python完成对波形的采样率的扩增

该博客介绍了如何使用scipy库的样条插值函数将一个20KHz采样率的信号转换为24KHz采样率。首先,通过内插将信号扩大12倍,然后进行10倍的下采样,以实现频率的改变。这种方法涉及到信号处理中的内插和下采样技术。
摘要由CSDN通过智能技术生成

可以通过先内插再采样的方法实现功能。

如有20Khz采样率的采样信号,希望得到该波形在24Khz采样率下的信号,可以先将采样信号内插12倍,再进行10倍下采样。

内插函数可以选用scipy的样条插值函数

import scipy.interpolate as spi

def wave_process(original_data):
    data_num = len(original_data)

    interp_rate = 12
    inter_data_num = data_num * interp_rate

    old_x = [ i for i in range(data_num)]
    new_x = [i/interp_rate for i in range(inter_data_num)]  #内插后以更小的间距进行填充


    ipo3=spi.splrep(old_x,original_data, k=3) #k=3,三次样条插值
    iy3=spi.splev(new_x,ipo3) #根据观测点和样条参数,生成插值

    down_rate = 10
    sample_frac = 1/down_rate

    node_inter = int(1 / sample_frac)  

    node_num = int(inter_data_num / node_inter)
    print (node_num, node_inter)

    sample_y = []
    for i in range(node_num):
        sample_y.append(iy3[i*node_inter])
        
    return sample_y

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值