Aufgabe 3.4Z: GSM–Vollraten–Sprachcodec
Dieser 1991 für das GSM–System standardisierte Codec – dieses Kunstwort steht für eine gemeinsame Realisierung von Coder und Decoder – mit der englischen Bezeichnung GSM Fullrate Vocoder kombiniert drei Methoden zur Kompression von Sprachsignalen:
- Linear Predictive Coding (LPC),
- Long Term Prediction (LTP), und
- Regular Pulse Excitation (RPE).
Die in der Grafik angegebenen Zahlen geben die Bitzahl an, die von den drei Einheiten dieses FR–Sprachcodecs pro Rahmen von jeweils 20 Millisekunden Dauer generiert werden.
Anzumerken ist dabei, dass LTP und RPE im Gegensatz zu LPC nicht rahmenweise, sondern mit Unterblöcken von 5 Millisekunden arbeiten. Dies hat jedoch keinen Einfluss auf die Lösung der Aufgabe.
Das Eingangssignal in obiger Grafik ist das digitalisierte Sprachsignal sR(n).
Dieses entsteht aus dem analogen Sprachsignal s(t) durch
- eine geeignete Begrenzung auf die Bandbreite B,
- Abtastung mit der Abtastrate fA=8 kHz,
- Quantisierung mit 13 Bit,
- anschließender Segmentierung in Blöcke zu je 20 ms.
Auf die weiteren Aufgaben der Vorverarbeitung soll hier nicht näher eingegangen werden.
Hinweise:
- Diese Aufgabe gehört zum Kapitel Gemeinsamkeiten von GSM und UMTS.
- Bezug genommen wird auch auf das Kapitel Sprachcodierung des Buches „Beispiele von Nachrichtensystemen”.
Fragebogen
Musterlösung
(1) Um das Abtasttheorem zu erfüllen, darf die Bandbreite B nicht größer als fA/2=4 kHz_ sein.
(2) Aus der gegebenen Abtastrate fA=8 kHz ergibt sich ein Abstand zwischen einzelnen Samples von TA=0.125 ms.
- Somit besteht ein Sprachrahmen von (20 ms) aus NR=20/0.125=160 Abtastwerten_, jeweils quantisiert mit 13 Bit.
- Die Datenrate beträgt somit
- RIn=160⋅1320ms=104kbit/s_.
(3) Aus der Grafik ist ersichtlich, dass pro Sprachrahmen 36 (LPC)+36 (LTP)+188 (RPE)=260 Bit ausgegeben werden.
- Daraus berechnet sich die Ausgangsdatenrate zu
- ROut=26020ms=13kbit/s_.
- Der vom Vollraten–Sprachcodec erzielte Kompressionsfaktor ist somit 104/13=8.
(4) Nur die beiden ersten Aussagen sind zutreffend:
- Die 36 LPC–Bit beschreiben insgesamt acht Filterkoeffizienten eines nichtrekursiven Filters, wobei aus der Kurzzeitanalyse acht AKF–Werte ermittelt und diese nach der so genannten Schur-Rekursion in Reflexionsfaktoren rk umgerechnet werden.
- Aus diesen werden die acht LAR–Koeffizienten nach der Funktion ln[(1−rk)/(1+rk)] berechnet, mit einer unterschiedlichen Anzahl an Bit quantisiert und zum Empfänger geschickt.
- Das LPC–Ausgangssignal besitzt gegenüber seinem Eingang sR(n) eine deutlich kleinere Amplitude, hat einen deutlich reduzierten Dynamikumfang und ein flacheres Spektrum.
(5) Richtig sind die die Aussagen 1 und 3, nicht jedoch die zweite:
- Die LTP–Analyse und –Filterung erfolgt blockweise alle 5 ms (vierzig Abtastwerte), also viermal pro Sprachrahmen.
- Man bildet hierzu die Kreuzkorrelationsfunktion (KKF) zwischen dem aktuellen und den drei vorangegangenen Subblöcken.
- Für jeden Subblock werden dabei eine LTP–Verzögerung und eine LTP–Verstärkung ermittelt, die am besten zum Subblock passen.
- Berücksichtigt wird hierbei auch ein Korrektursignal der nachfolgenden Komponente „RPE”.
- Bei der Langzeitprädiktion ist wie bei der LPC der Ausgang gegenüber dem Eingang redundanzvermindert.
(6) Richtig sind die Aussagen 2 und 3:
- Dass die Aussage 1 falsch ist, erkennt man schon aus der Grafik auf der Angabenseite, da 188 der 260 Ausgabebit von der RPE stammen. Sprache wäre schon allein mit RPE (ohne LPC und LTP) verständlich.
- Zur letzten Aussage: Die RPE sucht natürlich die Teilfolge mit der maximalen Energie. Die RPE–Pulse sind eine Teilfolge (13 von 40 Abtastwerte) zu je drei Bit pro Teilrahmen von 5 ms und dementsprechend 12 Bit pro 20 ms–Rahmen.
- Der „RPE–Pulse” belegt somit 13⋅12=156 der 260 Ausgabebit.
Genaueres zum RPE–Block finden Sie auf der Seite RPE–Codierung des Buches „Beispiele von Nachrichtensystemen”.