Exercise 2.11: Reed-Solomon Decoding according to "Erasures"
From LNTwww
Wir betrachten hier ein Codier– und Decodiersystem entsprechend der Grafik im Theorieteil zu diesem Kapitel. Anzumerken ist:
- Der Reed–Solomon–Code ist durchdie Generator $\mathbf{G}$ und die Prüfmatrix $\mathbf{H}$ vorgegeben, wobei alle Elemente aus dem Galoisfeld $\rm GF(2^3) \ \backslash \ \{0\}$ stammen:
- $${ \boldsymbol{\rm G}} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1\\ 1 & \alpha^1 & \alpha^2 & \alpha^3 & \alpha^4 & \alpha^5 & \alpha^6\\ 1 & \alpha^2 & \alpha^4 & \alpha^6 & \alpha^1 & \alpha^{3} & \alpha^{5}\\ 1 & \alpha^3 & \alpha^6 & \alpha^2 & \alpha^{5} & \alpha^{1} & \alpha^{4} \end{pmatrix} \hspace{0.05cm},$$
- $${ \boldsymbol{\rm H}} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \begin{pmatrix} 1 & \alpha^1 & \alpha^2 & \alpha^3 & \alpha^4 & \alpha^5 & \alpha^6\\ 1 & \alpha^2 & \alpha^4 & \alpha^6 & \alpha^1 & \alpha^{3} & \alpha^{5}\\ 1 & \alpha^3 & \alpha^6 & \alpha^2 & \alpha^{5} & \alpha^{1} & \alpha^{4} \end{pmatrix} \hspace{0.05cm}.$$
- Alle Codesymbole $c_i ∈ \{0, \, 1, \, \alpha, \, \alpha^2, \, \alpha^3, \, \alpha^3, \, \alpha^4, \, \alpha^5, \, \alpha^6\}$ werden durch $m = 3 \ \rm Bit$ dargestellt und über den grün hinterlegten Auslöschungskanal ($m$–BEC) übertragen. Ein Codesymbol wird bereits dann als Auslöschung (Erasure) E markiert, wenn eines der drei zugehörigen Bit unsicher ist.
- Der Codewortfinder (CWF) hat die Aufgabe, aus dem teilweise ausgelöschten Empfangswort $\underline{y}$ das regenerierte Codewort $\underline{z}$ zu erzeugen. Dabei muss sicher gestellt sein, dass das Ergebnis $\underline{z}$ tatsächlich ein gültiges Reed–Solomon–Codewort ist.
- Beinhaltet das Empfangswort $\underline{y}$ zu viele Auslöschungen, so gibt der Decoder eine Meldung der Art „Symbol ist nicht decodierbar” aus. Es wird also nicht versucht, das Codewort zu schätzen. Wird $\underline{z}$ ausgegeben, so ist dieses auch richtig: $\underline{z} = \underline{c}$.
- Das gesuchte Informationswert $\underline{\upsilon} = \underline{u}$ ergibt sich durch die inverse Coderfunktion $\underline{\upsilon} = {\rm enc}^{-1}(\underline{u})$. Mit der Generatormatrix $\mathbf{G}$ lässt sich diese wie folgt realisieren:
- $$\underline{c} = {\rm enc}(\underline{u}) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \underline{u} \cdot {\boldsymbol{\rm G}} \hspace{0.3cm} \Rightarrow \hspace{0.3cm} \underline{z} = {\rm enc}(\underline{\upsilon}) = \underline{\upsilon} \cdot {\boldsymbol{\rm G}}$$
- $$\Rightarrow \hspace{0.3cm} \underline{\upsilon} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm enc}^{-1}(\underline{z}) = \underline{z} \cdot {\boldsymbol{\rm G}}^{\rm T}\hspace{0.05cm}.$$
Hinweise:
- Die Aufgabe bezieht sich auf das Kapitel Reed–Solomon–Decodierung beim Auslöschungskanal.
- Hinsichtlich des Codewortfinders verweisen wir insbesondere auf die Seiten Vorgehensweise und Lösung der Matrixgleichungen
Fragebogen
Musterlösung
(1)
(2)
(3)
(4)
(5)