fft.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:ugm-kayu-nde 作者: mappuji 项目源码 文件源码
def kayufft_db(signal, rate):
    """ Perform FFT for wood's longitudinal stress wave signal
        Inputs:
        Acoustic signal in time domain and the sampling rate
        Returns:
        Signal in ferquency domain with unit in dB
    """
    signal_length = len(signal)
    fft_result = fft(signal)
    uniq_points = int(ceil((signal_length + 1) / 2.0)) #only takes one side of FFT result
    fft_result = fft_result[0:uniq_points]
    fft_result = abs(fft_result)
    fft_result = fft_result / float(signal_length)
    fft_result = fft_result**2
    if signal_length % 2 > 0:
        fft_result[1:len(fft_result)] = fft_result[1:len(fft_result)] * 2
    else:
        fft_result[1:len(fft_result) - 1] = fft_result[1:len(fft_result) - 1] * 2
    fft_abscissa = arange(0, uniq_points, 1.0) * (rate / signal_length)
    fft_ordinate = 10 * log10(fft_result)
    return fft_ordinate, fft_abscissa
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号