Python 实现窗函数

作者: Python高效编程 | 来源:发表于2019-02-23 23:23 被阅读1次

    在数字信号处理中,加窗是音频信号预处理重要的一步,以下使用 Python 实现三种常见的窗函数:
    矩形窗的定义为:
    如果 0 \leq n \leq M - 1, W(n) = 1,否则 W(n) = 0。
    汉宁窗(Hanning)的定义为:
    如果 0 \leq n \leq M - 1, W(n) = 0.5[1-cos(\frac{2\pi n}{M-1})],否则 W(n) = 0。

    Python高效编程
    汉明窗(Hamming):
    如果 0 Python高效编程
    import numpy as np
    
    def choose_windows(name='Hamming', N=20):
        # Rect/Hanning/Hamming
        if name == 'Hamming':
            window = np.array([0.54 - 0.46 * np.cos(2 * np.pi * n / (N - 1)) for n in range(N)])
        elif name == 'Hanning':
            window = np.array([0.5 - 0.5 * np.cos(2 * np.pi * n / (N - 1)) for n in range(N)])
        elif name == 'Rect':
            window = np.ones(N)
        return window
    

    相关文章

      网友评论

        本文标题:Python 实现窗函数

        本文链接:https://www.haomeiwen.com/subject/llwmyqtx.html