Difference between revisions of "Channel Coding/Error Probability and Application Areas"
(Die Seite wurde neu angelegt: „ {{Header |Untermenü=Reed–Solomon–Codes und deren Decodierung |Vorherige Seite=Fehlerkorrektur nach Reed–Solomon–Codierung |Nächste Seite=Grundlagen…“) |
|||
Line 72: | Line 72: | ||
Jedes einzelne Symbol wird also mit mehr als 99–prozentiger Wahrscheinlichkeit fehlerfrei übertragen.{{end}}<br> | Jedes einzelne Symbol wird also mit mehr als 99–prozentiger Wahrscheinlichkeit fehlerfrei übertragen.{{end}}<br> | ||
+ | |||
+ | == Anwendung der Reed–Solomon–Codierung bei binären Kanälen (2) == | ||
+ | <br> | ||
+ | Die folgende Grafik zeigt die in [Liv10]<ref>Liva, G.: ''Channel Coding.'' Vorlesungsmanuskript, Lehrstuhl für Nachrichtentechnik, TU München und DLR Oberpfaffenhofen, 2010.</ref> angegebenen Blockfehlerwahrscheinlichkeiten in Abhängigkeit des AWGN–Quotienten 10 · lg (<i>E</i><sub>B</sub>/<i>N</i><sub>0</sub>). Dargestellt sind die berechneten Kurvenverläufe Pr(<u><i>υ</i></u> ≠ <u><i>u</i></u>) für zwei verschiedene Reed–Solomon–Codes entsprechend den <i>Deep Space Standards</i> nach CCSDS (<i>Consultative Committee for Space Data Systems</i>), nämlich | ||
+ | |||
+ | *der RSC (255, 239,17)<sub>256</sub>, der bis zu <i>t</i> = 8 Fehler korrigieren kann,<br> | ||
+ | |||
+ | *der RSC (255, 223, 33)<sub>256</sub> mit höherer Korrekturfähigkeit (<i>t</i> = 16) aufgrund kleinerer Coderate.<br> | ||
+ | |||
+ | :[[File:P ID2566 KC T 2 6 S2b v1.png|Blockfehlerwahrscheinlichkeit zweier Reed–Solomon–Codes der Länge <i>n</i> = 255|class=fit]]<br> | ||
+ | |||
+ | Wir analysieren den in der Grafik gelb hinterlegten Punkt, gültig für | ||
+ | *den RSC (255, 239, 17)<sub>256</sub>, und<br> | ||
+ | |||
+ | *10 · lg <i>E</i><sub>B</sub>/<i>N</i><sub>0</sub> = 7.1 dB ⇒ <i>ε</i><sub>S</sub> = 0.007.<br><br> | ||
+ | |||
+ | Die dazugehörige Blockfehlerwahrscheinlichkeit ergibt sich entsprechend der Grafik zu | ||
+ | |||
+ | :<math>{\rm Pr(Blockfehler)} = | ||
+ | \sum_{f =9}^{255} {255 \choose f} \cdot {\varepsilon_{\rm S}}^f \cdot (1 - \varepsilon_{\rm S})^{255-f}\approx 10^{-4} \hspace{0.05cm}.</math> | ||
+ | |||
+ | Dominant ist hierbei der erste Term (für <i>f</i> = 9), der bereits etwa 80% ausmacht: | ||
+ | |||
+ | :<math>{255 \choose 9} \approx 1.1 \cdot 10^{16}\hspace{0.05cm},\hspace{0.15cm} | ||
+ | \varepsilon_{\rm S}^9 \approx 4 \cdot 10^{-20}\hspace{0.05cm},\hspace{0.15cm} | ||
+ | (1 -\varepsilon_{\rm S})^{246} \approx 0.18 | ||
+ | \hspace{0.15cm} \Rightarrow \hspace{0.15cm} {\rm Pr}(f = 9) \approx 8 \cdot 10^{-5} | ||
+ | \hspace{0.05cm}.</math> | ||
+ | |||
+ | Dies soll als Beleg dafür gelten, dass man die Summation schon nach wenigen Termen abbrechen darf.<br> | ||
+ | |||
+ | Die hier nur angedeutete Berechnung sollen Sie in der Aufgabe A2.15 für den RSC (7, 3, 5)<sub>8</sub> – also für etwas übersichtlichere Parameter – vollständig durchführen.<br> | ||
+ | |||
+ | == Anwendung der Reed–Solomon–Codierung bei binären Kanälen (3) == | ||
+ | <br> | ||
+ | Die in der Grafik dargestellten Ergebnisse kann man wie folgt zusammenfassen: | ||
+ | *Für kleines <i>E</i><sub>B</sub>/<i>N</i><sub>0</sub> (des AWGN–Kanals) sind die Reed–Solomon–Codes völlig ungeeignet. Beide Codes liegen für 10 · lg <i>E</i><sub>B</sub>/<i>N</i><sub>0</sub> < 6 dB über der Vergleichskurve für uncodierte Übertragung.<br> | ||
+ | |||
+ | *Die Berechung für den RSC (255, 223, 33)<sub>256</sub> unterscheidet sich von obiger Rechnung nur in der unteren Summationsgrenze (<i>f</i><sub>min</sub> = 17) und (wegen <i>R</i> = 0.8745) durch ein etwas größeres <i>ε</i><sub>S</sub>.<br> | ||
+ | |||
+ | *Dieser (<i>t</i> = 16)–Code ist für BER = 10<sup>–6</sup> auch nur weniger als 1 dB besser als der durch grüne Kreuze gekennzeichnete Code mit <i>t</i> = 8. Die Ergebnisse beider Codes sind eher enttäuschend.<br> | ||
+ | |||
+ | :[[File:P ID2582 KC T 2 6 S2b v1.png|Blockfehlerwahrscheinlichkeit zweier Reed–Solomon–Codes der Länge <i>n</i> = 255|class=fit]]<br> | ||
+ | |||
+ | Allgemein gilt: | ||
+ | *Reed–Solomon–Codes sind beim gedächtnislosen Binärkanal (AWGN–Kanal) nicht sehr gut. Beide Codes liegen mehr als 4 dB von der informationstheoretischen Shannon–Grenze entfernt.<br> | ||
+ | |||
+ | *Reed–Solomon–Codes sind dagegen sehr wirkungsvoll bei so genannten Bündelfehlerkanälen. Sie werden deshalb vorwiegend bei Fadingkanälen, Speichersysteme, usw. eingesetzt.<br><br> | ||
+ | |||
+ | <b>Hinweis:</b> Die Reed–Solomon–Codes sind nicht perfekt. Welche Konsequenzen sich daraus ergeben, wird in der Aufgabe A2.16 behandelt.<br> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Revision as of 21:14, 14 January 2017
Contents
Blockfehlerwahrscheinlichkeit für RSC und BDD
Zur Fehlerwahrscheinlichkeitsberechnung gehen wir vom gleichen Blockschaltbild wie im Kapitel 2.5 aus, wobei wir uns hier für den Codewortschätzer (y → z) auf Bounded Distance Decoding (BDD) beschränken. Für Maximum Likelihood Decoding sind die Ergebnisse geringfügig besser.
Die Blockfehlerwahrscheinlichkeit sei wie folgt definiert:
\[{ \rm Pr(Blockfehler)} = { \rm Pr}( \underline{\upsilon} \ne \underline{u})= { \rm Pr}( \underline{z} \ne \underline{c}) = { \rm Pr}( f >t) \hspace{0.05cm}.\]
Aufgrund der BDD–Annahme ergibt sich das gleiche einfache Ergebnis wie für die binären Blockcodes, nämlich die Wahrscheinlichkeit, dass die Anzahl f der Fehler im Block (Empfangswort) größer ist als die Korrekturfähigkeit t des Codes. Da für die Zufallsgröße f (Fehleranzahl) eine Binominalverteilung im Bereich 0 ≤ f ≤ n vorliegt, erhält man:
\[{\rm Pr(Blockfehler)} = \sum_{f = t + 1}^{n} {n \choose f} \cdot {\varepsilon_{\rm S}}^f \cdot (1 - \varepsilon_{\rm S})^{n-f} \hspace{0.05cm}.\]
Während aber im Kapitel 1 stets ci ∈ GF(2) gegolten hat und damit die f Übertragungsfehler jeweils Bitfehler waren, versteht man bei Reed–Solomon–Codierung unter einem Übertragungsfehler (yi ≠ ci) wegen ci ∈ GF(2m) bzw. yi ∈ GF(2m) einen Symbolfehler. Damit ergeben sich folgende Unterschiede:
- Das diskrete Kanalmodell zur Beschreibung der binären Blockcodes ist der Binary Symmetric Channel (BSC). Jedes Bit ci eines Codewortes wird mit der Wahrscheinlichkeit ε verfälscht (yi ≠ ci) und mit der Wahrscheinlichkeit 1 – ε richtig übertragen (yi = ci).
- Bei Reed–Solomon–Codierung muss das BSC–Modell durch das m–BSC–Kanalmodell ersetzt werden. Ein Symbol ci wird mit der Wahrscheinlichkeit εS in ein anderes Symbol yi verfälscht (egal, in welches) und kommt mit der Wahrscheinlichkeit 1 – εS unverfälscht beim Empfänger an.
\[1 - \varepsilon_{\rm S} = (1 - \varepsilon)^m = 0.9^8 \approx 0.43 \hspace{0.05cm}.\]
Damit ergibt sich für das 8–BSC–Modell die Verfälschungswahrscheinlichkeit εS ≈ 0.57. Mit der Annahme, dass die Verfälschung von ci = β in jedes andere Symbol yi = γ ≠ β gleichwahrscheinlich ist, erhält man Pr(yi = γ | ci = β) = 0.57/255 ≈ 0.223%.
Anwendung der Reed–Solomon–Codierung bei binären Kanälen (1)
Die Voraussetzungen für die folgende Berechnung der Blockfehlerwahrscheinlichkeit eines Systems mit Reed–Solomon–Codierung und Umsetzung auf Binärsymbole sind in der Grafik zusammenge-fasst:
- Angenommen wird eine (n, k)–Reed–Solomon–Codierung mit Symbolen aus GF(2m). Je kleiner die Coderate R = k/n ist, um so weniger Information kann bei fester Datenrate übertragen werden.
- Jedes Symbol wird durch m Bit binär dargestellt ⇒ Binär–Mapping. Ein Block (Codewort c) besteht somit aus n Symbolen bzw. aus n · m Binärzeichen (Bit), die in cbin zusammengefasst sind.
- Vorausgesetzt wird außerdem der AWGN–Kanal, gekennzeichnet durch den Parameter EB/N0. Entsprechend diesem Kanalmodell geschieht die Übertragung bipolar: „0” ↔ „+1”, „1” ↔ „–1”.
- Der Empfänger trifft harte Entscheidungen (Hard Decision) auf Bitebene. Vor der Decodierung inclusive der Fehlerkorrektur werden die Binärsymbole wieder auf GF(2m)–Symbole umgesetzt.
Die auf der letzten Seite angegebene Gleichung (gültig für Bounded Distance Decoding),
\[{\rm Pr(Blockfehler)} = \sum_{f = t + 1}^{n} {n \choose f} \cdot {\varepsilon_{\rm S}}^f \cdot (1 - \varepsilon_{\rm S})^{n-f} \hspace{0.05cm},\]
basiert auf dem m–BSC–Kanal. Ausgehend vom AWGN–Kanal kommt man
- mit dem komplementären Gaußschen Fehlerintegral Q(x) zum BSC–Parameter
- \[\varepsilon = {\rm Q} \big (\sqrt{2 \cdot E_{\rm S}/N_0} \big ) = {\rm Q} \big (\sqrt{2 \cdot R \cdot E_{\rm B}/N_0} \big ) \hspace{0.05cm},\]
- und daraus zur Verfälschungswahrscheinlichkeit εS auf Symbolebene:
- \[\varepsilon_{\rm S} = 1 - (1 - \varepsilon)^m \hspace{0.05cm}.\]
\[\varepsilon = {\rm Q} \big (\sqrt{2 \cdot 0.9373 \cdot 5} \big ) = {\rm Q} \big (3.06\big ) \approx 1.1 \cdot 10^{-3} \hspace{0.05cm}\]
\[\Rightarrow\hspace{0.3cm} \varepsilon_{\rm S} = 1 - (1 - 1.1 \cdot 10^{-3})^8 = 1 - 0.9989^8 = 1 - 0.9912 \approx 0.88 \cdot 10^{-2} \hspace{0.05cm}.\]
Jedes einzelne Symbol wird also mit mehr als 99–prozentiger Wahrscheinlichkeit fehlerfrei übertragen.
Anwendung der Reed–Solomon–Codierung bei binären Kanälen (2)
Die folgende Grafik zeigt die in [Liv10][1] angegebenen Blockfehlerwahrscheinlichkeiten in Abhängigkeit des AWGN–Quotienten 10 · lg (EB/N0). Dargestellt sind die berechneten Kurvenverläufe Pr(υ ≠ u) für zwei verschiedene Reed–Solomon–Codes entsprechend den Deep Space Standards nach CCSDS (Consultative Committee for Space Data Systems), nämlich
- der RSC (255, 239,17)256, der bis zu t = 8 Fehler korrigieren kann,
- der RSC (255, 223, 33)256 mit höherer Korrekturfähigkeit (t = 16) aufgrund kleinerer Coderate.
Wir analysieren den in der Grafik gelb hinterlegten Punkt, gültig für
- den RSC (255, 239, 17)256, und
- 10 · lg EB/N0 = 7.1 dB ⇒ εS = 0.007.
Die dazugehörige Blockfehlerwahrscheinlichkeit ergibt sich entsprechend der Grafik zu
\[{\rm Pr(Blockfehler)} = \sum_{f =9}^{255} {255 \choose f} \cdot {\varepsilon_{\rm S}}^f \cdot (1 - \varepsilon_{\rm S})^{255-f}\approx 10^{-4} \hspace{0.05cm}.\]
Dominant ist hierbei der erste Term (für f = 9), der bereits etwa 80% ausmacht:
\[{255 \choose 9} \approx 1.1 \cdot 10^{16}\hspace{0.05cm},\hspace{0.15cm} \varepsilon_{\rm S}^9 \approx 4 \cdot 10^{-20}\hspace{0.05cm},\hspace{0.15cm} (1 -\varepsilon_{\rm S})^{246} \approx 0.18 \hspace{0.15cm} \Rightarrow \hspace{0.15cm} {\rm Pr}(f = 9) \approx 8 \cdot 10^{-5} \hspace{0.05cm}.\]
Dies soll als Beleg dafür gelten, dass man die Summation schon nach wenigen Termen abbrechen darf.
Die hier nur angedeutete Berechnung sollen Sie in der Aufgabe A2.15 für den RSC (7, 3, 5)8 – also für etwas übersichtlichere Parameter – vollständig durchführen.
Anwendung der Reed–Solomon–Codierung bei binären Kanälen (3)
Die in der Grafik dargestellten Ergebnisse kann man wie folgt zusammenfassen:
- Für kleines EB/N0 (des AWGN–Kanals) sind die Reed–Solomon–Codes völlig ungeeignet. Beide Codes liegen für 10 · lg EB/N0 < 6 dB über der Vergleichskurve für uncodierte Übertragung.
- Die Berechung für den RSC (255, 223, 33)256 unterscheidet sich von obiger Rechnung nur in der unteren Summationsgrenze (fmin = 17) und (wegen R = 0.8745) durch ein etwas größeres εS.
- Dieser (t = 16)–Code ist für BER = 10–6 auch nur weniger als 1 dB besser als der durch grüne Kreuze gekennzeichnete Code mit t = 8. Die Ergebnisse beider Codes sind eher enttäuschend.
Allgemein gilt:
- Reed–Solomon–Codes sind beim gedächtnislosen Binärkanal (AWGN–Kanal) nicht sehr gut. Beide Codes liegen mehr als 4 dB von der informationstheoretischen Shannon–Grenze entfernt.
- Reed–Solomon–Codes sind dagegen sehr wirkungsvoll bei so genannten Bündelfehlerkanälen. Sie werden deshalb vorwiegend bei Fadingkanälen, Speichersysteme, usw. eingesetzt.
Hinweis: Die Reed–Solomon–Codes sind nicht perfekt. Welche Konsequenzen sich daraus ergeben, wird in der Aufgabe A2.16 behandelt.
- ↑ Liva, G.: Channel Coding. Vorlesungsmanuskript, Lehrstuhl für Nachrichtentechnik, TU München und DLR Oberpfaffenhofen, 2010.