MATLAB - FFT-Aliase treten früher als erwartet auf

Ich verwende Matlab, um das Frequenzspektrum einer Beispiel-WAV-Datei zu analysieren. Im Häufigkeitsdiagramm sehe ich Aliase, die jedoch früher erscheinen, als ich erwarten würde.

Hier ist das Frequenzdiagramm:

Geben Sie hier die Bildbeschreibung ein

Nach einigen schnellen Berechnungen scheint der Mittelpunkt der Reflexion um 3200 Hz herum zentriert zu sein. Dies würde für mich bedeuten, dass die Abtastrate dieser WAV-Datei bei etwa 6400 Hz gelegen haben muss, aber wenn ich die WAV-Datei in Audacity lade, wird mir gesagt, dass die Abtastrate 11.025 Hz betrug.

Geben Sie hier die Bildbeschreibung ein

Ich neige dazu zu glauben, dass dies richtig ist und dass die Abtastrate 11 kHz beträgt, denn wenn ich die Eigenschaften der .wav-Datei überprüfe, sagt sie mir, dass die Bitrate 176k beträgt, was 16-Bit-Samples mit einer Rate von entsprechen würde 11k.

Was könnte das also erklären? Ist es wahrscheinlich, dass die Metainformationen in der .wav-Datei falsch sind? Oder könnte es eine andere Erklärung geben?

Sind Sie sicher, dass Ihre X-Achse nicht nur die Behälternummer ist? Was haben Sie getan, um Matlab die Abtastrate oder den Zeitraum mitzuteilen? Wie haben Sie die x-Achsenwerte für das Diagramm generiert?
Sie können ein Frequenzbereichsdiagramm in Audacity vergleichen. Aber jedes Mal, wenn Sie einen Frequenz-/Zeitfehler um den Faktor 2 im Audio erhalten, achten Sie darauf, auf Mono-/Stereo-Fehlinterpretationen (oder vielleicht auch auf Wortlängenfehler) zu prüfen. Sogar das Einspeisen echter Daten in etwas, das eine verschachtelte komplexe Eingabe erwartet, würde dies tun. Hüten Sie sich auch vor einem Abtastratenkonverter, der sich irgendwo einschleicht, ohne es zu merken.

Antworten (1)

Wenn Sie eine FFT in MATLAB durchführen, erhalten Sie für jedes Eingabe-Sample eine komplexwertige Ausgabe (Bin). Wenn Sie dann die Größe dieses komplexen Vektors nehmen und davon ausgehen, dass Ihre ursprüngliche Eingabe reell war, werden Sie sehen, dass die Hälfte der Größen gespiegelt wird. Die Anzahl der Bins hat jedoch nichts mit der Abtastrate der ursprünglichen Wellenform zu tun, sondern nur mit der Anzahl der Abtastungen im Eingang. Beachten Sie, dass dies einfach eine Funktion davon ist, wie die DFT definiert ist. Es sieht so aus, als ob Ihre ursprüngliche Wellenform ungefähr 6400 Samples umfasste, also sehen Sie wahrscheinlich das, was Sie im ersten Diagramm sehen (die 6400 Frequenz-Bins aufgrund der Berechnung einer FFT mit 6400 Samples).

Wenn Sie die FFT in Frequenzeinheiten (und nicht in Bin #) anzeigen möchten, müssen Sie die horizontale Achse um die Abtastfrequenz neu skalieren. Das heißt, die Häufigkeit von Bin n ist: F N = N F S L Wo F S ist die Abtastfrequenz und L ist die Länge der Wellenform.