Python 实现窗函数

在数字信号处理中,加窗是音频信号预处理重要的一步,以下使用 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
\leq
n
\leq
M - 1, W(n) =
0.54-0.46cos(\frac{2\pi n}{M-1})
,否则 W(n) = 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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这个不错分享给大家,从扣上看到的,就转过来了 《电脑专业英语》 file [fail] n. 文件;v. 保存文...
    麦子先生R阅读 11,805评论 5 24
  • 原本不打算参加这个活动的,原因有三:一是自己的文字功底不深厚;二是想必参加的人有不少高手;三是我对于这种总结书...
    薄荷百朵香阅读 3,616评论 0 3
  • 你说万红飞乱,韶华易褪; 我便敛花入画,倾尽明媚。 你说蝉噪日长,凉风未吹; 我便植柳成荫,摇扇相随。 你说晚秋枯...
    来路远方阅读 1,891评论 4 3
  • 一觉醒来看下时间5点30分,出奇的精神,连续打了十一个喷嚏! 昨天坐飞机还意犹未尽,谁说飞机经常晚点...
    铵娜阅读 2,953评论 4 3
  • 这个世界是很残酷,但这个世界从不缺少努力奋斗的人。 坚持,并不是一件容易的事情。或许你曾经想要去改变自己,想要活出...
    Catherine_龙猫阅读 832评论 0 0