【问题标题】:Hann window starts and ends with values that don't seem to make senseHann 窗口以似乎没有意义的值开始和结束
【发布时间】:2016-11-30 03:54:31
【问题描述】:

我正在使用 mathdotnet 并正在试验用于 FFT 的不同窗口。我对 Hann 窗口特别好奇(尽管我确信这也适用于其他窗口)。当我生成一个宽为 2048 个样本的 Hann 窗口时,我希望得到一组变量逐渐增加到峰值,然后以相同的速率逐渐减小。我得到的是这样的:

    [0] 0                       double
    [1] 2.3553948388377322E-06  double
    [2] 9.421557163713512E-06   double
    [3] 2.11984204002702E-05    double
    [4] 3.768587359187503E-05   double
    [5] 5.8883761400674306E-05  double
    [6] 8.4791884109036708E-05  double
    [7] 0.0001154099976216072   double
    [8] 0.00015073781346730541  double
    [9] 0.0001907749988023788   double
    [10]0.00023552117641323367  double
    ....
    [2039]  0.00015073781346730541  double
    [2040]  0.00011540999762155169  double
    [2041]  8.4791884109036708E-05  double
    [2042]  5.8883761400674306E-05  double
    [2043]  3.768587359187503E-05   double
    [2044]  2.11984204002702E-05    double
    [2045]  9.421557163713512E-06   double
    [2046]  2.3553948388377322E-06  double
    [2047]  0                       double

如您所见,hann 窗口开头和结尾的值似乎完全没有意义,尤其是考虑到任何超过 1 的值都没有意义......

生成一个样本少得多的窗口(我尝试了 20 个)就可以了。

由于我觉得我对 FFT 或库本身的了解不够多,因此在征求您的意见之前,我不愿意发布错误报告。

【问题讨论】:

    标签: fft math.net windowing


    【解决方案1】:

    我觉得这些数字是正确的。注意2.3553948388377322 E-06只是写0.0000023553948388377322的科学概念。

    请注意,在将其用于 FFT 时,您可能希望使用 Window.HannPeriodic 而不是自 v3.14.0-beta01 起可用的 Window.Hann

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    相关资源
    最近更新 更多