2016-11-30 2 views
-1

Je joue avec mathdotnet et j'expérimente avec les différentes fenêtres pour une utilisation dans les FFT. Je suis particulièrement curieux au sujet de la fenêtre de Hann (bien que je sois sûr que ceci s'applique aux autres aussi bien). Quand je génère une fenêtre de Hann de, disons, 2048 échantillons de large, je m'attends à obtenir un ensemble de variables augmentant graduellement jusqu'à un pic puis diminuant graduellement au même rythme. Qu'est-ce que je reçois est plutôt ceci:Hann fenêtre commence et se termine avec des valeurs qui ne semblent pas avoir de sens

[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 

Comme vous pouvez le voir, les valeurs au début et à la fin de la fenêtre de hann semblent être complètement vide de sens compte tenu en particulier que tout sur 1 n'a pas de sens ...

Générer une fenêtre avec beaucoup moins d'échantillons (j'ai essayé 20) fonctionne très bien. Comme je ne me sens pas assez au courant des FFT ou de la bibliothèque elle-même, je ne me sens pas capable de publier un rapport de bogue avant de recevoir votre avis. Merci d'avance!

Répondre

2

Les chiffres me semblent corrects. Notez que 2.3553948388377322 E-06 est juste la notion scientifique de l'écriture 0.0000023553948388377322.

Notez que lorsque vous utilisez cette fonction pour les FFT, vous pouvez utiliser Window.HannPeriodic au lieu de Window.Hann, disponible depuis la version v3.14.0-beta01.

+0

Oh mon dieu! Comme c'est ridicule de ma part ... Bien sûr, les chiffres sont bons. Y a-t-il un paquet de nuget pour 3.14? –

+0

Il y a seulement une pré-version (https://www.nuget.org/packages/MathNet.Numerics/3.14.0-beta03), mais j'ai l'intention de faire une bonne version dans quelques jours. –