概述
在数字信号处理中,加窗是音频信号预处理重要的一步,以下使用 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
−
c
o
s
(
2
π
n
M
−
1
)
]
0.5[1-cos(frac{2pi n}{M-1})]
0.5[1−cos(M−12πn)],否则 W(n) = 0。
汉明窗(Hamming):
如果 0
≤
leq
≤ n
≤
leq
≤ M - 1, W(n) =
0.54
−
0.46
c
o
s
(
2
π
n
M
−
1
)
0.54-0.46cos(frac{2pi n}{M-1})
0.54−0.46cos(M−12πn),否则 W(n) = 0。
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 实现窗函数的全部内容,希望文章能够帮你解决Python 实现窗函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复