Aufgaben:Aufgabe 3.4Z: GSM–Vollraten–Sprachcodec: Unterschied zwischen den Versionen
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
[[Datei:P_ID2222__Bei_A_3_5.png|right|frame|LPC-, LTP- und RPE-Parameter beim GSM-Vollraten-Codec]] | [[Datei:P_ID2222__Bei_A_3_5.png|right|frame|LPC-, LTP- und RPE-Parameter beim GSM-Vollraten-Codec]] | ||
− | 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 | + | 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 Methoden zur Kompression von Sprachsignalen: |
− | *Linear Predictive Coding ( | + | *Linear Predictive Coding $\rm (LPC)$, |
− | *Long Term Prediction ( | + | *Long Term Prediction $\rm (LTP)$, und |
− | *Regular Pulse Excitation ( | + | *Regular Pulse Excitation $\rm (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. | 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. | + | 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 $s_{\rm R}(n)$. | Das Eingangssignal in obiger Grafik ist das digitalisierte Sprachsignal $s_{\rm R}(n)$. | ||
Zeile 75: | Zeile 75: | ||
{Welche Aussagen treffen für den Block „RPE” zu? | {Welche Aussagen treffen für den Block „RPE” zu? | ||
|type="[]"} | |type="[]"} | ||
− | - RPE liefert weniger | + | - RPE liefert weniger Bit als LPC und LTP. |
+ RPE entfernt für den subjektiven Eindruck unwichtige Anteile. | + RPE entfernt für den subjektiven Eindruck unwichtige Anteile. | ||
+ RPE unterteilt jeden Subblock nochmals in vier Teilfolgen. | + RPE unterteilt jeden Subblock nochmals in vier Teilfolgen. | ||
Zeile 85: | Zeile 85: | ||
{{ML-Kopf}} | {{ML-Kopf}} | ||
− | '''(1)''' Um das Abtasttheorem zu erfüllen, darf die Bandbreite $B$ nicht größer als $ f_{\rm A}/2 \hspace{0.15cm}\underline{= 4 \ \rm kHz}$ sein. | + | '''(1)''' Um das Abtasttheorem zu erfüllen, darf die Bandbreite $B$ 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$. | + | '''(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 von $(20 {\rm ms})$ aus $N_{\rm R} = 20/0.125 = \underline{160 \ \rm Abtastwerten}$, jeweils quantisiert mit $13 \ \rm Bit$. | + | *Somit besteht ein Sprachrahmen von $(20 \ {\rm ms})$ aus $N_{\rm R} = 20/0.125 = \underline{160 \ \rm Abtastwerten}$, jeweils quantisiert mit $13 \ \rm Bit$. |
*Die Datenrate beträgt somit | *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}.$$ | ||
Zeile 96: | Zeile 96: | ||
− | '''(3)''' Aus der Grafik ist ersichtlich, dass pro Sprachrahmen $36 \ {\rm (LPC)} + 36 \ {\rm (LTP)} + 188 \ {\rm (RPE)} = 260 \ \rm Bit$ ausgegeben werden. | + | '''(3)''' Aus der Grafik ist ersichtlich, dass pro Sprachrahmen $36 \ {\rm (LPC)} + 36 \ {\rm (LTP)} + 188 \ {\rm (RPE)} = 260 \ \rm Bit$ ausgegeben werden. |
*Daraus berechnet sich die Ausgangsdatenrate zu | *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)''' Nur die <u>beiden ersten Aussagen</u> sind zutreffend: | '''(4)''' Nur die <u>beiden ersten Aussagen</u> sind zutreffend: | ||
− | *Die 36 LPC– | + | *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 $r_{k}$ umgerechnet werden. |
− | *Aus diesen werden die acht LAR–Koeffizienten nach der Funktion ${\rm ln}[(1 - r_{k})/(1 + r_{k})]$ berechnet, mit einer unterschiedlichen Anzahl an | + | *Aus diesen werden die acht LAR–Koeffizienten nach der Funktion ${\rm ln}\big[(1 - r_{k})/(1 + r_{k})\big]$ berechnet, mit einer unterschiedlichen Anzahl an Bit quantisiert und zum Empfänger geschickt. |
− | *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. | + | *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>die Aussagen 1 und 3</u>, nicht jedoch die zweite: | '''(5)''' Richtig sind die <u>die Aussagen 1 und 3</u>, nicht jedoch die zweite: | ||
− | *Die LTP–Analyse und –Filterung erfolgt blockweise alle $5 \ \rm ms$ ( | + | *Die LTP–Analyse und –Filterung erfolgt blockweise alle $5 \ \rm ms$ (vierzig Abtastwerte), also viermal pro Sprachrahmen. |
*Man bildet hierzu die Kreuzkorrelationsfunktion (KKF) zwischen dem aktuellen und den drei vorangegangenen Subblöcken. | *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. | *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”. | *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. | *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$ | + | *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 \ \rm ms$ und dementsprechend $12 \ \rm Bit$ pro $20 \ \rm ms$–Rahmen. | + | *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 \ \rm ms$ und dementsprechend $12 \ \rm Bit$ pro $20 \ \rm ms$–Rahmen. |
− | *Der „RPE–Pulse” belegt somit $13 \cdot 12 = 156$ der $260$ | + | *Der „RPE–Pulse” belegt somit $13 \cdot 12 = 156$ der $260$ Ausgabebit. |
− | Genaueres zum RPE–Block finden Sie auf der Seite [[Beispiele_von_Nachrichtensystemen/Sprachcodierung#Regular_Pulse_Excitation_.E2.80.93_RPE.E2.80.93Codierung|RPE–Codierung]] des Buches „Beispiele von Nachrichtensystemen”. | + | Genaueres zum RPE–Block finden Sie auf der Seite [[Beispiele_von_Nachrichtensystemen/Sprachcodierung#Regular_Pulse_Excitation_.E2.80.93_RPE.E2.80.93Codierung|RPE–Codierung]] des Buches „Beispiele von Nachrichtensystemen”. |
{{ML-Fuß}} | {{ML-Fuß}} |
Aktuelle Version vom 12. August 2020, 16:10 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 Methoden zur Kompression von Sprachsignalen:
- Linear Predictive Coding $\rm (LPC)$,
- Long Term Prediction $\rm (LTP)$, und
- Regular Pulse Excitation $\rm (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 $s_{\rm R}(n)$.
Dieses 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 \ \rm Bit$,
- anschließender Segmentierung in Blöcke zu je $20 \ \rm 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 $ 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 von $(20 \ {\rm ms})$ aus $N_{\rm R} = 20/0.125 = \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 \ {\rm (LPC)} + 36 \ {\rm (LTP)} + 188 \ {\rm (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) 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 $r_{k}$ umgerechnet werden.
- Aus diesen werden die acht LAR–Koeffizienten nach der Funktion ${\rm ln}\big[(1 - r_{k})/(1 + r_{k})\big]$ berechnet, mit einer unterschiedlichen Anzahl an Bit quantisiert und zum Empfänger geschickt.
- 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 die Aussagen 1 und 3, nicht jedoch die zweite:
- Die LTP–Analyse und –Filterung erfolgt blockweise alle $5 \ \rm 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 \ \rm ms$ und dementsprechend $12 \ \rm Bit$ pro $20 \ \rm ms$–Rahmen.
- Der „RPE–Pulse” belegt somit $13 \cdot 12 = 156$ der $260$ Ausgabebit.
Genaueres zum RPE–Block finden Sie auf der Seite RPE–Codierung des Buches „Beispiele von Nachrichtensystemen”.