2016-11-30 6 views
-1

Ich spiele mit Mathdotnet herum und experimentiere mit den verschiedenen Fenstern für den Einsatz in FFTs. Ich bin speziell neugierig auf das Hann-Fenster (obwohl ich sicher bin, dass dies auch für die anderen gilt). Wenn ich ein Hann-Fenster von beispielsweise 2048 Abtastwerten erzeuge, erwarte ich, dass ein Satz von Variablen allmählich auf einen Höchstwert ansteigt und dann allmählich mit der gleichen Rate abnimmt. Was ich stattdessen bekommen, ist dies:Hann Fenster beginnt und endet mit Werten, die keinen Sinn ergeben

[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 

Wie Sie sehen können, werden die Werte am Anfang und am Ende des hann Fenster scheinen angesichts völlig sinnlos vor allem zu sein, dass etwas mehr als 1 keinen Sinn macht ...

Generieren eines Fensters mit viel weniger Proben (ich versuchte 20) funktioniert gut.

Da ich nicht das Gefühl habe, dass ich genug über FFTs oder die Bibliothek selbst weiß, fühle ich mich nicht in der Lage, einen Fehlerbericht zu posten, bevor ich Ihre Meinung eingeholt habe. Danke im Voraus!

Antwort

2

Die Zahlen sehen für mich korrekt aus. Beachten Sie, dass 2.3553948388377322 E-06 nur der wissenschaftliche Begriff des Schreibens 0.0000023553948388377322 ist.

Beachten Sie, dass Sie bei Verwendung für FFTs möglicherweise Window.HannPeriodic statt Window.Hann verwenden möchten, das seit v3.14.0-beta01 verfügbar ist.

+0

Oh mein. Wie lächerlich von mir ... Natürlich sind die Zahlen in Ordnung. Gibt es ein nugget-Paket für 3.14? –

+0

Es gibt nur eine Vorabversion (https://www.nuget.org/packages/MathNet.Numerics/3.14.0-beta03), aber ich habe vor, innerhalb weniger Tage eine korrekte Version zu veröffentlichen. –

Verwandte Themen