Find Foundamental Frequency with Python

This code is from Fundamental frequency estimation and supervised learning:

def freq_from_FFT(sig, fs):
    # Compute Fourier transform of windowed signal
    N = len(sig)
    windowed = sig * blackmanharris(N)
    X = np.abs(np.fft.rfft(windowed))

    # Find the peak and interpolate
    i = np.argmax(abs(X)) # Just use this for less-accurate, naive version
    X[X == 0] = epsilon   # Circumvent division by 0

    true_i = interpolate(X, i)[0]

    return fs * true_i / N
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值