跳转到内容

数字信号处理/窗函数

来自维基教科书,自由的教科书

大多数数字信号是无限的,或者足够大以至于整个数据集无法被完全处理。足够大的信号也很难进行统计分析,因为统计计算需要所有点都可用于分析。为了避免这些问题,工程师通常通过称为窗函数的过程来分析总数据的子集。

窗函数简介

[编辑 | 编辑源代码]

窗函数是指从较大的数据集中提取一小部分子集进行处理和分析的过程。一种简单的办法是矩形窗,它只是简单地在窗口前后截断数据集,而不会修改窗口内的内容。然而,正如我们将会看到的,这是一种糟糕的窗函数方法,会导致功率泄漏

应用窗函数

[编辑 | 编辑源代码]

将窗函数应用于数据集会改变该数据集的频谱特性。例如,在矩形窗中,窗口外的所有数据点都被截断,因此被认为是零。样本末端的截止点会引入高频成分。

考虑系统H(z),输入为X(z),输出为Y(z)。我们将它建模为

如果我们有一个传递函数为W(z)的窗函数,我们可以用数学方法将窗函数应用于我们的信号X(z),如下所示

然后,我们可以像往常一样将我们的窗函数信号传递到我们的系统H(z)

如果我们的信号是低通或通带信号,则应用窗函数会引入高频成分。来自原始信号的能量将从指定的频带转移到高频区域。这种从目标频带到较高频率的能量重新分布被称为泄漏

如果我们看一下矩形窗,我们根据对偶性知道该窗的频率响应是sinc函数,该函数在正负无穷远处都具有非零值。sinc函数与任何窄带信号的卷积会导致非常分散的频谱。

窗函数类型

[编辑 | 编辑源代码]

汉明窗

[编辑 | 编辑源代码]

汉明窗函数

0.54+0.46cos(2*pi*n/N-1)

布莱克曼窗

[编辑 | 编辑源代码]

0.42+.5cos(2*pi*n/N-1)+.08cos(4*pi*n/N-1)

在更大的过渡带的代价下,具有上述窗函数技术中最大的阻带衰减。

长度为N的对称4项布莱克曼-哈里斯窗的等式为...

w(n) = a0 - a1*cos(2*pi*n/N-1) + a2*cos(4*pi*n/N-1) - a3*cos(2*pi*n/N-1); 0 <= n <= N-1

a0 = 0.35875 a1 = 0.48829 a2 = 0.14128 a3 = 0.01168

华夏公益教科书