Wozu dient das Hamming-Fenster?
Arbeite ich mit einigen code, das eine Fourier-Transformation (zur Berechnung des cepstrums ein audio-sample). Bevor es berechnet die Fourier-Transformation, es gilt ein Hamming-Fenster auf die Probe:
for(int i = 0; i < SEGMENTATION_LENGTH;i++){
timeDomain[i] = (float) (( 0.53836 - ( 0.46164 * Math.cos( TWOPI * (double)i /(double)( SEGMENTATION_LENGTH - 1 ) ) ) ) * frameBuffer[i]);
}
Warum tut Sie es? Ich kann nicht finden, einen Grund für Sie, dies zu tun in den code, oder online.
InformationsquelleAutor der Frage fredley | 2011-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kommen, wenn Sie eine endliche Fourier-Transformation, sind Sie implizit Ihre Anwendung auf ein unendlich sich wiederholendes signal. So, zum Beispiel, wenn der Beginn und das Ende Ihrer endlichen Probe nicht übereinstimmt, dann wird das genauso Aussehen wie eine Unstetigkeit im signal, und zeigen, wie viel high-frequency Unsinn in der Fourier-Transformation, die Sie nicht wirklich wollen. Und wenn Ihre Probe geschieht, um eine schöne Sinuskurve, aber eine ganzzahlige Anzahl von Perioden nicht passieren, passen genau in die finite-sample, Ihre FT wird zeigen nennenswerte Energie in alle möglichen Orte im nirgendwo in der Nähe der realen Frequenz. Sie wollen keine.
Fensterung der Daten stellt sicher, dass die enden zusammenpassen und dabei alles einigermaßen glatt; dies reduziert erheblich die Art von "spectral leakage" im vorherigen Absatz beschrieben.
InformationsquelleAutor der Antwort Gareth McCaughan
Dies ist eine alte Frage, aber ich dachte, die Antwort könnte verbessert werden.
Vorstellen, das signal, das Sie möchten, um eine fourier-Transformation eines reinen Sinus. In der Frequenz-Domäne, würden Sie erwarten, dass es eine scharfe Spitze, nur bei der Frequenz des Sinus. Allerdings, wenn Sie nahm die fourier-Transformation, Ihre schöne scharfe Spitze würde ersetzt werden durch etwas wie:
Warum ist das so? Echte Sinus-Wellen erstrecken sich bis unendlich in beide Richtungen. Computer nicht tun können Berechnungen mit einer unendlichen Anzahl von Daten Punkten, also alle Signale "cut-off" am Ende. Dies bewirkt, dass die welligkeit auf beiden Seiten der Spitze, die Sie sehen. Die hamming-Fenster reduziert diese Welle, so dass Sie eine genauere Vorstellung des original-Signals Frequenz-Spektrum.
Mehr Theorie, für die interessierten: wenn Sie schneiden Sie mit dem signal aus an beiden enden, Sie sind implizit die Multiplikation des Signals mit einem eckigen Fenster. Die fourier-Transformation eines quadratischen Fensters ist das Bild oben, bekannt als eine sinc-Funktion. Wenn Sie eine fourier-Transformation auf einem computer, wie es oder nicht, du hast immer die Wahl einige Fenster. Die quadratischen Fenster der implizite default -, aber nicht eine sehr gute Wahl. Es gibt eine Vielzahl von Fenstern, die Menschen haben sich mit, abhängig von bestimmten Eigenschaften, die Sie optimieren möchten. Das hamming-Fenster ist einer der standardkommentare.
InformationsquelleAutor der Antwort David
Mit dem, was ich weiß, über Klang und schnelle Forschung, es scheint, dass die Hamming-Fenster ist hier zu minimieren, das signal side lobe (unerwünschte Strahlung). So verbessern die Qualität oder Obertöne in den Klang.
Ich verstehe auch diese Art von Fensterfunktion passt gut zu DTFT.
Finden Sie einige gute technische Erklärung auf eine stanford-Forscher-Seite oder wikipedia und auch in einem Papier der Harris wenn Sie bereit sind, für Mathe :D.
InformationsquelleAutor der Antwort M'vy
Den FT eines endlichen Länge segment der Sinuskurve convolves die Fourier-Transformation das Fenster gegen die Sinuskurve der Frequenz-peak, da eine Eigenschaft der FFT ist, dass Vektor-Multiplikation in einer Domäne ist Faltung in die andere. Die FT von einem rechteckigen Fenster (das ist das, was alle unbearbeiteten endliche Länge der samples in der FFT bedeutet) ist der chaotisch aussehenden Sinc-Funktion, die Spritzer, jedes signal, das nicht exakt periodisch in das Fenster über das gesamte Frequenzspektrum.
Den FT eines Hamming-förmigen Fenster, konzentriert sich diese "splatter" viel näher an den Frequenz peak nach der Faltung (als eine Sinc-Funktion), die eine dicker, aber glatter Frequenz Höhepunkt, aber viel weniger splatter über Frequenzen weit Weg von der peak-Frequenz. Dies führt nicht nur eine sauberere suchen, Spektrum, aber auch weniger Störungen aus der Ferne Frequenzen auf jedes signal von Interesse.
Diese interpretation (als Gegensatz zu "unendlich wiederholen" Auslegung) macht es klar, warum die unterschiedlich geformten Fenstern, als Hamming kann Ihnen bessere Ergebnisse mit weniger "Auslaufen". Insbesondere ein Hamming-Fenster reduzieren Sie die Größe der ersten Sinc-side-lobe "Auslaufen" rechts neben der Frequenz Höhepunkt im Austausch für die eigentlich mehr "Durchsickern" (oder Faltung splatter), weit entfernt von der Frequenz von Interesse. Andere windows kann es sinnvoller sein, wenn Sie möchten, eine andere trade-off. Die Harris-Papier (hier als pdf-Datei) verknüpft in einer anderen Antwort oben zeigt einige Beispiele für diese unterschiedlichen Fenster.
InformationsquelleAutor der Antwort hotpaw2