
Analyse des Prinzips des MP3-Decodierungsalgorithmus. Teil 2

Die Synchronisierung und Fehlerprüfung umfasst ein Header-Informations-Decodierungsmodul.

Nachdem das Hauptsteuermodul zu arbeiten beginnt, überträgt das Hauptsteuermodul den Datenpuffer des Bitstroms an das Synchronisations- und Fehlerprüfmodul. Dieses Modul enthält zwei Funktionen, nämlich Decodierung von Header-Informationen und Frame-Decodierung. Decodierung von Seiteninformationen, Skalierungsfaktor-Decodierung und Huffman-Decodierung werden gemäß Ihren Informationen durchgeführt, und die erhaltenen Ergebnisse werden nach inverser Quantisierung, Stereo-Decodierung, Alias-Reduktion, IMDCT, Frequenz erhalten Inversion und synthetische Polyphasenfilterung. des linken und rechten Kanals wird vom Hauptsteuermodul in den Ausgangspuffer gelegt und an das Tonwiedergabegerät gesendet (kurz gesagt, es ist sehr kompliziert).
2. Hauptsteuermodul
Die Hauptaufgabe des Hauptsteuermoduls besteht darin, die Eingangs- und Ausgangspuffer zu betreiben und andere Module zur Zusammenarbeit aufzurufen. Darunter werden die Eingangs- und Ausgangspuffer von der DSP-Steuermodulschnittstelle bereitgestellt.
Die Daten im Eingangspuffer sind der ursprüngliche komprimierte MP3-Datenstrom. Das DSP-Steuermodul stellt jeweils einen Puffer bereit, der größer als die maximal mögliche Rahmenlänge ist. Dieser Puffer ist derselbe wie die Daten nach dem letzten Offset (muss weniger als ein Frame sein), die verkettet sind, um einen neuen Puffer zu bilden.
Die im Ausgangspuffer gespeicherten Daten sind die decodierten PCM-Daten, die die Amplitude des Tons darstellen. Er besteht aus einem Puffer fester Länge.Das Aufrufen der Schnittstellenfunktion des DSP-Steuermoduls gibt den Hauptzeiger zurück.Nachdem der Ausgangspuffer gefüllt ist, wird die Interrupt-Verarbeitung aufgerufen,um ihn an den angeschlossenen Audio-ADC-Chip (Stereo-Audio-DAC und Audio-ADC)auszugeben die I2S-Schnittstelle. DirectDrive-Kopfhörerverstärker) zur Ausgabe von analogem Ton.
3. Synchronisation und Fehlererkennung
Das Fehlererkennungs- und Synchronisationsmodul wird hauptsächlich verwendet, um die Position des Datenrahmens im Bitstrom zu finden und den Rahmenkopf, den CRC-Prüfcode und die Rahmenseiteninformationen von dieser Position zu dekodieren, und die Dekodierergebnisse werden für nachfolgende Skalierungsfaktoren verwendet. Decodermodul und Huffman-Decodermodul.
