Aufgaben:Aufgabe 3.5: GSM–Vollraten–Sprachcodec: Unterschied zwischen den Versionen
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
}} | }} | ||
− | [[Datei:P_ID1232__Bei_A_3_5.png|right|frame|LPC | + | [[Datei:P_ID1232__Bei_A_3_5.png|right|frame|LPC–, LTP– und RPE–Parameter beim GSM–Vollraten–Codec]] |
− | Dieser | + | 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 $\text{GSM Fullrate Vocoder}$ kombiniert drei verschiedene Methoden der Sprachsignalkompression: |
*Linear Predictive Coding (LPC), | *Linear Predictive Coding (LPC), | ||
*Long Term Prediction (LTP) und | *Long Term Prediction (LTP) und | ||
Zeile 10: | Zeile 10: | ||
− | Die in der Grafik angegebenen Zahlen geben die Anzahl der | + | Die in der Grafik angegebenen Zahlen geben die Anzahl der Bit an, die von den drei Einheiten dieses Sprachcodecs pro Rahmen von $20 \ \rm ms$ Dauer generiert werden. Anzumerken ist dabei, dass LTP und RPE nicht rahmenweise, sondern mit Unterblöcken von $5 \ \rm ms$ arbeiten. Dies hat jedoch keinen Einfluss auf die Lösung der Aufgabe. |
− | Das Eingangssignal in | + | Das Eingangssignal in der Grafik ist das digitalisierte Sprachsignal $s_{\rm R}(n)$. Es entsteht aus dem analogen Sprachsignal $s(t)$ durch |
− | *eine geeignete Begrenzung auf die Bandbreite $B$, | + | *eine geeignete Begrenzung auf die Bandbreite $B$, |
− | *Abtastung mit der Abtastrate $f_{\rm A} = 8 \ \rm kHz$, | + | *Abtastung mit der Abtastrate $f_{\rm A} = 8 \ \rm kHz$, |
− | *Quantisierung mit $13 | + | *Quantisierung mit $13$ Bit und |
− | *anschließender Segmentierung in Blöcke zu je $20 \ \rm ms$. | + | *anschließender Segmentierung in Blöcke zu je $20 \ \rm ms$. |
Auf die weiteren Aufgaben der Vorverarbeitung soll hier nicht näher eingegangen werden. | Auf die weiteren Aufgaben der Vorverarbeitung soll hier nicht näher eingegangen werden. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
''Hinweis:'' | ''Hinweis:'' | ||
− | Diese Aufgabe gehört zum | + | *Diese Aufgabe gehört zum Kapitel [[Beispiele_von_Nachrichtensystemen/Sprachcodierung|Sprachcodierung]]. |
+ | |||
+ | |||
+ | |||
+ | |||
===Fragebogen=== | ===Fragebogen=== | ||
Zeile 33: | Zeile 42: | ||
$B \ = \ $ { 4 3% } $ \ \rm kHz$ | $B \ = \ $ { 4 3% } $ \ \rm kHz$ | ||
− | {Aus wievielen Abtastwerten ( | + | {Aus wievielen Abtastwerten $(N_{\rm R})$ besteht ein Sprachrahmen? Wie groß ist die Eingangsdatenrate $R_{\rm In}$? |
|type="{}"} | |type="{}"} | ||
− | $N_{\rm R} \ = \ $ { 160 3% } | + | $N_{\rm R} \hspace{0.25cm} = \ $ { 160 3% } |
− | $R_{\rm In} \ = \ ${ 104 3% } $ \ \rm kbit/s$ | + | $R_{\rm In} \hspace{0.22cm} = \ $ { 104 3% } $\ \rm kbit/s$ |
− | {Wie groß ist die Ausgangsdatenrate $R_{\rm Out}$ des GSM-Vollraten-Codecs? | + | {Wie groß ist die Ausgangsdatenrate $R_{\rm Out}$ des GSM-Vollraten-Codecs? |
|type="{}"} | |type="{}"} | ||
− | $R_{\rm Out} \ = \ $ { 13 3% } $ \ \rm kbit/s$ | + | $R_{\rm Out} \hspace{0.09cm} = \ $ { 13 3% } $ \ \rm kbit/s$ |
Zeile 46: | Zeile 55: | ||
|type="[]"} | |type="[]"} | ||
+ LPC macht eine Kurzzeitprädiktion über eine Millisekunde. | + LPC macht eine Kurzzeitprädiktion über eine Millisekunde. | ||
− | + Die $36$ LPC–Bits sind Filterkoeffizienten, die beim Empfänger genutzt werden, um die LPC–Filterung rückgängig zu machen. | + | + Die $36$ LPC–Bits sind Filterkoeffizienten, die beim Empfänger genutzt werden, um die LPC–Filterung rückgängig zu machen. |
- Das Filter zur Langzeitprädiktion ist rekursiv. | - Das Filter zur Langzeitprädiktion ist rekursiv. | ||
− | - Der LPC–Ausgang ist identisch mit seinem Eingang $s_{\rm R}(t)$. | + | - Der LPC–Ausgang ist identisch mit seinem Eingang $s_{\rm R}(t)$. |
{Welche Aussagen sind hinsichtlich des Blocks „LTP” zutreffend? | {Welche Aussagen sind hinsichtlich des Blocks „LTP” zutreffend? | ||
Zeile 54: | Zeile 63: | ||
+ Es werden periodische Strukturen des Sprachsignals entfernt. | + Es werden periodische Strukturen des Sprachsignals entfernt. | ||
- Die Langzeitprädiktion wird pro Rahmen einmal durchgeführt. | - Die Langzeitprädiktion wird pro Rahmen einmal durchgeführt. | ||
− | + Das Gedächtnis des LTP–Prädiktors beträgt bis zu $15 \ \rm ms$. | + | + Das Gedächtnis des LTP–Prädiktors beträgt bis zu $15 \ \rm ms$. |
{Welche Aussagen treffen für den Block „RPE” zu? | {Welche Aussagen treffen für den Block „RPE” zu? | ||
Zeile 68: | Zeile 77: | ||
{{ML-Kopf}} | {{ML-Kopf}} | ||
− | '''(1)''' Um das Abtasttheorem zu erfüllen, darf die Bandbreite nicht größer als $f_{\rm A}/2 \underline{= 4 \ \rm kHz}$ sein. | + | '''(1)''' Um das Abtasttheorem zu erfüllen, darf die Bandbreite nicht größer als $f_{\rm A}/2 \hspace{0.15cm} \underline{= 4 \ \rm kHz}$ sein. |
+ | |||
− | '''(2)''' Aus der gegebenen Abtastrate $f_{\rm A} = 8 \ \rm kHz$ ergibt sich ein Abstand zwischen einzelnen Samples von $T_{\rm A} = 0.125 \ \rm ms$. Somit besteht ein Sprachrahmen ( | + | '''(2)''' Aus der gegebenen Abtastrate $f_{\rm A} = 8 \ \rm kHz$ ergibt sich ein Abstand zwischen einzelnen Samples von $T_{\rm A} = 0.125 \ \rm ms$. |
+ | *Somit besteht ein Sprachrahmen $(20 \ \rm ms)$ aus $N_{\rm R} = 20/0.125\hspace{0.15cm} \underline{= 160 \ \rm Abtastwerten}$, jeweils quantisiert mit $13 \ \rm Bit$. | ||
+ | *Die Datenrate beträgt somit | ||
:$$R_{\rm In} = \frac{160 \cdot 13}{20 \,{\rm ms}} \hspace{0.15cm} \underline {= 104\,{\rm kbit/s}}\hspace{0.05cm}.$$ | :$$R_{\rm In} = \frac{160 \cdot 13}{20 \,{\rm ms}} \hspace{0.15cm} \underline {= 104\,{\rm kbit/s}}\hspace{0.05cm}.$$ | ||
− | '''(3)''' Aus der Grafik ist ersichtlich, dass pro Sprachrahmen $36$ (LPC) $+ 36$ (LTP) $+ 188$ (RPE) $= 260 \ \rm Bit$ ausgegeben werden. Daraus berechnet sich die Ausgangsdatenrate zu | + | '''(3)''' Aus der Grafik ist ersichtlich, dass pro Sprachrahmen $36$ (LPC) $+ 36$ (LTP) $+ 188$ (RPE) $= 260 \ \rm Bit$ ausgegeben werden. |
+ | *Daraus berechnet sich die Ausgangsdatenrate zu | ||
:$$R_{\rm Out} = \frac{260}{20 \,{\rm ms}} \hspace{0.15cm} \underline {= 13\,{\rm kbit/s}}\hspace{0.05cm}.$$ | :$$R_{\rm Out} = \frac{260}{20 \,{\rm ms}} \hspace{0.15cm} \underline {= 13\,{\rm kbit/s}}\hspace{0.05cm}.$$ | ||
− | Der vom Vollraten–Sprachcodec erzielte Kompressionsfaktor ist somit $104/13 = 8$. | + | *Der vom Vollraten–Sprachcodec erzielte Kompressionsfaktor ist somit $104/13 = 8$. |
+ | |||
+ | |||
+ | |||
+ | '''(4)''' Richtig sind die <u>Aussagen 1 und 2</u>: | ||
+ | *Die $36$ LPC–Bits 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 $r_{k}$ umgerechnet werden. | ||
+ | *Aus diesen werden die acht LAR–Koeffizienten entsprechend der Funktion ${\rm ln}[(1 – r_{k})/(1 + r_{k})]$ berechnet, mit einer unterschiedlichen Anzahl von Bits quantisiert und an den Empfänger weitergereicht. | ||
+ | *Das LPC–Ausgangssignal besitzt gegenüber seinem Eingang $s_{\rm R}(n)$ eine deutlich kleinere Amplitude, hat einen deutlich reduzierten Dynamikumfang und ein flacheres Spektrum. | ||
+ | |||
+ | |||
− | '''( | + | '''(5)''' Richtig sind die <u>Aussagen 1 und 3</u>, nicht jedoch die zweite: |
+ | *Die LTP–Analyse und –Filterung erfolgt blockweise alle $5 \rm ms \ (40 \ \rm 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 anschließenden Komponente „RPE”. | ||
+ | *Bei der Langzeitprädiktion ist wie bei der LPC der Ausgang gegenüber dem Eingang redundanzvermindert. | ||
− | |||
− | |||
− | '''(6)''' Richtig sind die <u>Aussagen 2 und 3</u> | + | '''(6)''' Richtig sind die <u>Aussagen 2 und 3</u>: |
+ | *Dass die Aussage 1 falsch ist, erkennt man schon aus der Grafik auf der Angabenseite, da $188$ der $260$ Ausgabebits von der RPE stammen. | ||
+ | *Zur letzten Aussage: Die RPE sucht die Teilfolge mit der maximalen Energie. | ||
+ | *Dieser Parameter „RPE–Pulse” belegt allein $156$ der $260$ Ausgabebit. | ||
{{ML-Fuß}} | {{ML-Fuß}} |
Aktuelle Version vom 10. August 2019, 15:27 Uhr
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 $\text{GSM Fullrate Vocoder}$ kombiniert drei verschiedene Methoden der Sprachsignalkompression:
- Linear Predictive Coding (LPC),
- Long Term Prediction (LTP) und
- Regular Pulse Excitation (RPE).
Die in der Grafik angegebenen Zahlen geben die Anzahl der Bit an, die von den drei Einheiten dieses Sprachcodecs pro Rahmen von $20 \ \rm ms$ Dauer generiert werden. Anzumerken ist dabei, dass LTP und RPE nicht rahmenweise, sondern mit Unterblöcken von $5 \ \rm ms$ arbeiten. Dies hat jedoch keinen Einfluss auf die Lösung der Aufgabe.
Das Eingangssignal in der Grafik ist das digitalisierte Sprachsignal $s_{\rm R}(n)$. Es entsteht aus dem analogen Sprachsignal $s(t)$ durch
- eine geeignete Begrenzung auf die Bandbreite $B$,
- Abtastung mit der Abtastrate $f_{\rm A} = 8 \ \rm kHz$,
- Quantisierung mit $13$ Bit und
- anschließender Segmentierung in Blöcke zu je $20 \ \rm ms$.
Auf die weiteren Aufgaben der Vorverarbeitung soll hier nicht näher eingegangen werden.
Hinweis:
- Diese Aufgabe gehört zum Kapitel Sprachcodierung.
Fragebogen
Musterlösung
(1) Um das Abtasttheorem zu erfüllen, darf die Bandbreite nicht größer als $f_{\rm A}/2 \hspace{0.15cm} \underline{= 4 \ \rm kHz}$ sein.
(2) Aus der gegebenen Abtastrate $f_{\rm A} = 8 \ \rm kHz$ ergibt sich ein Abstand zwischen einzelnen Samples von $T_{\rm A} = 0.125 \ \rm ms$.
- Somit besteht ein Sprachrahmen $(20 \ \rm ms)$ aus $N_{\rm R} = 20/0.125\hspace{0.15cm} \underline{= 160 \ \rm Abtastwerten}$, jeweils quantisiert mit $13 \ \rm Bit$.
- Die Datenrate beträgt somit
- $$R_{\rm In} = \frac{160 \cdot 13}{20 \,{\rm ms}} \hspace{0.15cm} \underline {= 104\,{\rm kbit/s}}\hspace{0.05cm}.$$
(3) Aus der Grafik ist ersichtlich, dass pro Sprachrahmen $36$ (LPC) $+ 36$ (LTP) $+ 188$ (RPE) $= 260 \ \rm Bit$ ausgegeben werden.
- Daraus berechnet sich die Ausgangsdatenrate zu
- $$R_{\rm Out} = \frac{260}{20 \,{\rm ms}} \hspace{0.15cm} \underline {= 13\,{\rm kbit/s}}\hspace{0.05cm}.$$
- Der vom Vollraten–Sprachcodec erzielte Kompressionsfaktor ist somit $104/13 = 8$.
(4) Richtig sind die Aussagen 1 und 2:
- Die $36$ LPC–Bits 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 $r_{k}$ umgerechnet werden.
- Aus diesen werden die acht LAR–Koeffizienten entsprechend der Funktion ${\rm ln}[(1 – r_{k})/(1 + r_{k})]$ berechnet, mit einer unterschiedlichen Anzahl von Bits quantisiert und an den Empfänger weitergereicht.
- Das LPC–Ausgangssignal besitzt gegenüber seinem Eingang $s_{\rm R}(n)$ eine deutlich kleinere Amplitude, hat einen deutlich reduzierten Dynamikumfang und ein flacheres Spektrum.
(5) Richtig sind die Aussagen 1 und 3, nicht jedoch die zweite:
- Die LTP–Analyse und –Filterung erfolgt blockweise alle $5 \rm ms \ (40 \ \rm 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 anschließenden 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$ Ausgabebits von der RPE stammen.
- Zur letzten Aussage: Die RPE sucht die Teilfolge mit der maximalen Energie.
- Dieser Parameter „RPE–Pulse” belegt allein $156$ der $260$ Ausgabebit.