更新以添加“受限高斯窗口”进行比较
但是,具有更高 beta 的 Kaisers 具有越来越高的 ENBW,这会降低频率分辨率(这意味着我需要更长的 STFT 模块才能获得相同的精度)。
ENBW 和频率分辨率是非常相似的指标;),任何具有更宽带宽的东西都会降低分辨率。从根本上讲,以 Hz 为单位可实现的最佳频率分辨率是,即使用矩形窗口(没有进一步的窗口)。超出此范围的任何开窗都会以牺牲频率分辨率为代价来增加动态范围(减少旁瓣)(这通常是正确的交易,因为矩形窗口内核的旁瓣仅以下降)。T1/T1/f
就最优性而言,我的理解是对于给定的 ENBW,Slepian 窗口对于主瓣与旁瓣能量是最佳的,而 Kaiser 窗口则接近于此。
截断的 Guassian、Kaiser 和 Slepian 窗口都允许设置等效噪声带宽 (ENBW)。许多人期望高斯窗口在给定真正高斯的情况下具有最佳时间带宽,但是为了实际实现而将其截断导致它不是该参数的最佳选择(因为真正的高斯窗口将扩展到) . 对于时间带宽产品,我认为最好的是 Slepian Window (DPSS),Kaiser 非常接近实现 Slepian 性能。我生成了一个图比较窗口内核(窗口的离散时间傅里叶变换)以获得一致数量的系数(在这种情况下我使用),其中设置了适当的窗口参数以使分辨率带宽对于所有情况都相同.±∞N=101
更新:此后,我在评论中添加了 OP 建议的“近似受限高斯窗口”以进行比较。这个窗口是由 Sebastian Starosielec 和 Daniel Hagele 在2014 年 9 月的论文“Discrete-time windows with minimum RMS bandwidth for given RMS temporal width”中推导出来的,在那篇论文中提供了一个“直接使用的显式近似表达式”,我实现了在我的比较中。该近似值给出为:
gk=G(k)−G(−0.5)G(k+N)+G(k−N)G(−.5+N)+G(−.5−N)
将作为高斯分布,由下式给出:G(x)
G(x)=exp(−(x−N−12)22σ2)

任何窗口的 ENBW 由下式给出:
ENBW=N∑n=0N−1w[n]2(∑n=0N−1w[n])2
对于所有四种情况,我将 ENBW 设置为 2.53 箱,以便进行苹果与苹果的比较,因为我们可以看到,对于相同的 ENBW,Kaiser 和 Slepian 提供的旁瓣抑制比两个高斯变体多多少。显示的参数是传入 scipy.windows.x 中的窗口函数的规范化参数(其中 x 分别是 guassian、kaiser 和 dpss)。靠近主瓣的 Slepian 比 Kaiser 有更好的排斥力,而离主瓣更远的 Kaiser 占优势。两者都远远优于两个高斯,因为在这种分辨率带宽较宽的情况下,相同的 ENBW 具有明显更高的旁瓣抑制。
然后我将 ENBW 设置为更严格 ENBW 以进行另一个比较:

如果我们在靠近主瓣的地方放大,我们会看到与两个高斯相比,Kaiser 和 Slepian 对给定 ENBW 的选择性更高,并且在优越的旁瓣抑制方面接近,Slepian 刚刚超过 Kaiser(如预期的那样):

放大旁瓣,我们看到 Kaiser 在远离主瓣的抑制方面最终优于 Slepian(这并不一定会使它变得更好),并且在更远的地方,受限高斯达到最低的本底噪声:

随着我们增加样本数量,受限高斯窗口的较高旁瓣滚降提供了显着改善的远离主瓣的阻带抑制(调整所有参数以使每个窗口的 ENBW 达到 1.6 个 bin与上述比较):

放大主瓣,我们再次看到 Slepian 和 Kaisers 对于给定 ENBW 的卓越选择性,我们还看到了限制高斯的旁瓣优于 Kaiser 和 Slepian 的交叉点:

至于时间带宽乘积,我为此使用了一个度量,通过对频域样本执行相同的 ENBW 计算来获得等效噪声时间响应 (ENTR):
N=501 的结果总结:
窗口 N=501 |
范围 |
ENBW |
进入 |
产品 |
高斯 |
σ=89 |
1.60 |
147.25 |
236.12 |
凯撒 |
β=7.3 |
1.60 |
162.65 |
260.52 |
斯莱皮安 |
NW=2.42 |
1.60 |
162.46 |
260.00 |
受限高斯 |
σ=89.9 |
1.60 |
155.65 |
249.77 |
(要做:在这些特定窗口的更新问题中添加 OP 提供的特定优化参数 - 还使用参考论文中使用的和σtσk