Kanalcodierung/Schranken für die Blockfehlerwahrscheinlichkeit: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(21 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 8: Zeile 8:
 
== Distanzspektrum eines linearen Codes ==
 
== Distanzspektrum eines linearen Codes ==
 
<br>
 
<br>
Wir gehen weiterhin von einem linearen und binären $(n, \hspace{0.05cm} k)$&ndash;Blockcode $\mathcal{C}$ aus. Ein wesentliches Ziel des Codedesigns ist es, die [[Kanalcodierung/Decodierung_linearer_Blockcodes#Blockschaltbild_und_Voraussetzungen| Blockfehlerwahrscheinlichkeit]] ${\rm Pr}(\underline{u} \ne  \underline{v}) = {\rm Pr}(\underline{z} \ne  \underline{x})$ möglichst gering zu halten. Dies erreicht man unter anderem dadurch, dass
+
Wir gehen weiterhin von einem linearen und binären&nbsp; $(n, \hspace{0.05cm} k)$&ndash;Blockcode&nbsp; $\mathcal{C}$&nbsp; aus.&nbsp; Ein wesentliches Ziel des Codedesigns ist es,&nbsp; die&nbsp; [[Kanalcodierung/Decodierung_linearer_Blockcodes#Blockschaltbild_und_Voraussetzungen| "Blockfehlerwahrscheinlichkeit"]]&nbsp; ${\rm Pr}(\underline{u} \ne  \underline{v}) = {\rm Pr}(\underline{z} \ne  \underline{x})$&nbsp; möglichst gering zu halten.&nbsp; Dies erreicht man unter anderem dadurch, dass
  
*die minimale Distanz $d_{\rm min}$ zwischen zwei Codeworten $\underline{x}$ und $\underline{x}'$ möglichst groß ist, so dass man bis zu $t = &lfloor;(d_{\rm min}-1)/2&rfloor;$ Bitfehler richtig korrigieren kann;<br>
+
*die minimale Distanz&nbsp; $d_{\rm min}$&nbsp; zwischen zwei Codeworten&nbsp; $\underline{x}$&nbsp; und&nbsp; $\underline{x}\hspace{0.05cm}'$&nbsp; möglichst groß ist,&nbsp; so dass man bis zu&nbsp; $t = &lfloor;(d_{\rm min}-1)/2&rfloor;$&nbsp; Bitfehler korrigieren kann;<br>
  
*gleichzeitig die minimale Distanz $d_{\rm min}$ &nbsp; &#8658; &nbsp; <i>worst&ndash;case</i>  möglichst selten auftritt, wenn man alle zulässigen Codeworte berücksichtigt.<br><br>
+
*gleichzeitig diese minimale&nbsp; Distanz&nbsp; $d_{\rm min}$ &nbsp;   möglichst selten auftritt,&nbsp; wenn man alle zulässigen Codeworte berücksichtigt.<br><br>
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
$\text{Definition:}$&nbsp;  Wir benennen die '''Anzahl''' der Codeworte $\underline{x}' \in \mathcal{C}$ mit der Hamming&ndash;Distanz $i$ vom betrachteten Codewort $\underline{x}$ des gleichen Codes $\mathcal{C}$ mit $W_i(\underline{x})$, wobei gilt:
+
$\text{Definition:}$&nbsp;  Wir benennen die&nbsp; '''Anzahl'''&nbsp; der Codeworte&nbsp; $\underline{x}\hspace{0.05cm}' \in \mathcal{C}$&nbsp; mit Hamming&ndash;Distanz&nbsp; $i$&nbsp; vom betrachteten Codewort&nbsp; $\underline{x}$&nbsp; des gleichen Codes&nbsp; $\mathcal{C}$&nbsp; mit&nbsp; $W_i(\underline{x})$,&nbsp; wobei gilt:
  
::<math>W_i(\underline{x}) = \left \vert \hspace{0.05cm} \left \{  
+
::<math>W_i(\underline{x}) = \big \vert \hspace{0.05cm} \left \{  
\underline{x}  \hspace{0.05cm}, \underline{x}{\hspace{0.03cm}' \in \hspace{0.05cm} \mathcal{C} } \hspace{0.1cm}\vert\hspace{0.1cm}
+
\underline{x}  \hspace{0.05cm}, \underline{x}{\hspace{0.05cm}' \in \hspace{0.05cm} \mathcal{C} } \hspace{0.1cm}\vert\hspace{0.1cm}
d_{\rm H}(\underline{x}  \hspace{0.05cm}, \hspace{0.1cm}\underline{x}'
+
d_{\rm H}(\underline{x}  \hspace{0.05cm}, \hspace{0.1cm}\underline{x}\hspace{0.05cm}'
) = i  \right \} \hspace{0.05cm} \right \vert\hspace{0.05cm}.</math>
+
) = i  \right \} \hspace{0.05cm} \big \vert\hspace{0.05cm}.</math>
  
*Die Betragsstriche kennzeichnen hierbei die Anzahl der Codeworte $\underline{x}'$, die die Bedingung $d_{\rm H}(\underline{x}  \hspace{0.05cm}, \hspace{0.1cm}\underline{x}'
+
*Die Betragsstriche kennzeichnen hierbei die Anzahl der Codeworte&nbsp; $\underline{x}\hspace{0.05cm}'$,&nbsp; die die Bedingung&nbsp; $d_{\rm H}(\underline{x}  \hspace{0.05cm}, \hspace{0.1cm}\underline{x}\hspace{0.05cm}'
) = i $ erfüllen.
+
) = i $&nbsp; erfüllen.
*Man bezeichnet diesen Wert auch als '''Vielfachheit''' (englisch: <i>Multiplicity</i>).}}
 
  
 +
*Man bezeichnet diesen Wert auch als&nbsp; '''Vielfachheit'''&nbsp; (englisch: &nbsp;"Multiplicity").}}
  
 +
 +
{{GraueBox|TEXT= 
 +
$\text{Beispiel 1:}$&nbsp;  Wir betrachten den&nbsp; $(5, \, 2)$&ndash;Blockcode&nbsp; $\mathcal{C}$&nbsp; mit der Generatormatrix
 
[[Datei:P ID2365 KC T 1 6 S1 neu.png|right|frame|Hamming–Distanzen zwischen allen Codeworten|class=fit]]
 
[[Datei:P ID2365 KC T 1 6 S1 neu.png|right|frame|Hamming–Distanzen zwischen allen Codeworten|class=fit]]
{{GraueBox|TEXT= 
 
$\text{Beispiel 1:}$&nbsp;  Wir betrachten den $(5, \, 2)$&ndash;Blockcode $\mathcal{C}$ mit der Generatormatrix
 
 
 
:<math>{ \boldsymbol{\rm G} }  
 
:<math>{ \boldsymbol{\rm G} }  
 
=  \begin{pmatrix}
 
=  \begin{pmatrix}
Zeile 37: Zeile 37:
 
\end{pmatrix} \hspace{0.05cm}.</math>
 
\end{pmatrix} \hspace{0.05cm}.</math>
  
Die Tabelle zeigt die Hamming&ndash;Distanzen zwischen allen Codeworten $\underline{x}_i$ zu den Bezugsworten $\underline{x}_0$, ... , $\underline{x}_3$.
+
Die Tabelle zeigt die Hamming&ndash;Distanzen  
 +
*zwischen allen Codeworten&nbsp; $\underline{x}_i$  
 +
*zu den Bezugsworten&nbsp; $\underline{x}_0$, ... , $\underline{x}_3$.
 +
 
  
Man erkennt, dass unabhängig vom Bezugswort $\underline{x}_i$ gilt:
+
Man erkennt: &nbsp; Unabhängig vom Bezugswort&nbsp; $\underline{x}_i$&nbsp;  gilt:
  
::<math>W_0 = 1 \hspace{0.05cm}, \hspace{0.5cm}W_1 = W_2 = 0 \hspace{0.05cm},</math>
+
::<math>W_0 = 1 \hspace{0.05cm}, \hspace{0.5cm}W_1 = W_2 = 0 \hspace{0.05cm},\hspace{0.5cm}
::<math> W_3 = 2 \hspace{0.05cm},\hspace{0.5cm} W_4 = 1</math>
+
W_3 = 2 \hspace{0.05cm},\hspace{0.5cm} W_4 = 1</math>
 
::<math> \Rightarrow\hspace{0.3cm} d_{\rm min} = 3\hspace{0.05cm}.</math>}}
 
::<math> \Rightarrow\hspace{0.3cm} d_{\rm min} = 3\hspace{0.05cm}.</math>}}
 
<br clear=all>
 
<br clear=all>
  
Nicht nur in diesem Beispiel, sondern bei jedem linearen Code ergeben sich für jedes Codewort die gleichen Vielfachheiten $W_i$. Da zudem das Nullwort $\underline{0} = (0, 0,\text{ ...} \hspace{0.05cm}, 0)$ Bestandteil eines jeden linearen Binärcodes ist, lässt sich die obige Definition auch wie folgt formulieren:<br>
+
Nicht nur in diesem Beispiel,&nbsp; sondern bei jedem linearen Code ergeben sich für jedes Codewort die gleichen Vielfachheiten&nbsp;  $W_i$.&nbsp; Da zudem das Nullwort &nbsp;  $\underline{0} = (0, 0,\text{ ...} \hspace{0.05cm}, 0) $&nbsp;  Bestandteil eines jeden linearen Binärcodes ist,&nbsp; lässt sich die obige Definition auch wie folgt formulieren:<br>
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
$\text{Definition:}$&nbsp;  Das '''Distanzspektrum''' eines linearen binären $(n, \hspace{0.03cm} k)$&ndash;Blockcodes ist die Menge $\{W_i \}$ mit $i = 0, 1,$ ... , $n$. Hierbei gibt $W_i$ die Anzahl der Codeworte $\underline{x} \in \mathcal{C}$ mit Hamming&ndash;Gewicht $w_{\rm H}(\underline{x}) = i$ an.  
+
$\text{Definition:}$&nbsp;  Das&nbsp;  '''Distanzspektrum'''&nbsp;  eines linearen binären&nbsp;  $(n, \hspace{0.03cm} k)$&ndash;Blockcodes ist die Menge&nbsp;  $\{W_i \}$&nbsp;  mit&nbsp;  $i = 0, 1,$ ... , $n$.  
 +
*Hierbei gibt&nbsp;  $W_i$&nbsp;  die Anzahl der Codeworte&nbsp;  $\underline{x} \in \mathcal{C}$&nbsp;  mit Hamming&ndash;Gewicht&nbsp;  $w_{\rm H}(\underline{x}) = i$&nbsp;  an.  
  
Oft beschreibt man die Menge $\hspace{0.05cm}\{W_i \}\hspace{0.05cm}$ auch als Polynom mit einer Pseudovariablen $X$:
+
*Oft beschreibt man die Menge&nbsp;  $\hspace{0.05cm}\{W_i \}\hspace{0.05cm}$&nbsp;  auch als Polynom mit einer Pseudovariablen&nbsp;  $X$:
  
 
::<math>\left \{ \hspace{0.05cm} W_i \hspace{0.05cm} \right \} \hspace{0.3cm} \Leftrightarrow \hspace{0.3cm}
 
::<math>\left \{ \hspace{0.05cm} W_i \hspace{0.05cm} \right \} \hspace{0.3cm} \Leftrightarrow \hspace{0.3cm}
W(X) = \sum_{i=0  }^{n}  W_i \cdot Xi^{i} = W_0 + W_1 \cdot X + W_2 \cdot X^{2} + ... \hspace{0.05cm} + W_n \cdot X^{n}\hspace{0.05cm}.</math>
+
W(X) = \sum_{i=0  }^{n}  W_i \cdot X^{i} = W_0 + W_1 \cdot X + W_2 \cdot X^{2} + ... \hspace{0.05cm} + W_n \cdot X^{n}\hspace{0.05cm}.</math>
  
Man bezeichnet $W(X)$ auch als '''Gewichtsfunktion''' (englisch: <i>Weight Enumerator Function</i>, WEF).}}<br>
+
*Man bezeichnet&nbsp;  $W(X)$&nbsp;  auch als&nbsp;  '''Gewichtsfunktion'''&nbsp;  $($englisch: &nbsp; "Weight Enumerator Function",&nbsp; $\rm WEF)$.}}<br>
  
Beispielsweise lautet die Gewichtsfunktion des $(5, \hspace{0.02cm} 2)$&ndash;Codes $\mathcal{C} = \left  \{ \hspace{0.05cm}(0, 0, 0, 0, 0) \hspace{0.05cm},\hspace{0.15cm} (0, 1, 0, 1, 1) \hspace{0.05cm},\hspace{0.15cm}(1, 0, 1, 1, 0) \hspace{0.05cm},\hspace{0.15cm}(1, 1, 1, 0, 1) \hspace{0.05cm} \right \}$ von Beispiel 1:
+
*Beispielsweise lautet die Gewichtsfunktion des&nbsp;  $(5, \hspace{0.02cm} 2)$&ndash;Codes&nbsp;  $\mathcal{C} = \left  \{ \hspace{0.05cm}(0, 0, 0, 0, 0) \hspace{0.05cm},\hspace{0.15cm} (0, 1, 0, 1, 1) \hspace{0.05cm},\hspace{0.15cm}(1, 0, 1, 1, 0) \hspace{0.05cm},\hspace{0.15cm}(1, 1, 1, 0, 1) \hspace{0.05cm} \right \}$&nbsp;  von&nbsp;  $\text{Beispiel 1}$:
  
 
::<math>W(X) = 1 + 2 \cdot X^{3} + X^{4}\hspace{0.05cm}.</math>
 
::<math>W(X) = 1 + 2 \cdot X^{3} + X^{4}\hspace{0.05cm}.</math>
  
Wie aus der [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Einige_Eigenschaften_des_.287.2C_4.2C_3.29.E2.80.93Hamming.E2.80.93Codes |Tabelle seiner Codeworte]] hervorgeht, erhält man für den $(7, \hspace{0.02cm}4, \hspace{0.02cm}3)$&ndash;Hamming&ndash;Code:
+
*Wie aus der&nbsp;  [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Einige_Eigenschaften_des_.287.2C_4.2C_3.29.E2.80.93Hamming.E2.80.93Codes |"Tabelle seiner Codeworte"]]&nbsp;  hervorgeht,&nbsp; erhält man für den&nbsp;  $(7, \hspace{0.02cm}4, \hspace{0.02cm}3)$&ndash;Hamming&ndash;Code:
  
 
::<math>W(X) = 1 + 7 \cdot X^{3} + 7 \cdot X^{4} + X^{7}\hspace{0.05cm}.</math>
 
::<math>W(X) = 1 + 7 \cdot X^{3} + 7 \cdot X^{4} + X^{7}\hspace{0.05cm}.</math>
  
Die Überführung des Distanzspektrums $\hspace{0.01cm}\{W_i \}\hspace{0.01cm}$ in die Gewichtsfunktion $W(X)$ bietet zudem bei manchen Aufgabenstellungen große numerische Vorteile. Ist beispielsweise die <i>Weight Enumerator Function</i> $W(X)$ eines $(n, \hspace{0.03cm} k)$&ndash;Blockcodes $\mathcal{C}$ bekannt, so gilt für den hierzu [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Darstellung_von_SPC_und_RC_als_duale_Codes|dualen]] $(n, \hspace{0.03cm} n-k)$&ndash;Code $\mathcal{C}_{\rm Dual}$:
+
*Die Überführung des Distanzspektrums&nbsp;  $\hspace{0.01cm}\{W_i \}\hspace{0.01cm}$&nbsp;  in die Gewichtsfunktion&nbsp;  $W(X)$&nbsp;  bietet zudem bei manchen Aufgabenstellungen große numerische Vorteile.&nbsp; Ist beispielsweise die&nbsp; "Weight Enumerator Function"&nbsp;  $W(X)$&nbsp;  eines&nbsp;  $(n, \hspace{0.03cm} k)$&ndash;Blockcodes&nbsp;  $\mathcal{C}$&nbsp;  bekannt, so gilt für den hierzu&nbsp;  [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Darstellung_von_SPC_und_RC_als_duale_Codes|"dualen&nbsp; $(n, \hspace{0.03cm} n-k)$&ndash;Code"]]&nbsp;  $\mathcal{C}_{\rm Dual}$:
  
 
::<math>W_{\rm Dual}(X) = \frac{(1+X)^n}{2^k} \cdot W \left ( \frac{1-X}{1+X} \right )\hspace{0.05cm}.</math>
 
::<math>W_{\rm Dual}(X) = \frac{(1+X)^n}{2^k} \cdot W \left ( \frac{1-X}{1+X} \right )\hspace{0.05cm}.</math>
  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
$\text{Beispiel 2:}$&nbsp;  Gesucht ist die Gewichtsfunktion $W(X)$ des [[Kanalcodierung/Beispiele_bin%C3%A4rer_Blockcodes#Single_Parity.E2.80.93check_Codes|Single Parity&ndash;check Codes]] mit $n = 6$, $k = 5$ &nbsp; &#8658; &nbsp; <b>SPC (6, 5)</b>. Man erhält diese durch Vergleich aller $2^5 = 32$ Codeworte mit dem Nullwort:  
+
$\text{Beispiel 2:}$&nbsp;  Gesucht ist die Gewichtsfunktion&nbsp;  $W(X)$&nbsp;  des&nbsp;  [[Kanalcodierung/Beispiele_bin%C3%A4rer_Blockcodes#Single_Parity.E2.80.93check_Codes|"Single Parity&ndash;check Codes"]]&nbsp;  mit&nbsp;  $n = 6$,&nbsp;  $k = 5$ &nbsp; &#8658; &nbsp; $\text{SPC (6, 5)}$.&nbsp; Man erhält diese durch Vergleich aller&nbsp;  $2^5 = 32$&nbsp;  Codeworte mit dem Nullwort:  
  
 
::<math>W_{\rm SPC\hspace{0.03cm}(6,\hspace{0.08cm}5)}(X) = 1 + 15 \cdot X^{2} + 15 \cdot X^{4} + X^{6}\hspace{0.05cm}.</math>
 
::<math>W_{\rm SPC\hspace{0.03cm}(6,\hspace{0.08cm}5)}(X) = 1 + 15 \cdot X^{2} + 15 \cdot X^{4} + X^{6}\hspace{0.05cm}.</math>
  
 
Unter Berücksichtigung obiger Gleichung kommt man sehr viel schneller zum gleichen Ergebnis:
 
Unter Berücksichtigung obiger Gleichung kommt man sehr viel schneller zum gleichen Ergebnis:
*Der zu SPC (6, 5) duale Code ist der [[Kanalcodierung/Beispiele_bin%C3%A4rer_Blockcodes#Wiederholungscodes_.281.29| Repetition Code]] '''RC (6, 1)''' mit nur zwei Codeworten $(0, 0, 0, 0, 0, 0)$ und $(1, 1, 1, 1, 1, 1)$:
+
*Der zu&nbsp;  $\text{SPC (6, 5)}$&nbsp;  duale Code ist der&nbsp;  [[Kanalcodierung/Beispiele_bin%C3%A4rer_Blockcodes#Wiederholungscodes| "Repetition Code"]]&nbsp;  $\text{RC (6, 1)}$&nbsp;  mit nur zwei Codeworten&nbsp;  $(0, 0, 0, 0, 0, 0)$&nbsp;  und&nbsp;  $(1, 1, 1, 1, 1, 1)$:
  
 
::<math>W_{\rm RC\hspace{0.03cm}(6,\hspace{0.08cm}1)}(X) = 1 + X^{6}\hspace{0.05cm}.</math>
 
::<math>W_{\rm RC\hspace{0.03cm}(6,\hspace{0.08cm}1)}(X) = 1 + X^{6}\hspace{0.05cm}.</math>
  
*Daraus folgt für die Gewichtsfunktion des SPC (6, 5) nach obiger Gleichung mit $k = 1$:
+
*Daraus folgt für die Gewichtsfunktion des&nbsp;  $\text{SPC (6, 5)}$&nbsp;  nach obiger Gleichung mit&nbsp;  $k = 1$:
  
::<math>W_{\rm SPC\hspace{0.03cm}(6,\hspace{0.08cm}5)}(X) = \frac{(1+X)^6}{2^1} \cdot W \left [1 + \left ( (1-X)/(1+X)\right )^6 \right ] =  1/2 \cdot \left [( 1+X) ^6 + ( 1-X) ^6 \right ] = 1 + 15 \cdot X^{2} + 15 \cdot X^{4} + X^{6}\hspace{0.05cm}.</math>}}<br>
+
::<math>W_{\rm SPC\hspace{0.03cm}(6,\hspace{0.08cm}5)}(X) = \frac{(1+X)^6}{2^1} \cdot W \left [1 \hspace{-0.05cm}+\hspace{-0.05cm} \left ( \frac {1\hspace{-0.05cm}-\hspace{-0.05cm}X}{1\hspace{-0.05cm}+\hspace{-0.05cm}X}\right )^6 \right ] =  1/2 \cdot \big [( 1\hspace{-0.05cm}+\hspace{-0.05cm}X) ^6 \hspace{-0.05cm}+\hspace{-0.05cm} ( 1-X) ^6 \big ] = 1 \hspace{-0.05cm}+\hspace{-0.05cm} 15 \cdot X^{2} \hspace{-0.05cm}+\hspace{-0.05cm} 15 \cdot X^{4} \hspace{-0.05cm}+\hspace{-0.05cm} X^{6}\hspace{0.05cm}.</math>}}<br>
  
 
== Union Bound der Blockfehlerwahrscheinlichkeit ==
 
== Union Bound der Blockfehlerwahrscheinlichkeit ==
 
<br>
 
<br>
Wir betrachten wie im  Beispiel 1 zum Distanzspektrum] den  $(5, \hspace{0.02cm} 2)$&ndash;Blockcode $\mathcal{C} = (\underline{x}_0, \underline{x}_1, \underline{x}_2, \underline{x}_3)$ und setzen voraus, dass das Codewort $\underline{x}_0$ gesendet wurde. Die Grafik verdeutlicht den Sachverhalt).
+
Wir betrachten wie im&nbsp; $\text{Beispiel 1}$&nbsp;  den&nbsp; $(5, \hspace{0.02cm} 2)$&ndash;Blockcode&nbsp; $\mathcal{C} = \{\underline{x}_0, \underline{x}_1, \underline{x}_2, \underline{x}_3 \}$&nbsp;&nbsp; und setzen voraus,&nbsp; dass das Codewort&nbsp; $\underline{x}_0$&nbsp; gesendet wurde. Die Grafik verdeutlicht den Sachverhalt.
 +
 
 +
[[Datei:P ID2366 KC T 1 6 S2b v2.png|right|frame|Zur Herleitung der Union Bound |class=fit]]
  
[[Datei:P ID2366 KC T 1 6 S2b v2.png|center|frame|Zur Herleitung der Union Bound |class=fit]]
+
*Im fehlerfreien Fall würde dann der Codewortschätzer&nbsp; $\underline{z} = \underline{x}_0$&nbsp; liefern.
  
Im fehlerfreien Fall würde dann der Codewortschätzer $\underline{z} = \underline{x}_0$ liefern. Andernfalls käme es zu einem Blockfehler (das heißt  $\underline{z} \ne \underline{x}_0$ und dementsprechend $\underline{v} \ne \underline{u}_0$ mit der Wahrscheinlichkeit
+
*Andernfalls käme es zu einem Blockfehler:&nbsp; $($das heißt: &nbsp; $\underline{z} \ne \underline{x}_0$&nbsp; und dementsprechend&nbsp; $\underline{v} \ne \underline{u}_0)$&nbsp; mit der Wahrscheinlichkeit
  
::<math>{\rm Pr(Blockfehler)} = {\rm Pr}\left ([\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}] \hspace{0.05cm}\cup\hspace{0.05cm}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}] \hspace{0.05cm}\cup\hspace{0.05cm}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}3}] \right )
+
:$${\rm Pr(block\:error)} = {\rm Pr}\left (\big [\underline{x}_{\hspace{0.02cm}0} \hspace{-0.07cm}\mapsto \hspace{-0.07cm}\underline{x}_{\hspace{0.02cm}1}\big ] \hspace{-0.07cm}\cup\hspace{-0.07cm}\big [\underline{x}_{\hspace{0.02cm}0} \hspace{-0.07cm}\mapsto \hspace{-0.07cm} \underline{x}_{\hspace{0.02cm}2}\big ] \hspace{-0.07cm}\cup\hspace{-0.07cm}\big [\underline{x}_{\hspace{0.02cm}0} \hspace{-0.07cm}\mapsto \hspace{-0.07cm} \underline{x}_{\hspace{0.02cm}3}\big ] \right ).$$
\hspace{0.05cm}.</math>
 
  
Das Ereignis &bdquo;Verfälschung von $\underline{x}_0$ nach $\underline{x}_1$&rdquo; tritt für ein gegebenes Empfangswort $\underline{y}$ entsprechend der [[Kanalcodierung/Kanalmodelle_und_Entscheiderstrukturen#Definitionen_der_verschiedenen_Optimalempf.C3.A4nger|Maximum&ndash;Likelihood&ndash;Entscheidungsregel]] (block–wise ML) genau dann ein, wenn für die bedingte Wahrscheinlichkeitsdichtefunktion gilt:
+
&rArr; &nbsp; Das Ereignis&nbsp; &bdquo;Verfälschung von&nbsp; $\underline{x}_0$&nbsp; nach&nbsp; $\underline{x}_1$&rdquo;&nbsp; tritt für ein gegebenes Empfangswort&nbsp; $\underline{y}$&nbsp; entsprechend der&nbsp; [[Kanalcodierung/Kanalmodelle_und_Entscheiderstrukturen#Definitionen_der_verschiedenen_Optimalempf.C3.A4nger|"blockweisen Maximum&ndash;Likelihood&ndash;Entscheidungsregel"]]&nbsp;  genau dann ein,&nbsp; wenn für die bedingte Wahrscheinlichkeitsdichtefunktion gilt:
  
::<math>[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}] \hspace{0.3cm} \Longleftrightarrow \hspace{0.3cm}
+
::<math>\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big ] \hspace{0.3cm} \Leftrightarrow \hspace{0.3cm}
 
f(\underline{x}_{\hspace{0.02cm}0}\hspace{0.02cm} | \hspace{0.05cm}\underline{y}) < f(\underline{x}_{\hspace{0.02cm}1}\hspace{0.02cm} | \hspace{0.05cm}\underline{y})
 
f(\underline{x}_{\hspace{0.02cm}0}\hspace{0.02cm} | \hspace{0.05cm}\underline{y}) < f(\underline{x}_{\hspace{0.02cm}1}\hspace{0.02cm} | \hspace{0.05cm}\underline{y})
 
  \hspace{0.05cm}.</math>
 
  \hspace{0.05cm}.</math>
  
Da  $[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}] $, $[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}] $, $[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}3}] $nicht notwendigerweise <i>disjunkte Ereignisse</i> sind (die sich somit gegenseitig ausschließen würden), ist die [[Stochastische_Signaltheorie/Mengentheoretische_Grundlagen#Vereinigungsmenge| Wahrscheinlichkeit der Vereinigungsmenge]] kleiner oder gleich der Summe der Einzelwahrscheinlichkeiten:
 
  
:<math>{\rm Pr(Blockfehler)} \le {\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}] \hspace{0.05cm}+\hspace{0.05cm}{\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}] \hspace{0.05cm}+ \hspace{0.05cm}{\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}3}]  
+
&rArr; &nbsp; Da die Ereignisse &nbsp;  $\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big ] $,&nbsp; $\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}\big ] $,&nbsp; $\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}3}\big ]&nbsp; $nicht notwendigerweise&nbsp;  "disjunkt"&nbsp; sind,&nbsp;  die sich somit gegenseitig ausschließen würden,&nbsp;  ist die&nbsp; [[Stochastische_Signaltheorie/Mengentheoretische_Grundlagen#Vereinigungsmenge| "Wahrscheinlichkeit der Vereinigungsmenge"]]&nbsp; kleiner oder gleich der Summe der Einzelwahrscheinlichkeiten:
  \hspace{0.05cm}.</math>
+
 
 +
:<math>{\rm Pr(Blockfehler)} \le {\rm Pr}\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big ] \hspace{0.05cm}+\hspace{0.05cm}{\rm Pr}\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}\big ] \hspace{0.05cm}+ \hspace{0.05cm}{\rm Pr}\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}3}\big ]  \hspace{0.05cm}.</math>
  
Man nennt diese obere Schranke für die (Block&ndash;)Fehlerwahrscheinlichkeit die '''Union Bound'''. Diese wurde bereits im Kapitel [[Digitalsignal%C3%BCbertragung/Approximation_der_Fehlerwahrscheinlichkeit#Union_Bound_-_Obere_Schranke_f.C3.BCr_die_Fehlerwahrscheinlichkeit|Approximation_der_Fehlerwahrscheinlichkeit]] des Buches &bdquo;Digitalsignalübertragung&rdquo; verwendet.<br>
+
&rArr; &nbsp; Man nennt diese obere Schranke für die Blockfehlerwahrscheinlichkeit die&nbsp; '''Union Bound'''.&nbsp; Diese wurde schon im Kapitel&nbsp; [[Digitalsignalübertragung/Approximation_der_Fehlerwahrscheinlichkeit#Union_Bound_-_Obere_Schranke_f.C3.BCr_die_Fehlerwahrscheinlichkeit|"Approximation der Fehlerwahrscheinlichkeit"]]&nbsp; des Buches&nbsp; &bdquo;Digitalsignalübertragung&rdquo;&nbsp; verwendet.<br>
  
Verallgemeinern und formalisieren wir diese Ergebnisse unter der Voraussetzung, dass sowohl $\underline{x}$ als auch $\underline{x}'$  zum Code $\mathcal{C}$ gehören. Dann gelten folgende Berechnungsvorschriften:<br>
+
Wir verallgemeinern und formalisieren diese Ergebnisse unter der Voraussetzung,&nbsp; dass sowohl&nbsp; $\underline{x}$&nbsp; als auch&nbsp; $\underline{x}\hspace{0.05cm}'$&nbsp; zum Code&nbsp; $\mathcal{C}$&nbsp; gehören.  
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
$\text{Definitionen:}$&nbsp;   
+
$\text{Dann gelten folgende Berechnungsvorschriften:}$&nbsp;   
*'''Blockfehlerwahrscheinlichkeit''':
+
*$\rm Blockfehlerwahrscheinlichkeit$:
 +
 
 +
::$${\rm Pr(Blockfehler)} = {\rm Pr} \left ( \bigcup_{\underline{x}\hspace{0.05cm}' \ne \underline{x} } \hspace{0.15cm}\big [\underline{x} \mapsto \underline{x}\hspace{0.05cm}'\big] \right )\hspace{0.05cm},$$
  
::<math>{\rm Pr(Blockfehler)} = {\rm Pr} \left ( \bigcup_{\underline{x}' \ne \underline{x} } \hspace{0.15cm} [\underline{x} \mapsto \underline{x}'] \right )\hspace{0.05cm},</math>
+
*Obere Schranke entsprechend der&nbsp; "$\text{Union Bound}$":
  
*Obere Schranke nach der '''Union Bound''':
+
::$${\rm Pr(Union \hspace{0.15cm}Bound)} \le \sum_{\underline{x}\hspace{0.05cm}' \ne \underline{x} } \hspace{0.15cm} {\rm Pr}\big[\underline{x} \mapsto \underline{x}\hspace{0.05cm}'\big] \hspace{0.05cm},$$
  
::<math>{\rm Pr(Union \hspace{0.15cm}Bound)} \le \sum_{\underline{x}' \ne \underline{x} } \hspace{0.15cm} {\rm Pr}[\underline{x} \mapsto \underline{x}'] \hspace{0.05cm},</math>
+
* $\text{Paarweise Fehlerwahrscheinlichkeit}$&nbsp; (nach dem Maximum&ndash;a&ndash;posteriori&ndash; bzw. Maximum&ndash;Likelihood&ndash;Kriterium):
  
* '''Paarweise Fehlerwahrscheinlichkeit''' (nach dem MAP&ndash; bzw. ML&ndash;Kriterium):
+
::$${\rm Pr}\hspace{0.02cm}\big[\underline{x} \mapsto \underline{x}\hspace{0.05cm}'\big] = {\rm Pr} \big [
 +
p(\underline{x}\hspace{0.05cm}\vert \hspace{0.05cm}\underline{y}) \le p(\underline{x}\hspace{0.05cm}'\hspace{0.05cm} \vert \hspace{0.05cm}\underline{y}) \big ]
 +
\hspace{0.05cm}.$$}}
  
::<math>{\rm Pr}\hspace{0.02cm}[\underline{x} \mapsto \underline{x}'] = {\rm Pr} \left [
 
f(\underline{x}\hspace{0.05cm}\vert \hspace{0.05cm}\underline{y}) \le f(\underline{x}'\hspace{0.05cm} \vert \hspace{0.05cm}\underline{y}) \right ]
 
\hspace{0.05cm}.</math>}}
 
  
 
Auf den nächsten Seiten werden diese Ergebnisse auf verschiedene Kanäle angewendet.<br>
 
Auf den nächsten Seiten werden diese Ergebnisse auf verschiedene Kanäle angewendet.<br>
Zeile 130: Zeile 136:
 
== Union Bound für das BSC–Modell ==
 
== Union Bound für das BSC–Modell ==
 
<br>
 
<br>
Wir betrachten weiterhin den [http://www.lntwww.de/Kanalcodierung/Schranken_f%C3%BCr_die_Blockfehlerwahrscheinlichkeit#Distanzspektrum_eines_linearen_Codes_.281.29 beispielhaften (5, 2)&ndash;Code:]<br>
+
Wir betrachten weiterhin den beispielhaften&nbsp; $(5, \hspace{0.02cm} 2)$&ndash;Code:&nbsp;
 +
[[Datei:P ID2406 KC T 1 6 S2 v2.png|right|frame|BSC–Modell und Maximum-Likelihood–Detektion|class=fit]]
 +
 +
:$$\mathcal{C} = \left  \{ \hspace{0.05cm}(0, 0, 0, 0, 0) \hspace{0.05cm},\hspace{0.15cm} (0, 1, 0, 1, 1) \hspace{0.05cm},\hspace{0.15cm}(1, 0, 1, 1, 0) \hspace{0.05cm},\hspace{0.15cm}(1, 1, 1, 0, 1) \hspace{0.05cm} .\right \}$$
 +
Für den Kanal verwenden wir das&nbsp; [[Kanalcodierung/Klassifizierung_von_Signalen#Binary_Symmetric_Channel_.E2.80.93_BSC| BSC&ndash;Modell]]&nbsp; ("Binary Symmetric Channel"):
  
:[[Datei:P ID2406 KC T 1 6 S2 v2.png|center|frame|BSC–Modell und ML–Detektion|class=fit]]
+
::<math>{\rm Pr}(y = 1 \hspace{0.05cm} | \hspace{0.05cm}x = 0 )  =  {\rm Pr}(y = 0 \hspace{0.05cm} | \hspace{0.05cm}x = 1 ) = {\rm Pr}(e = 1) = \varepsilon \hspace{0.05cm},</math>
 +
::<math>{\rm Pr}(y = 0 \hspace{0.05cm} | \hspace{0.05cm}x = 0 )  =  {\rm Pr}(y = 1 \hspace{0.05cm} | \hspace{0.05cm}x = 1 ) = {\rm Pr}(e = 0) = 1 -\varepsilon \hspace{0.05cm}.</math>
 +
<br clear=all>
 +
Dann gilt (siehe Grafik):
 +
*Die Codeworte &nbsp; $\underline{x}_0 = (0, 0, 0, 0, 0)$ &nbsp; und &nbsp; $\underline{x}_1 = (0, 1, 0, 1, 1)$ &nbsp; unterscheiden sich in&nbsp; $d = 3$&nbsp; Bit,&nbsp; wobei&nbsp; $d$&nbsp; die [[Kanalcodierung/Zielsetzung_der_Kanalcodierung#Einige_wichtige_Definitionen_zur_Blockcodierung|Hamming&ndash;Distanz]]&nbsp; zwischen&nbsp; $\underline{x}_0$&nbsp; und&nbsp; $\underline{x}_1$&nbsp; angibt.
 +
 +
*Ein falsches Decodierergebnis&nbsp; $\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big] $&nbsp; erhält man immer dann,&nbsp; wenn mindestens zwei der drei Bit an den Bitpositionen 2, 4 und 5 verfälscht werden.
 +
 +
*Die Bitpositionen 1 und 3 spielen hier dagegen keine Rolle,&nbsp; da diese für&nbsp; $\underline{x}_0$&nbsp; und &nbsp;$\underline{x}_1$&nbsp; gleich sind.
  
Für den digitalen Kanal verwenden wir das [http://www.lntwww.de/Kanalcodierung/Klassifizierung_von_Signalen#Binary_Symmetric_Channel_.E2.80.93_BSC BSC&ndash;Modell] (<i>Binary Symmetric Channel</i>):
 
  
:<math>{\rm Pr}(y = 1 \hspace{0.05cm} | \hspace{0.05cm}x = 0 ) \hspace{-0.15cm} =  {\rm Pr}(y = 0 \hspace{0.05cm} | \hspace{0.05cm}x = 1 ) = {\rm Pr}(e = 1) = \varepsilon \hspace{0.05cm},</math>
+
Da der betrachtete Code&nbsp; $t = &lfloor;(d-1)/2&rfloor; = 1$&nbsp; Fehler korrigieren kann, gilt:
:<math>{\rm Pr}(y = 0 \hspace{0.05cm} | \hspace{0.05cm}x = 0 ) \hspace{-0.15cm} =  {\rm Pr}(y = 1 \hspace{0.05cm} | \hspace{0.05cm}x = 1 ) = {\rm Pr}(e = 0) = 1 -\varepsilon \hspace{0.05cm}.</math>
 
  
Die beiden Codeworte <i><u>x</u></i><sub>0</sub> = (0, 0, 0, 0, 0) und <i><u>x</u></i><sub>1</sub> = (0, 1, 0, 1, 1) unterscheiden sich in genau <i>d</i> = 3 Bitpositionen, wobei <i>d</i> die Hamming&ndash;Distanz zwischen <i><u>x</u></i><sub>0</sub> und <i><u>x</u></i><sub>1</sub> angibt. Ein falsches Decodierergebnis [<i><u>x</u></i><sub>0</sub> &#8594; <i><u>x</u></i><sub>1</sub>] erhält man immer dann, wenn mindestens zwei der drei Bit an den Bitpositionen 2, 4 und 5 verfälscht werden. Die Bitpositionen 1 und 3 spielen hier dagegen keine Rolle, da diese für <i><u>x</u></i><sub>0</sub> und <i><u>x</u></i><sub>1</sub> gleich sind. Da der betrachtete Code <i>t</i> &nbsp;=&nbsp;&lfloor;(<i>d</i>&ndash;1)/2&rfloor; = 1 Fehler korrigieren kann, gilt:
+
::<math>{\rm Pr}\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big ]  \hspace{-0.1cm} =  \hspace{-0.1cm}    \sum_{i=t+1  }^{d} {d \choose i} \cdot \varepsilon^{i} \cdot (1 - \varepsilon)^{d-i} = {3 \choose 2} \cdot \varepsilon^{2} \cdot (1 - \varepsilon) +
 +
{3 \choose 3} \cdot \varepsilon^{3} =3 \cdot \varepsilon^2 \cdot (1 - \varepsilon) + \varepsilon^3  = {\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}\big]\hspace{0.05cm}.</math>
  
:<math>{\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}]  \hspace{-0.1cm} =  \hspace{-0.1cm}    \sum_{i=t+1  }^{d} {d \choose i} \cdot \varepsilon^{i} \cdot (1 - \varepsilon)^{d-i} = {3 \choose 2} \cdot \varepsilon^{2} \cdot (1 - \varepsilon) +
+
Hierbei ist berücksichtigt,&nbsp; dass sich&nbsp; $\underline{x}_0 = (0, 0, 0, 0, 0)$&nbsp; und&nbsp; $\underline{x}_2 = (1, 0, 1, 1, 0)$&nbsp; ebenfalls in drei Bitpositionen unterscheiden.
{3 \choose 3} \cdot \varepsilon^{3} =</math>
 
:<math>\hspace{2.5cm} =  \hspace{-0.1cm}  3 \cdot \varepsilon^2 \cdot (1 - \varepsilon) + \varepsilon^3  = {\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}]\hspace{0.05cm}.</math>
 
  
Die Codeworte <i><u>x</u></i><sub>0</sub> und <i><u>x</u></i><sub>3</sub> unterscheiden sich in vier Bitpositionen. Zu einer falschen Decodierung des Blocks kommt es deshalb mit Sicherheit, wenn vier oder drei Bit verfälscht werden. Eine Verfälschung von zwei Bit hat mit 50&ndash;prozentiger Wahrscheinlichkeit ebenfalls einen Blockfehler zur Folge, wenn man hierfür eine Zufallsentscheidung voraussetzt:
+
Die Codeworte&nbsp; $\underline{x}_0 = (0, 0, 0, 0, 0)$&nbsp; und&nbsp; $\underline{x}_3 = (1, 1, 1, 0, 1)$&nbsp; unterscheiden sich dagegen in vier Bitpositionen:
 +
*Zu einer falschen Decodierung des Blocks kommt es deshalb mit Sicherheit,&nbsp; wenn vier oder drei Bit verfälscht werden.  
  
:<math>{\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}3}]  = \varepsilon^4 + 4 \cdot \varepsilon^3 \cdot (1 - \varepsilon)    +  {1}/{2} \cdot 6 \cdot \varepsilon^2 \cdot (1 - \varepsilon)^2 \hspace{0.05cm}.</math>
+
*Eine Verfälschung von zwei Bit hat mit &nbsp;$50$&ndash;prozentiger Wahrscheinlichkeit ebenfalls einen Blockfehler zur Folge,&nbsp; wenn man hierfür eine Zufallsentscheidung voraussetzt.
  
Daraus ergibt sich für die &bdquo;Union Bound&rdquo;:
+
::<math>{\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}3}\big]  = \varepsilon^4 + 4 \cdot \varepsilon^3 \cdot (1 - \varepsilon)    +  {1}/{2} \cdot 6 \cdot \varepsilon^2 \cdot (1 - \varepsilon)^2 \hspace{0.05cm}.</math>
  
:<math>{\rm Pr(Union \hspace{0.15cm}Bound)} = {\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm}\underline{x}_{\hspace{0.02cm}1}] +{\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm} \underline{x}_{\hspace{0.02cm}2}] +{\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm} \underline{x}_{\hspace{0.02cm}3}] \ge {\rm Pr(Blockfehler)}
+
Daraus ergibt sich für die&nbsp; "Union Bound":
 +
 
 +
::<math>{\rm Pr(Union \hspace{0.15cm}Bound)} = {\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm}\underline{x}_{\hspace{0.02cm}1}\big] +{\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm} \underline{x}_{\hspace{0.02cm}2}] +{\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm} \underline{x}_{\hspace{0.02cm}3}\big] \ge {\rm Pr(Blockfehler)}
 
.</math>
 
.</math>
  
In der Tabelle sind die Ergebnisse für verschiedene Werte des BSC&ndash;Parameters <i>&epsilon;</i> zusammengefasst:<br>
+
{{GraueBox|TEXT= 
 +
$\text{Beispiel 3:}$&nbsp;  In der Tabelle sind die Ergebnisse für verschiedene Werte des BSC&ndash;Parameters&nbsp; $\varepsilon$&nbsp; zusammengefasst.<br>
 +
[[Datei:P ID2367 KC T 1 6 S3 neu.png|right|frame|Zahlenmäßige Union Bound für den&nbsp; $\text{(5, 2)}$–Code|class=fit]]
 +
<br><br>
 +
Die völlig unterschiedlich zu berechnenden Wahrscheinlichkeiten&nbsp;
 +
*${\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm}\underline{x}_{\hspace{0.02cm}1}\big]=3 \cdot \varepsilon^2 \cdot (1 - \varepsilon)  + \varepsilon^3  = {\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}\big]\hspace{0.05cm},$&nbsp;
 +
 +
*${\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm}\underline{x}_{\hspace{0.02cm}3}\big]= \varepsilon^4 + 4 \cdot \varepsilon^3 \cdot (1 - \varepsilon)    +  {1}/{2} \cdot 6 \cdot \varepsilon^2 \cdot (1 - \varepsilon)^2 $&nbsp;
  
[[Datei:P ID2367 KC T 1 6 S3 neu.png|center|frame|Zahlenmäßige Union Bound für den (5, 2)–Code|class=fit]]
 
  
Zu erwähnen ist, dass die völlig unterschiedlich zu berechnenden Wahrscheinlichkeiten Pr(<i><u>x</u></i><sub>0</sub> &#8594; <i><u>x</u></i><sub>1</sub>) und Pr(<i><u>x</u></i><sub>0</sub>&nbsp;&#8594;&nbsp;<i><u>x</u></i><sub>3</sub>) genau das gleiche Ergebnis liefern.<br>
+
liefern also exakt das gleiche numerische Ergebnis.}}<br>
  
== Die obere Schranke nach Bhattacharyya (1) ==
+
== Die obere Schranke nach Bhattacharyya ==
 
<br>
 
<br>
Eine weitere obere Schranke für die Blockfehlerwahrscheinlichkeit wurde von Bhattacharyya angegeben:
+
Eine weitere obere Schranke für die Blockfehlerwahrscheinlichkeit wurde von&nbsp; [https://en.wikipedia.org/wiki/Anil_Kumar_Bhattacharya "Anil Kumar Bhattacharyya"]&nbsp; angegeben:
  
:<math>{\rm Pr(Blockfehler)} \le W(X = \beta) -1 = {\rm Pr(Bhattacharyya)}
+
::<math>{\rm Pr(Blockfehler)} \le W(X = \beta) -1 = {\rm Pr(Bhattacharyya)}
 
  \hspace{0.05cm}.</math>
 
  \hspace{0.05cm}.</math>
  
 
Hierzu ist anzumerken:
 
Hierzu ist anzumerken:
*<i>W</i>(<i>X</i>) ist die zu Beginn dieses Kapitels 1.6 definierte [http://www.lntwww.de/Kanalcodierung/Schranken_f%C3%BCr_die_Blockfehlerwahrscheinlichkeit#Distanzspektrum_eines_linearen_Codes_.282.29 Gewichtsfunktion,] die den verwendeten Kanalcode charakterisiert.<br>
+
*$W(X)$&nbsp; ist die oben definierte&nbsp; [[Kanalcodierung/Schranken_f%C3%BCr_die_Blockfehlerwahrscheinlichkeit#Distanzspektrum_eines_linearen_Codes|"Gewichtsfunktion"]],&nbsp;  die den verwendeten Kanalcode charakterisiert.<br>
  
*Der <i>Bhattacharyya&ndash;Parameter &beta;</i> kennzeichnet den digitalen Kanal. Beispielsweise gilt:
+
*Der&nbsp; Bhattacharyya&ndash;Parameter&nbsp; $\beta$&nbsp; kennzeichnet den digitalen Kanal.&nbsp; Beispielsweise gilt:
  
::<math>\beta = \left\{ \begin{array}{c} \lambda \\ \sqrt{4 \cdot \varepsilon \cdot (1- \varepsilon)}\\  
+
::<math>\beta = \left\{ \begin{array}{c} \lambda \\ \sqrt{4 \cdot \varepsilon \cdot (1- \varepsilon)}\\  
  {\rm exp}[- R \cdot E_{\rm B}/N_0]   \end{array} \right.\quad
+
  {\rm e}^{- R \hspace{0.05cm}\cdot \hspace{0.05cm}E_{\rm B}/N_0}   \end{array} \right.\quad
\begin{array}{*{1}c} {\rm f\ddot{u}r\hspace{0.15cm} das \hspace{0.15cm}BEC-Modell},\\
+
\begin{array}{*{1}c} {\rm f\ddot{u}r\hspace{0.15cm} das \hspace{0.15cm}BEC-Modell},\\  
   {\rm f\ddot{u}r\hspace{0.15cm} das \hspace{0.15cm}BSC-Modell}, \\ {\rm f\ddot{u}r\hspace{0.15cm} das \hspace{0.15cm}AWGN-Modell}. \end{array}</math>
+
   {\rm f\ddot{u}r\hspace{0.15cm} das \hspace{0.15cm}BSC-Modell}, \\   {\rm f\ddot{u}r\hspace{0.15cm} das \hspace{0.15cm}AWGN-Modell}. \end{array}</math>
  
*Die Bhattacharyya&ndash;Schranke liegt stets (und meist deutlich) oberhalb der Kurve für die &bdquo;Union Bound&rdquo;. Mit dem Ziel, eine für alle Kanäle einheitliche Schranke zu finden, müssen hier sehr viel gröbere Abschätzungen vorgenommen werden als für die Herleitung der Union Bound.<br><br>
+
*Die&nbsp; "Bhattacharyya&ndash;Schranke"&nbsp; liegt stets&nbsp; (und meist deutlich)&nbsp; oberhalb der Kurve für die&nbsp; "Union Bound".&nbsp; Mit dem Ziel,&nbsp; eine für alle Kanäle einheitliche Schranke zu finden,&nbsp; müssen hier sehr viel gröbere Abschätzungen vorgenommen werden als für die&nbsp; "Union Bound".<br><br>
  
<span style="font-weight: bold;"><b>Bhattacharyya&ndash;Schranke für das BSC&ndash;Modell</b></span><br>
+
Wir beschränken uns hier auf die&nbsp; <b>Bhattacharyya&ndash;Schranke für das BSC&ndash;Modell</b>.
 +
*Für dessen paarweise Verfälschungswahrscheinlichkeit wurde vorne hergeleitet:
  
Für die paarweise Verfälschungswahrscheinlichkeit des BSC&ndash;Modells wurde vorne hergeleitet:
+
::<math>{\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big]  =    \sum_{i= \left\lfloor (d-1)/2 \right\rfloor}^{d} {d \choose i} \cdot \varepsilon^{i} \cdot (1 - \varepsilon)^{d-i}  =    \sum_{i= \left\lceil d/2 \right\rceil }^{d} {d \choose i} \cdot \varepsilon^{i} \cdot (1 - \varepsilon)^{d-i}\hspace{0.05cm}.</math>
  
:<math>{\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}]  =    \sum_{i= \left\lfloor (d-1)/2 \right\rfloor}^{d} {d \choose i} \cdot \varepsilon^{i} \cdot (1 - \varepsilon)^{d-i} =    \sum_{i= \left\lceil d/2 \right\rceil }^{d} {d \choose i} \cdot \varepsilon^{i} \cdot (1 - \varepsilon)^{d-i}\hspace{0.05cm}.</math>
+
:Hierbei kennzeichnet &nbsp; $\varepsilon = {\rm Pr}(y = 1\hspace{0.04cm}|\hspace{0.04cm} x = 0) = {\rm Pr}(y = 0\hspace{0.04cm}|\hspace{0.04cm} x = 1)< 0.5$ &nbsp; das BSC-Kanalmodell und &nbsp; $d = d_{\rm H}(\underline{x}_0,\, \underline{x}_1)$ &nbsp; gibt die Hamming&ndash;Distanz der Codeworte an.<br>
  
Hierbei kennzeichnet <i>&epsilon;</i> = Pr(<i>y</i> = 1| <i>x</i> = 0) = Pr(<i>y</i> = 0| <i>x</i> = 1) < 0.5 das BSC&ndash;Modell und <i>d</i>&nbsp;=&nbsp;<i>d</i><sub>H</sub>(<i><u>x</u></i><sub>0</sub>,&nbsp;<i><u>x</u></i><sub>1</sub>) gibt die Hamming&ndash;Distanz der betrachteten Codeworte an.<br>
+
*Um zur Bhattacharyya&ndash;Schranke zu kommen,&nbsp; müssen folgende Abschätzungen getroffen werden:&nbsp; Für alle&nbsp; $i < d$&nbsp; gilt&nbsp; $\varepsilon^{i} \cdot  (1 - \varepsilon)^{d-i} \le  (1 - \varepsilon)^{d/2}$:
  
Um zur Bhattacharyya&ndash;Schranke zu kommen, müssen folgende Abschätzungen getroffen werden:
+
::<math>{\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big]  \le  \big[\varepsilon \cdot (1 - \varepsilon)\big]^{d/2} \cdot \sum_{i= \left\lceil d/2 \right\rceil }^{d} {d \choose i}  \hspace{0.05cm}.</math>
*Für alle <i>i</i> < <i>d</i> gilt <i>&epsilon;<sup>i</sup></i> &middot; (1 &ndash; <i>&epsilon;</i>)<sup><i>d</i> &ndash; <i>i</i></sup> &#8804; [<i>&epsilon;</i> &middot; (1 &ndash; <i>&epsilon;</i>)]<sup><i>d</i>/2</sup>:
 
  
::<math>{\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}]  \le  [\varepsilon \cdot (1 - \varepsilon)]^{d/2} \cdot \sum_{i= \left\lceil d/2 \right\rceil }^{d} {d \choose i}  \hspace{0.05cm}.</math>
+
*Änderung bezüglich der unteren Grenze der Laufvariablen&nbsp; $i$:
 
 
*Änderung bezüglich der unteren Grenze der Laufvariablen <i>i</i>:
 
  
 
::<math>\sum_{i= \left\lceil d/2 \right\rceil }^{d} {d \choose i} \hspace{0.15cm} < \hspace{0.15cm} \sum_{i= 0 }^{d} {d \choose i}  = 2^d\hspace{0.05cm},
 
::<math>\sum_{i= \left\lceil d/2 \right\rceil }^{d} {d \choose i} \hspace{0.15cm} < \hspace{0.15cm} \sum_{i= 0 }^{d} {d \choose i}  = 2^d\hspace{0.05cm},
 
\hspace{0.2cm}\beta = 2 \cdot  \sqrt{\varepsilon \cdot (1 - \varepsilon)}  
 
\hspace{0.2cm}\beta = 2 \cdot  \sqrt{\varepsilon \cdot (1 - \varepsilon)}  
\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}] = \beta^{d}
+
\hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big] = \beta^{d}
 
\hspace{0.05cm}.</math>
 
\hspace{0.05cm}.</math>
  
*Umsortierung gemäß den Hamming&ndash;Gewichten <i>W<sub>i</sub></i> (Hamming&ndash;Distanz <i>d</i> = <i>i</i> kommt <i>W<sub>i</sub></i> mal vor):
+
*Umsortierung gemäß den Hamming&ndash;Gewichten&nbsp; $W_i$&nbsp; $($Hamming&ndash;Distanz&nbsp; $d = i$&nbsp; kommt&nbsp; $W_i$&nbsp; mal vor$)$:
  
::<math>{\rm Pr(Blockfehler)} \hspace{0.1cm} \le \hspace{0.1cm} \sum_{i= 1 }^{n} W_i \cdot \beta^{i} = 1 +  W_1 \cdot \beta + W_2 \cdot \beta^2 + ... \hspace{0.05cm}+ W_n \cdot \beta^n
+
::<math>{\rm Pr(Blockfehler)} \hspace{0.1cm} \le \hspace{0.1cm} \sum_{i= 1 }^{n} W_i \cdot \beta^{i} = 1 +  W_1 \cdot \beta + W_2 \cdot \beta^2 + \hspace{0.05cm}\text{ ...} \hspace{0.05cm}+ W_n \cdot \beta^n
 
  \hspace{0.05cm}.</math>
 
  \hspace{0.05cm}.</math>
  
*Mit der Gewichtsfunktion <i>W</i>(<i>X</i>) = 1 + <i>W</i><sub>1</sub> &middot; <i>X</i> + <i>W</i><sub>2</sub> &middot; <i>X</i><sup> 2</sup> + ... + <i>W</i><sub><i>n</i></sub> &middot; <i>X</i><sup><i> n</i></sup>:
+
*Mit der Gewichtsfunktion&nbsp; $W(X)= 1 + W_1 \cdot  X + W_2 \cdot  X^2 + \text{...} + W_n \cdot  X^n$:
  
 
::<math>{\rm Pr(Blockfehler)} \le W(X = \beta) -1= {\rm Pr(Bhattacharyya)}  
 
::<math>{\rm Pr(Blockfehler)} \le W(X = \beta) -1= {\rm Pr(Bhattacharyya)}  
 
  \hspace{0.05cm}.</math>
 
  \hspace{0.05cm}.</math>
  
== Die obere Schranke nach Bhattacharyya (2) ==
 
<br>
 
In der Tabelle ist die Bhattacharyya&ndash;Schranke für verschiedene BSC&ndash;Parameter <i>&epsilon;</i> abgegeben, gültig für den [http://www.lntwww.de/Kanalcodierung/Schranken_f%C3%BCr_die_Blockfehlerwahrscheinlichkeit#Distanzspektrum_eines_linearen_Codes_.281.29 beispielhaften (5, 2)&ndash;Code.] Für diesen gilt:
 
  
:<math>W_0 = 1 \hspace{0.05cm},\hspace{0.2cm} W_1 = W_2 = 0 \hspace{0.05cm},\hspace{0.2cm}W_3 = 2 \hspace{0.05cm},\hspace{0.2cm}
+
{{GraueBox|TEXT=
W_4 = 1 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} W(X) = 1 +  2 \cdot X^3 +  X^4</math>
+
$\text{Beispiel 4:}$&nbsp;  In der Tabelle sind die Ergebnisse für verschiedene Werte des BSC&ndash;Parameters&nbsp; $\varepsilon$&nbsp; zusammengefasst, gültig für den&nbsp; [[Kanalcodierung/Schranken_f%C3%BCr_die_Blockfehlerwahrscheinlichkeit#Distanzspektrum_eines_linearen_Codes|beispielhaften $\text{(5, 2)}$&ndash;Code]].
 +
[[Datei:P ID2370 KC T 1 6 S4.png|right|frame|Vergleich zwischen &bdquo;Union Bound&rdquo; und &bdquo;Bhattacharyya–Schranke&rdquo;, gültig für das BSC–Modell|class=fit]]
 +
 +
*Für diesen gilt:
 +
:$$W_0 = 1, \ \ W_1 = W_2 = 0\ \ W_3 = 2\ \ W_4 = 1$$
 +
:$$\Rightarrow\hspace{0.3cm} W(X) = 1 +  2 \cdot X^3 +  X^4.$$
  
:<math>\Rightarrow \hspace{0.3cm} {\rm Pr(Blockfehler)} \le W(\beta) -1 = 2 \cdot \beta^3 + \beta^4
+
*Damit kann die Bhattacharyya&ndash;Schranke berechnet werden:
= {\rm Pr(Bhattacharyya)}
+
::<math> {\rm Pr(Bhattacharyya)} = W(\beta) -1 = 2 \cdot \beta^3 + \beta^4\hspace{0.05cm}.</math>
\hspace{0.05cm}.</math>
 
  
[[Datei:P ID2370 KC T 1 6 S4.png|center|frame|Vergleich von Union Bound und Bhattacharyya–Schranke beim BSC–Modell|class=fit]]
+
*Diese stellt eine&nbsp; (oft nur grobe)&nbsp; Schranke für die Blockfehlerwahrscheinlichkeit dar:
 +
::<math> {\rm Pr(Blockfehler)} 
 +
\le {\rm Pr(Bhattacharyya)}
 +
\hspace{0.05cm}.</math>}}
  
Basierend auf diesem Beispiel für den einfachen (5, 2)&ndash;Code, der allerdings wenig praxisrelevant ist, sowie dem Beispiel auf der nächsten Seite für den (7,&nbsp;4,&nbsp;3)&ndash;Hamming&ndash;Code kann man zusammenfassen:
 
*Die Blockfehlerwahrscheinlichkeit eines Codiersystems ist oft analytisch nicht angebbar und muss per Simulation ermittelt werden. Gleiches gilt für die Bitfehlerwahrscheinlichkeit.<br>
 
  
*Die <i>Union Bound</i> liefert eine obere Schranke für die Blockfehlerwahrscheinlichkeit. Bei vielen Anwendungen (insbesondere bei kurzen Codes) liegt sie nur geringfügig über dieser.<br>
+
{{BlaueBox|TEXT= 
 
+
$\text{Fazit:}$&nbsp;  Basierend auf &nbsp; [[Kanalcodierung/Schranken_für_die_Blockfehlerwahrscheinlichkeit#Union_Bound_f.C3.BCr_das_BSC.E2.80.93Modell|$\text{Beispiel 3}$]] &nbsp; und &nbsp; $\text{Beispiel 4}$ &nbsp; (auf dieser Seite) für den einfachen&nbsp; $\text{(5, 2)}$&ndash;Blockcode,&nbsp; der allerdings wenig praxisrelevant ist,&nbsp; sowie im Vorgriff auf das &nbsp; $\text{Beispiel 5}$ &nbsp; (auf der nächsten  Seite) für den&nbsp; $\text{(7,&nbsp;4,&nbsp;3)}$&ndash;Hamming&ndash;Code fassen wir zusammen:
*Die Bhattacharyya&ndash;Schranke liegt beim BEC&ndash;Kanal etwa um den Faktor 2 oberhalb der <i>Union Bound</i> &ndash; siehe Aufgabe A1.14. Beim BSC&ndash; und beim AWGN&ndash;Kanal ist der Abstand zwischen beiden Schranken deutlich größer. Der Faktor 10 (oder mehr) ist keine Seltenheit.<br>
+
#Die Blockfehlerwahrscheinlichkeit eines Codiersystems ist oft analytisch nicht angebbar und muss per Simulation ermittelt werden.&nbsp; Gleiches gilt für die Bitfehlerwahrscheinlichkeit.<br>
 
+
#Die&nbsp; '''Union Bound'''&nbsp; liefert eine obere Schranke für die Blockfehlerwahrscheinlichkeit.&nbsp; Bei vielen Anwendungen&nbsp; (insbesondere bei kurzen Codes)&nbsp; liegt die Union Bound nur geringfügig über der tatsächlichen Fehlerwahrscheinlichkeit.<br>
*Die Bhattacharyya&ndash;Schranke <i>W</i>(<i>&beta;</i>) &ndash; 1 wirkt auf den ersten Blick sehr einfach. Es sind einige Vereinfachungsschritte erforderlich, um  auf diese Form zu kommen. Trotzdem benötigt man auch hier Kenntnis über die genaue  Gewichtsfunktion <i>W</i>(<i>&xi;</i>) des Codes.<br>
+
#Die &nbsp;'''Bhattacharyya&ndash;Schranke'''&nbsp; liegt beim BEC&ndash;Kanal etwa um den Faktor&nbsp; $2$&nbsp; oberhalb der&nbsp; Union Bound&nbsp; &ndash; siehe&nbsp; [[Aufgaben:Aufgabe_1.14:_Bhattacharyya–Schranke_für_BEC|"Aufgabe 1.14"]].&nbsp; Beim BSC&ndash; und beim AWGN&ndash;Kanal ist der Abstand deutlich größer.&nbsp; Der Faktor&nbsp; $10$&nbsp; (und mehr)&nbsp; ist keine Seltenheit.<br>
 
+
#Die Bhattacharyya&ndash;Schranke&nbsp; $W(\beta) - 1$&nbsp; wirkt auf den ersten Blick sehr einfach.&nbsp; Trotzdem benötigt man auch hier Kenntnis über die genaue  Gewichtsfunktion&nbsp; $W(\xi)$&nbsp; des Codes.<br>
*Bei Kenntnis des Übertragungskanals (BEC, BSC, AWGN oder Abwandlungen hiervon) und dessen Parameter spricht vom Aufwand her nichts dagegen, die <i>Union Bound</i> als obere Schranke für die Blockfehlerwahrscheinlichkeit zu verwenden.<br>
+
#Bei Kenntnis des vorliegenden Übertragungskanals&nbsp; (BEC, BSC, AWGN oder Abwandlungen hiervon)&nbsp; und dessen Parameter spricht somit vom Aufwand her nichts dagegen,&nbsp; gleich die&nbsp; (genauere)&nbsp; "Union Bound"&nbsp; als obere Schranke für die Blockfehlerwahrscheinlichkeit zu verwenden.}}<br>
  
 
== Schranken für den (7, 4, 3)–Hamming–Code beim AWGN–Kanal ==
 
== Schranken für den (7, 4, 3)–Hamming–Code beim AWGN–Kanal ==
 
<br>
 
<br>
Abschließend betrachten wir die Blockfehlerwahrscheinlichkeit und deren Schranken (<i>Union Bound</i> und <i>Bhattacharyya&ndash;Schranke</i>) für die folgende Konfiguration:
+
Abschließend betrachten wir die Blockfehlerwahrscheinlichkeit und deren Schranken&nbsp; $($"Union Bound"&nbsp; und&nbsp; "Bhattacharyya&ndash;Schranke"$)$&nbsp; für die folgende Konfiguration:
*AWGN&ndash;Kanal, gekennzeichnet durch den Quotienten <i>E</i><sub>B</sub>/<i>N</i><sub>0</sub>,<br>
+
#AWGN&ndash;Kanal,&nbsp; gekennzeichnet durch den Quotienten&nbsp; $E_{\rm B}/N_0$,<br>
 +
#Hamming&ndash;Code&nbsp; $\text{HC(7, 4, 3)}$ &nbsp;&nbsp;&#8658;&nbsp;&nbsp; $R = 4/7$, &nbsp; $W(X)-1 =  7 \cdot X^3 +  7 \cdot X^4 + X^7$,<br>
 +
#"Soft&ndash;Decision"&nbsp; nach dem Maximum&ndash;Likelihood&ndash;Kriterium.<br><br>
  
*Hamming&ndash;Code (7, 4) &nbsp;&nbsp;&#8658;&nbsp;&nbsp; <i>R</i> = 4/7, &nbsp;&nbsp;<i>W</i>(<i>X</i>) &ndash; 1 = 7 &middot; <i>X</i><sup>3</sup> +  7 &middot; <i>X</i><sup>4</sup> + <i>X</i><sup>7</sup>,<br>
+
{{GraueBox|TEXT= 
 +
$\text{Beispiel 5:}$&nbsp;  Die Ergebnisse sind in der Grafik zusammengefasst.
 +
[[Datei:P ID2369 KC T 1 6 S5 v3.png|right|frame|Blockfehlerwahrscheinlichkeit und Schranken des &nbsp; $\text{HC (7, 4, 3)}$|class=fit]]
 +
 +
*Im Gegensatz zur Grafik im Abschnitt&nbsp; [[Kanalcodierung/Decodierung_linearer_Blockcodes#Codiergewinn_.E2.80.93_Bitfehlerrate_bei_AWGN| "Codiergewinn &ndash; Bitfehlerrate bei AWGN"]]&nbsp; ist hier die Blockfehlerrate angegeben und nicht die Bitfehlerrate.
 +
 +
*Näherungsweise ist Letztere um den Faktor &nbsp; $d_{\rm min}/k$ &nbsp; kleiner,&nbsp; falls wie hier&nbsp; $d_{\rm min}< k$&nbsp; ist.&nbsp; Im vorliegenden Beispiel gilt&nbsp; $d_{\rm min}/k = 0.75$.<br>
  
*<i>Soft&ndash;Decision</i> nach dem ML&ndash;Kriterium.<br><br>
+
*Berechnet wurden nur die Punkte für ganzzahlige&nbsp; $\rm dB$&ndash;Werte.&nbsp; Die gestrichelten Linien wurden interpoliert.
  
Die Ergebnisse sind in der folgenden Grafik zusammengefasst. Im Gegensatz zur Grafik im [http://www.lntwww.de/Kanalcodierung/Decodierung_linearer_Blockcodes#Codiergewinn_.E2.80.93_Bitfehlerrate_bei_AWGN Kapitel 1.5] ist hier die Blockfehlerrate angegeben und nicht die Bitfehlerrate. Näherungsweise ist Letztere um den Faktor <i>d</i><sub>min</sub>/<i>k</i> kleiner, falls wie hier <i>d</i><sub>min</sub> < <i>k</i> ist. Im vorliegenden Beispiel gilt <i>d</i><sub>min</sub>/<i>k</i> = 0.75.<br>
+
*Die rechts  angegebenen Zahlenwerte&nbsp; (mit blauer Schrift)&nbsp; gelten für &nbsp; $10 \cdot \lg \, E_{\rm B}/N_0 = 8 \, \rm dB$ &nbsp;&nbsp;&#8658;&nbsp;&nbsp; $E_{\rm B}/N_0  \approx 6.31$ (blaue Vertikale).
  
[[Datei:P ID2369 KC T 1 6 S5 v3.png|Blockfehlerwahrscheinlichkeit und Schranken des HC (7, 4, 3)|class=fit]]<br>
 
  
Die folgenden Zahlenwerte gelten für 10&nbsp;&middot;&nbsp;lg&nbsp;<i>E</i><sub>B</sub>/<i>N</i><sub>0</sub>&nbsp;=&nbsp;8&nbsp;dB &nbsp;&nbsp;&#8658;&nbsp;&nbsp; <i>E</i><sub>B</sub>/<i>N</i><sub>0</sub>&nbsp;=&nbsp;6.31 (blaue Markierungen):
+
Die grünen Kreuze markieren die&nbsp; "Union Bound".&nbsp; Nach dieser gilt:
*Die grünen Kreuze markieren die <i>Union Bound</i>. Nach dieser gilt:
 
  
::<math>{\rm Pr(Blockfehler)} \hspace{-0.15cm}  \le  \hspace{-0.15cm} \sum_{i= d_{\rm min} }^{n} W_i \cdot {\rm Q} \left ( \sqrt{i \cdot {2R \cdot E_{\rm B}}/{N_0}} \right ) =</math>
+
::<math>{\rm Pr(Blockfehler)}   \le  \sum_{i= d_{\rm min} }^{n} W_i \cdot {\rm Q} \left ( \sqrt{i \cdot {2R \cdot E_{\rm B} }/{N_0} } \right ) </math>
::<math>\hspace{3cm} \hspace{-0.15cm}
+
::<math>\Rightarrow \hspace{0.3cm}{\rm Pr(Blockfehler)} \approx 
 
7 \cdot {\rm Q} (4.65) + 7 \cdot {\rm Q} (5.37) + {\rm Q} (7.10) = </math>
 
7 \cdot {\rm Q} (4.65) + 7 \cdot {\rm Q} (5.37) + {\rm Q} (7.10) = </math>
::<math>\hspace{3cm} \approx  \hspace{-0.15cm}
+
::<math>\hspace{2.0cm} \approx   
 
7 \cdot 1.66 \cdot 10^{-6} + 7 \cdot 3.93 \cdot 10^{-8}+ 10^{-9} = 1.2 \cdot 10^{-5}
 
7 \cdot 1.66 \cdot 10^{-6} + 7 \cdot 3.93 \cdot 10^{-8}+ 10^{-9} = 1.2 \cdot 10^{-5}
 
  \hspace{0.05cm}.</math>
 
  \hspace{0.05cm}.</math>
 
+
*Die Zahlenwerte machen deutlich, dass die&nbsp; "Union Bound"&nbsp; im wesentlichen durch den ersten Term bestimmt wird:
 
+
::<math>{\rm Pr(Union\hspace{0.15cm} Bound)} \approx W_{d_{\rm min} } \cdot {\rm Q} \left ( \sqrt{d_{\rm min} \cdot {2R \cdot E_{\rm B} }/{N_0} } \right ) = 1.16 \cdot 10^{-5}
*Die Zahlenwerte machen deutlich, dass die Union Bound durch den ersten Term bestimmt wird:
 
 
 
::<math>{\rm Pr(Union\hspace{0.15cm} Bound)} \approx W_{d_{\rm min}} \cdot {\rm Q} \left ( \sqrt{d_{\rm min} \cdot {2R \cdot E_{\rm B}}/{N_0}} \right ) = 1.16 \cdot 10^{-5}
 
 
  \hspace{0.05cm}.</math>
 
  \hspace{0.05cm}.</math>
 +
*Allerdings ist diese so genannte&nbsp;  "Truncated Union Bound" &nbsp;nicht mehr bei allen Anwendungen eine echte Schranke für die Blockfehlerwahrscheinlichkeit,&nbsp; sondern diese ist als Näherung  zu verstehen.<br>
  
:Allerdings ist diese sog. <i>Truncated Union Bound</i> nicht mehr bei allen Anwendungen eine echte Schranke für die Blockfehlerwahrscheinlichkeit, sondern ist eher als Näherung  zu verstehen.<br>
+
*Die Bhattacharyya&ndash;Schranke ist in der Grafik durch rote Punkte markiert.&nbsp; Diese liegt aufgrund der stark vereinfachten&nbsp; [https://en.wikipedia.org/wiki/Chernoff_bound Chernoff&ndash;Rubin Bound]&nbsp; ${\rm Q}(x) \le  {\rm e}^{-x^2/2}$&nbsp; deutlich über der&nbsp; "Union Bound".
 
+
*Die <i>Bhattacharyya&ndash;Schranke</i> ist in der Grafik durch rote Punkte markiert. Diese Schranke liegt aufgrund der stark vereinfachten Chernoff&ndash;Rubin Bound Q(<i>x</i>) &#8804; exp(&ndash; <i>x</i><sup>2</sup>/2) deutlich über der Union Bound. Für 10 &middot; lg <i>E</i><sub>B</sub>/<i>N</i><sub>0</sub> = 8 dB erhält man mit <i>&beta;</i> = exp[&ndash;<i>R</i>  &middot; <i>E</i><sub>B</sub>/<i>N</i><sub>0</sub>] &asymp; 0.027:
+
*Zum Beispiel erhält man für &nbsp; $10 \cdot \lg \, E_{\rm B}/N_0 = 8 \, \rm dB$ &nbsp; mit &nbsp; $\beta = {\rm e}^{-R \hspace{0.05cm}\cdot \hspace{0.05cm}E_{\rm B}/N_0} \approx 0.027$ &nbsp; gegenüber der Union Bound einen mehr als zehnfachen Wert:
  
 
::<math>{\rm Pr(Bhattacharyya)} = W(\beta) -1 = 7 \cdot \beta^3 + 7 \cdot \beta^4 + \beta^7 \approx 1.44 \cdot 10^{-4}
 
::<math>{\rm Pr(Bhattacharyya)} = W(\beta) -1 = 7 \cdot \beta^3 + 7 \cdot \beta^4 + \beta^7 \approx 1.44 \cdot 10^{-4}
  \hspace{0.05cm}.</math>
+
  \hspace{0.05cm}.</math>}}
  
 
== Aufgaben zum Kapitel ==
 
== Aufgaben zum Kapitel ==
 
<br>
 
<br>
[[Aufgaben:1.14 Bhattacharyya–Schranke für BEC|A1.14 Bhattacharyya–Schranke für BEC]]
+
[[Aufgaben:Aufgabe_1.14:_Bhattacharyya–Schranke_für_BEC|Aufgabe 1.14: Bhattacharyya–Schranke für BEC]]
  
[[Aufgaben:1.15 Distanzspektren|A1.15 Distanzspektren]]
+
[[Aufgaben:Aufgabe_1.15:_Distanzspektren_von_HC_(7,_4,_3)_und_HC_(8,_4,_4)|Aufgabe 1.15Distanzspektren von HC (7, 4, 3) und HC (8, 4, 4)]]
  
[[Aufgaben:1.16 Schranken für AWGN|A1.16 Schranken für AWGN]]
+
[[Aufgaben:Aufgabe_1.16:_Fehlerwahrscheinlichkeitsschranken_für_AWGN|Aufgabe 1.16:  Fehlerwahrscheinlichkeitsschranken für AWGN]]
  
[[Zusatzaufgaben:1.16 Schranken für Q(x)]]
+
[[Aufgaben:Aufgabe_1.16Z:_Schranken_für_die_Gaußsche_Fehlerfunktion|Aufgabe 1.16Z: Schranken für die Gaußsche Fehlerfunktion]]
  
 
{{Display}}
 
{{Display}}

Aktuelle Version vom 6. August 2022, 14:24 Uhr

Distanzspektrum eines linearen Codes


Wir gehen weiterhin von einem linearen und binären  $(n, \hspace{0.05cm} k)$–Blockcode  $\mathcal{C}$  aus.  Ein wesentliches Ziel des Codedesigns ist es,  die  "Blockfehlerwahrscheinlichkeit"  ${\rm Pr}(\underline{u} \ne \underline{v}) = {\rm Pr}(\underline{z} \ne \underline{x})$  möglichst gering zu halten.  Dies erreicht man unter anderem dadurch, dass

  • die minimale Distanz  $d_{\rm min}$  zwischen zwei Codeworten  $\underline{x}$  und  $\underline{x}\hspace{0.05cm}'$  möglichst groß ist,  so dass man bis zu  $t = ⌊(d_{\rm min}-1)/2⌋$  Bitfehler korrigieren kann;
  • gleichzeitig diese minimale  Distanz  $d_{\rm min}$   möglichst selten auftritt,  wenn man alle zulässigen Codeworte berücksichtigt.

$\text{Definition:}$  Wir benennen die  Anzahl  der Codeworte  $\underline{x}\hspace{0.05cm}' \in \mathcal{C}$  mit Hamming–Distanz  $i$  vom betrachteten Codewort  $\underline{x}$  des gleichen Codes  $\mathcal{C}$  mit  $W_i(\underline{x})$,  wobei gilt:

\[W_i(\underline{x}) = \big \vert \hspace{0.05cm} \left \{ \underline{x} \hspace{0.05cm}, \underline{x}{\hspace{0.05cm}' \in \hspace{0.05cm} \mathcal{C} } \hspace{0.1cm}\vert\hspace{0.1cm} d_{\rm H}(\underline{x} \hspace{0.05cm}, \hspace{0.1cm}\underline{x}\hspace{0.05cm}' ) = i \right \} \hspace{0.05cm} \big \vert\hspace{0.05cm}.\]
  • Die Betragsstriche kennzeichnen hierbei die Anzahl der Codeworte  $\underline{x}\hspace{0.05cm}'$,  die die Bedingung  $d_{\rm H}(\underline{x} \hspace{0.05cm}, \hspace{0.1cm}\underline{x}\hspace{0.05cm}' ) = i $  erfüllen.
  • Man bezeichnet diesen Wert auch als  Vielfachheit  (englisch:  "Multiplicity").


$\text{Beispiel 1:}$  Wir betrachten den  $(5, \, 2)$–Blockcode  $\mathcal{C}$  mit der Generatormatrix

Hamming–Distanzen zwischen allen Codeworten

\[{ \boldsymbol{\rm G} } = \begin{pmatrix} 1 &0 &1 &1 &0 \\ 0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.\]

Die Tabelle zeigt die Hamming–Distanzen

  • zwischen allen Codeworten  $\underline{x}_i$
  • zu den Bezugsworten  $\underline{x}_0$, ... , $\underline{x}_3$.


Man erkennt:   Unabhängig vom Bezugswort  $\underline{x}_i$  gilt:

\[W_0 = 1 \hspace{0.05cm}, \hspace{0.5cm}W_1 = W_2 = 0 \hspace{0.05cm},\hspace{0.5cm} W_3 = 2 \hspace{0.05cm},\hspace{0.5cm} W_4 = 1\]
\[ \Rightarrow\hspace{0.3cm} d_{\rm min} = 3\hspace{0.05cm}.\]


Nicht nur in diesem Beispiel,  sondern bei jedem linearen Code ergeben sich für jedes Codewort die gleichen Vielfachheiten  $W_i$.  Da zudem das Nullwort   $\underline{0} = (0, 0,\text{ ...} \hspace{0.05cm}, 0) $  Bestandteil eines jeden linearen Binärcodes ist,  lässt sich die obige Definition auch wie folgt formulieren:

$\text{Definition:}$  Das  Distanzspektrum  eines linearen binären  $(n, \hspace{0.03cm} k)$–Blockcodes ist die Menge  $\{W_i \}$  mit  $i = 0, 1,$ ... , $n$.

  • Hierbei gibt  $W_i$  die Anzahl der Codeworte  $\underline{x} \in \mathcal{C}$  mit Hamming–Gewicht  $w_{\rm H}(\underline{x}) = i$  an.
  • Oft beschreibt man die Menge  $\hspace{0.05cm}\{W_i \}\hspace{0.05cm}$  auch als Polynom mit einer Pseudovariablen  $X$:
\[\left \{ \hspace{0.05cm} W_i \hspace{0.05cm} \right \} \hspace{0.3cm} \Leftrightarrow \hspace{0.3cm} W(X) = \sum_{i=0 }^{n} W_i \cdot X^{i} = W_0 + W_1 \cdot X + W_2 \cdot X^{2} + ... \hspace{0.05cm} + W_n \cdot X^{n}\hspace{0.05cm}.\]
  • Man bezeichnet  $W(X)$  auch als  Gewichtsfunktion  $($englisch:   "Weight Enumerator Function",  $\rm WEF)$.


  • Beispielsweise lautet die Gewichtsfunktion des  $(5, \hspace{0.02cm} 2)$–Codes  $\mathcal{C} = \left \{ \hspace{0.05cm}(0, 0, 0, 0, 0) \hspace{0.05cm},\hspace{0.15cm} (0, 1, 0, 1, 1) \hspace{0.05cm},\hspace{0.15cm}(1, 0, 1, 1, 0) \hspace{0.05cm},\hspace{0.15cm}(1, 1, 1, 0, 1) \hspace{0.05cm} \right \}$  von  $\text{Beispiel 1}$:
\[W(X) = 1 + 2 \cdot X^{3} + X^{4}\hspace{0.05cm}.\]
  • Wie aus der  "Tabelle seiner Codeworte"  hervorgeht,  erhält man für den  $(7, \hspace{0.02cm}4, \hspace{0.02cm}3)$–Hamming–Code:
\[W(X) = 1 + 7 \cdot X^{3} + 7 \cdot X^{4} + X^{7}\hspace{0.05cm}.\]
  • Die Überführung des Distanzspektrums  $\hspace{0.01cm}\{W_i \}\hspace{0.01cm}$  in die Gewichtsfunktion  $W(X)$  bietet zudem bei manchen Aufgabenstellungen große numerische Vorteile.  Ist beispielsweise die  "Weight Enumerator Function"  $W(X)$  eines  $(n, \hspace{0.03cm} k)$–Blockcodes  $\mathcal{C}$  bekannt, so gilt für den hierzu  "dualen  $(n, \hspace{0.03cm} n-k)$–Code"  $\mathcal{C}_{\rm Dual}$:
\[W_{\rm Dual}(X) = \frac{(1+X)^n}{2^k} \cdot W \left ( \frac{1-X}{1+X} \right )\hspace{0.05cm}.\]

$\text{Beispiel 2:}$  Gesucht ist die Gewichtsfunktion  $W(X)$  des  "Single Parity–check Codes"  mit  $n = 6$,  $k = 5$   ⇒   $\text{SPC (6, 5)}$.  Man erhält diese durch Vergleich aller  $2^5 = 32$  Codeworte mit dem Nullwort:

\[W_{\rm SPC\hspace{0.03cm}(6,\hspace{0.08cm}5)}(X) = 1 + 15 \cdot X^{2} + 15 \cdot X^{4} + X^{6}\hspace{0.05cm}.\]

Unter Berücksichtigung obiger Gleichung kommt man sehr viel schneller zum gleichen Ergebnis:

  • Der zu  $\text{SPC (6, 5)}$  duale Code ist der  "Repetition Code"  $\text{RC (6, 1)}$  mit nur zwei Codeworten  $(0, 0, 0, 0, 0, 0)$  und  $(1, 1, 1, 1, 1, 1)$:
\[W_{\rm RC\hspace{0.03cm}(6,\hspace{0.08cm}1)}(X) = 1 + X^{6}\hspace{0.05cm}.\]
  • Daraus folgt für die Gewichtsfunktion des  $\text{SPC (6, 5)}$  nach obiger Gleichung mit  $k = 1$:
\[W_{\rm SPC\hspace{0.03cm}(6,\hspace{0.08cm}5)}(X) = \frac{(1+X)^6}{2^1} \cdot W \left [1 \hspace{-0.05cm}+\hspace{-0.05cm} \left ( \frac {1\hspace{-0.05cm}-\hspace{-0.05cm}X}{1\hspace{-0.05cm}+\hspace{-0.05cm}X}\right )^6 \right ] = 1/2 \cdot \big [( 1\hspace{-0.05cm}+\hspace{-0.05cm}X) ^6 \hspace{-0.05cm}+\hspace{-0.05cm} ( 1-X) ^6 \big ] = 1 \hspace{-0.05cm}+\hspace{-0.05cm} 15 \cdot X^{2} \hspace{-0.05cm}+\hspace{-0.05cm} 15 \cdot X^{4} \hspace{-0.05cm}+\hspace{-0.05cm} X^{6}\hspace{0.05cm}.\]


Union Bound der Blockfehlerwahrscheinlichkeit


Wir betrachten wie im  $\text{Beispiel 1}$  den  $(5, \hspace{0.02cm} 2)$–Blockcode  $\mathcal{C} = \{\underline{x}_0, \underline{x}_1, \underline{x}_2, \underline{x}_3 \}$   und setzen voraus,  dass das Codewort  $\underline{x}_0$  gesendet wurde. Die Grafik verdeutlicht den Sachverhalt.

Zur Herleitung der Union Bound
  • Im fehlerfreien Fall würde dann der Codewortschätzer  $\underline{z} = \underline{x}_0$  liefern.
  • Andernfalls käme es zu einem Blockfehler:  $($das heißt:   $\underline{z} \ne \underline{x}_0$  und dementsprechend  $\underline{v} \ne \underline{u}_0)$  mit der Wahrscheinlichkeit
$${\rm Pr(block\:error)} = {\rm Pr}\left (\big [\underline{x}_{\hspace{0.02cm}0} \hspace{-0.07cm}\mapsto \hspace{-0.07cm}\underline{x}_{\hspace{0.02cm}1}\big ] \hspace{-0.07cm}\cup\hspace{-0.07cm}\big [\underline{x}_{\hspace{0.02cm}0} \hspace{-0.07cm}\mapsto \hspace{-0.07cm} \underline{x}_{\hspace{0.02cm}2}\big ] \hspace{-0.07cm}\cup\hspace{-0.07cm}\big [\underline{x}_{\hspace{0.02cm}0} \hspace{-0.07cm}\mapsto \hspace{-0.07cm} \underline{x}_{\hspace{0.02cm}3}\big ] \right ).$$

⇒   Das Ereignis  „Verfälschung von  $\underline{x}_0$  nach  $\underline{x}_1$”  tritt für ein gegebenes Empfangswort  $\underline{y}$  entsprechend der  "blockweisen Maximum–Likelihood–Entscheidungsregel"  genau dann ein,  wenn für die bedingte Wahrscheinlichkeitsdichtefunktion gilt:

\[\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big ] \hspace{0.3cm} \Leftrightarrow \hspace{0.3cm} f(\underline{x}_{\hspace{0.02cm}0}\hspace{0.02cm} | \hspace{0.05cm}\underline{y}) < f(\underline{x}_{\hspace{0.02cm}1}\hspace{0.02cm} | \hspace{0.05cm}\underline{y}) \hspace{0.05cm}.\]


⇒   Da die Ereignisse   $\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big ] $,  $\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}\big ] $,  $\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}3}\big ]  $nicht notwendigerweise  "disjunkt"  sind,  die sich somit gegenseitig ausschließen würden,  ist die  "Wahrscheinlichkeit der Vereinigungsmenge"  kleiner oder gleich der Summe der Einzelwahrscheinlichkeiten:

\[{\rm Pr(Blockfehler)} \le {\rm Pr}\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big ] \hspace{0.05cm}+\hspace{0.05cm}{\rm Pr}\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}\big ] \hspace{0.05cm}+ \hspace{0.05cm}{\rm Pr}\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}3}\big ] \hspace{0.05cm}.\]

⇒   Man nennt diese obere Schranke für die Blockfehlerwahrscheinlichkeit die  Union Bound.  Diese wurde schon im Kapitel  "Approximation der Fehlerwahrscheinlichkeit"  des Buches  „Digitalsignalübertragung”  verwendet.

Wir verallgemeinern und formalisieren diese Ergebnisse unter der Voraussetzung,  dass sowohl  $\underline{x}$  als auch  $\underline{x}\hspace{0.05cm}'$  zum Code  $\mathcal{C}$  gehören.

$\text{Dann gelten folgende Berechnungsvorschriften:}$ 

  • $\rm Blockfehlerwahrscheinlichkeit$:
$${\rm Pr(Blockfehler)} = {\rm Pr} \left ( \bigcup_{\underline{x}\hspace{0.05cm}' \ne \underline{x} } \hspace{0.15cm}\big [\underline{x} \mapsto \underline{x}\hspace{0.05cm}'\big] \right )\hspace{0.05cm},$$
  • Obere Schranke entsprechend der  "$\text{Union Bound}$":
$${\rm Pr(Union \hspace{0.15cm}Bound)} \le \sum_{\underline{x}\hspace{0.05cm}' \ne \underline{x} } \hspace{0.15cm} {\rm Pr}\big[\underline{x} \mapsto \underline{x}\hspace{0.05cm}'\big] \hspace{0.05cm},$$
  • $\text{Paarweise Fehlerwahrscheinlichkeit}$  (nach dem Maximum–a–posteriori– bzw. Maximum–Likelihood–Kriterium):
$${\rm Pr}\hspace{0.02cm}\big[\underline{x} \mapsto \underline{x}\hspace{0.05cm}'\big] = {\rm Pr} \big [ p(\underline{x}\hspace{0.05cm}\vert \hspace{0.05cm}\underline{y}) \le p(\underline{x}\hspace{0.05cm}'\hspace{0.05cm} \vert \hspace{0.05cm}\underline{y}) \big ] \hspace{0.05cm}.$$


Auf den nächsten Seiten werden diese Ergebnisse auf verschiedene Kanäle angewendet.

Union Bound für das BSC–Modell


Wir betrachten weiterhin den beispielhaften  $(5, \hspace{0.02cm} 2)$–Code: 

BSC–Modell und Maximum-Likelihood–Detektion
$$\mathcal{C} = \left \{ \hspace{0.05cm}(0, 0, 0, 0, 0) \hspace{0.05cm},\hspace{0.15cm} (0, 1, 0, 1, 1) \hspace{0.05cm},\hspace{0.15cm}(1, 0, 1, 1, 0) \hspace{0.05cm},\hspace{0.15cm}(1, 1, 1, 0, 1) \hspace{0.05cm} .\right \}$$

Für den Kanal verwenden wir das  BSC–Modell  ("Binary Symmetric Channel"):

\[{\rm Pr}(y = 1 \hspace{0.05cm} | \hspace{0.05cm}x = 0 ) = {\rm Pr}(y = 0 \hspace{0.05cm} | \hspace{0.05cm}x = 1 ) = {\rm Pr}(e = 1) = \varepsilon \hspace{0.05cm},\]
\[{\rm Pr}(y = 0 \hspace{0.05cm} | \hspace{0.05cm}x = 0 ) = {\rm Pr}(y = 1 \hspace{0.05cm} | \hspace{0.05cm}x = 1 ) = {\rm Pr}(e = 0) = 1 -\varepsilon \hspace{0.05cm}.\]


Dann gilt (siehe Grafik):

  • Die Codeworte   $\underline{x}_0 = (0, 0, 0, 0, 0)$   und   $\underline{x}_1 = (0, 1, 0, 1, 1)$   unterscheiden sich in  $d = 3$  Bit,  wobei  $d$  die Hamming–Distanz  zwischen  $\underline{x}_0$  und  $\underline{x}_1$  angibt.
  • Ein falsches Decodierergebnis  $\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big] $  erhält man immer dann,  wenn mindestens zwei der drei Bit an den Bitpositionen 2, 4 und 5 verfälscht werden.
  • Die Bitpositionen 1 und 3 spielen hier dagegen keine Rolle,  da diese für  $\underline{x}_0$  und  $\underline{x}_1$  gleich sind.


Da der betrachtete Code  $t = ⌊(d-1)/2⌋ = 1$  Fehler korrigieren kann, gilt:

\[{\rm Pr}\big [\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big ] \hspace{-0.1cm} = \hspace{-0.1cm} \sum_{i=t+1 }^{d} {d \choose i} \cdot \varepsilon^{i} \cdot (1 - \varepsilon)^{d-i} = {3 \choose 2} \cdot \varepsilon^{2} \cdot (1 - \varepsilon) + {3 \choose 3} \cdot \varepsilon^{3} =3 \cdot \varepsilon^2 \cdot (1 - \varepsilon) + \varepsilon^3 = {\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}\big]\hspace{0.05cm}.\]

Hierbei ist berücksichtigt,  dass sich  $\underline{x}_0 = (0, 0, 0, 0, 0)$  und  $\underline{x}_2 = (1, 0, 1, 1, 0)$  ebenfalls in drei Bitpositionen unterscheiden.

Die Codeworte  $\underline{x}_0 = (0, 0, 0, 0, 0)$  und  $\underline{x}_3 = (1, 1, 1, 0, 1)$  unterscheiden sich dagegen in vier Bitpositionen:

  • Zu einer falschen Decodierung des Blocks kommt es deshalb mit Sicherheit,  wenn vier oder drei Bit verfälscht werden.
  • Eine Verfälschung von zwei Bit hat mit  $50$–prozentiger Wahrscheinlichkeit ebenfalls einen Blockfehler zur Folge,  wenn man hierfür eine Zufallsentscheidung voraussetzt.
\[{\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}3}\big] = \varepsilon^4 + 4 \cdot \varepsilon^3 \cdot (1 - \varepsilon) + {1}/{2} \cdot 6 \cdot \varepsilon^2 \cdot (1 - \varepsilon)^2 \hspace{0.05cm}.\]

Daraus ergibt sich für die  "Union Bound":

\[{\rm Pr(Union \hspace{0.15cm}Bound)} = {\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm}\underline{x}_{\hspace{0.02cm}1}\big] +{\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm} \underline{x}_{\hspace{0.02cm}2}] +{\rm Pr}[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm} \underline{x}_{\hspace{0.02cm}3}\big] \ge {\rm Pr(Blockfehler)} .\]

$\text{Beispiel 3:}$  In der Tabelle sind die Ergebnisse für verschiedene Werte des BSC–Parameters  $\varepsilon$  zusammengefasst.

Zahlenmäßige Union Bound für den  $\text{(5, 2)}$–Code



Die völlig unterschiedlich zu berechnenden Wahrscheinlichkeiten 

  • ${\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm}\underline{x}_{\hspace{0.02cm}1}\big]=3 \cdot \varepsilon^2 \cdot (1 - \varepsilon) + \varepsilon^3 = {\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}2}\big]\hspace{0.05cm},$ 
  • ${\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \hspace{-0.02cm}\mapsto \hspace{-0.02cm}\underline{x}_{\hspace{0.02cm}3}\big]= \varepsilon^4 + 4 \cdot \varepsilon^3 \cdot (1 - \varepsilon) + {1}/{2} \cdot 6 \cdot \varepsilon^2 \cdot (1 - \varepsilon)^2 $ 


liefern also exakt das gleiche numerische Ergebnis.


Die obere Schranke nach Bhattacharyya


Eine weitere obere Schranke für die Blockfehlerwahrscheinlichkeit wurde von  "Anil Kumar Bhattacharyya"  angegeben:

\[{\rm Pr(Blockfehler)} \le W(X = \beta) -1 = {\rm Pr(Bhattacharyya)} \hspace{0.05cm}.\]

Hierzu ist anzumerken:

  • $W(X)$  ist die oben definierte  "Gewichtsfunktion",  die den verwendeten Kanalcode charakterisiert.
  • Der  Bhattacharyya–Parameter  $\beta$  kennzeichnet den digitalen Kanal.  Beispielsweise gilt:
\[\beta = \left\{ \begin{array}{c} \lambda \\ \sqrt{4 \cdot \varepsilon \cdot (1- \varepsilon)}\\ {\rm e}^{- R \hspace{0.05cm}\cdot \hspace{0.05cm}E_{\rm B}/N_0} \end{array} \right.\quad \begin{array}{*{1}c} {\rm f\ddot{u}r\hspace{0.15cm} das \hspace{0.15cm}BEC-Modell},\\ {\rm f\ddot{u}r\hspace{0.15cm} das \hspace{0.15cm}BSC-Modell}, \\ {\rm f\ddot{u}r\hspace{0.15cm} das \hspace{0.15cm}AWGN-Modell}. \end{array}\]
  • Die  "Bhattacharyya–Schranke"  liegt stets  (und meist deutlich)  oberhalb der Kurve für die  "Union Bound".  Mit dem Ziel,  eine für alle Kanäle einheitliche Schranke zu finden,  müssen hier sehr viel gröbere Abschätzungen vorgenommen werden als für die  "Union Bound".

Wir beschränken uns hier auf die  Bhattacharyya–Schranke für das BSC–Modell.

  • Für dessen paarweise Verfälschungswahrscheinlichkeit wurde vorne hergeleitet:
\[{\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big] = \sum_{i= \left\lfloor (d-1)/2 \right\rfloor}^{d} {d \choose i} \cdot \varepsilon^{i} \cdot (1 - \varepsilon)^{d-i} = \sum_{i= \left\lceil d/2 \right\rceil }^{d} {d \choose i} \cdot \varepsilon^{i} \cdot (1 - \varepsilon)^{d-i}\hspace{0.05cm}.\]
Hierbei kennzeichnet   $\varepsilon = {\rm Pr}(y = 1\hspace{0.04cm}|\hspace{0.04cm} x = 0) = {\rm Pr}(y = 0\hspace{0.04cm}|\hspace{0.04cm} x = 1)< 0.5$   das BSC-Kanalmodell und   $d = d_{\rm H}(\underline{x}_0,\, \underline{x}_1)$   gibt die Hamming–Distanz der Codeworte an.
  • Um zur Bhattacharyya–Schranke zu kommen,  müssen folgende Abschätzungen getroffen werden:  Für alle  $i < d$  gilt  $\varepsilon^{i} \cdot (1 - \varepsilon)^{d-i} \le (1 - \varepsilon)^{d/2}$:
\[{\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big] \le \big[\varepsilon \cdot (1 - \varepsilon)\big]^{d/2} \cdot \sum_{i= \left\lceil d/2 \right\rceil }^{d} {d \choose i} \hspace{0.05cm}.\]
  • Änderung bezüglich der unteren Grenze der Laufvariablen  $i$:
\[\sum_{i= \left\lceil d/2 \right\rceil }^{d} {d \choose i} \hspace{0.15cm} < \hspace{0.15cm} \sum_{i= 0 }^{d} {d \choose i} = 2^d\hspace{0.05cm}, \hspace{0.2cm}\beta = 2 \cdot \sqrt{\varepsilon \cdot (1 - \varepsilon)} \hspace{0.3cm} \Rightarrow \hspace{0.3cm} {\rm Pr}\big[\underline{x}_{\hspace{0.02cm}0} \mapsto \underline{x}_{\hspace{0.02cm}1}\big] = \beta^{d} \hspace{0.05cm}.\]
  • Umsortierung gemäß den Hamming–Gewichten  $W_i$  $($Hamming–Distanz  $d = i$  kommt  $W_i$  mal vor$)$:
\[{\rm Pr(Blockfehler)} \hspace{0.1cm} \le \hspace{0.1cm} \sum_{i= 1 }^{n} W_i \cdot \beta^{i} = 1 + W_1 \cdot \beta + W_2 \cdot \beta^2 + \hspace{0.05cm}\text{ ...} \hspace{0.05cm}+ W_n \cdot \beta^n \hspace{0.05cm}.\]
  • Mit der Gewichtsfunktion  $W(X)= 1 + W_1 \cdot X + W_2 \cdot X^2 + \text{...} + W_n \cdot X^n$:
\[{\rm Pr(Blockfehler)} \le W(X = \beta) -1= {\rm Pr(Bhattacharyya)} \hspace{0.05cm}.\]


$\text{Beispiel 4:}$  In der Tabelle sind die Ergebnisse für verschiedene Werte des BSC–Parameters  $\varepsilon$  zusammengefasst, gültig für den  beispielhaften $\text{(5, 2)}$–Code.

Vergleich zwischen „Union Bound” und „Bhattacharyya–Schranke”, gültig für das BSC–Modell
  • Für diesen gilt:
$$W_0 = 1, \ \ W_1 = W_2 = 0, \ \ W_3 = 2, \ \ W_4 = 1$$
$$\Rightarrow\hspace{0.3cm} W(X) = 1 + 2 \cdot X^3 + X^4.$$
  • Damit kann die Bhattacharyya–Schranke berechnet werden:
\[ {\rm Pr(Bhattacharyya)} = W(\beta) -1 = 2 \cdot \beta^3 + \beta^4\hspace{0.05cm}.\]
  • Diese stellt eine  (oft nur grobe)  Schranke für die Blockfehlerwahrscheinlichkeit dar:
\[ {\rm Pr(Blockfehler)} \le {\rm Pr(Bhattacharyya)} \hspace{0.05cm}.\]


$\text{Fazit:}$  Basierend auf   $\text{Beispiel 3}$   und   $\text{Beispiel 4}$   (auf dieser Seite) für den einfachen  $\text{(5, 2)}$–Blockcode,  der allerdings wenig praxisrelevant ist,  sowie im Vorgriff auf das   $\text{Beispiel 5}$   (auf der nächsten Seite) für den  $\text{(7, 4, 3)}$–Hamming–Code fassen wir zusammen:

  1. Die Blockfehlerwahrscheinlichkeit eines Codiersystems ist oft analytisch nicht angebbar und muss per Simulation ermittelt werden.  Gleiches gilt für die Bitfehlerwahrscheinlichkeit.
  2. Die  Union Bound  liefert eine obere Schranke für die Blockfehlerwahrscheinlichkeit.  Bei vielen Anwendungen  (insbesondere bei kurzen Codes)  liegt die Union Bound nur geringfügig über der tatsächlichen Fehlerwahrscheinlichkeit.
  3. Die  Bhattacharyya–Schranke  liegt beim BEC–Kanal etwa um den Faktor  $2$  oberhalb der  Union Bound  – siehe  "Aufgabe 1.14".  Beim BSC– und beim AWGN–Kanal ist der Abstand deutlich größer.  Der Faktor  $10$  (und mehr)  ist keine Seltenheit.
  4. Die Bhattacharyya–Schranke  $W(\beta) - 1$  wirkt auf den ersten Blick sehr einfach.  Trotzdem benötigt man auch hier Kenntnis über die genaue Gewichtsfunktion  $W(\xi)$  des Codes.
  5. Bei Kenntnis des vorliegenden Übertragungskanals  (BEC, BSC, AWGN oder Abwandlungen hiervon)  und dessen Parameter spricht somit vom Aufwand her nichts dagegen,  gleich die  (genauere)  "Union Bound"  als obere Schranke für die Blockfehlerwahrscheinlichkeit zu verwenden.


Schranken für den (7, 4, 3)–Hamming–Code beim AWGN–Kanal


Abschließend betrachten wir die Blockfehlerwahrscheinlichkeit und deren Schranken  $($"Union Bound"  und  "Bhattacharyya–Schranke"$)$  für die folgende Konfiguration:

  1. AWGN–Kanal,  gekennzeichnet durch den Quotienten  $E_{\rm B}/N_0$,
  2. Hamming–Code  $\text{HC(7, 4, 3)}$   ⇒   $R = 4/7$,   $W(X)-1 = 7 \cdot X^3 + 7 \cdot X^4 + X^7$,
  3. "Soft–Decision"  nach dem Maximum–Likelihood–Kriterium.

$\text{Beispiel 5:}$  Die Ergebnisse sind in der Grafik zusammengefasst.

Blockfehlerwahrscheinlichkeit und Schranken des   $\text{HC (7, 4, 3)}$
  • Näherungsweise ist Letztere um den Faktor   $d_{\rm min}/k$   kleiner,  falls wie hier  $d_{\rm min}< k$  ist.  Im vorliegenden Beispiel gilt  $d_{\rm min}/k = 0.75$.
  • Berechnet wurden nur die Punkte für ganzzahlige  $\rm dB$–Werte.  Die gestrichelten Linien wurden interpoliert.
  • Die rechts angegebenen Zahlenwerte  (mit blauer Schrift)  gelten für   $10 \cdot \lg \, E_{\rm B}/N_0 = 8 \, \rm dB$   ⇒   $E_{\rm B}/N_0 \approx 6.31$ (blaue Vertikale).


Die grünen Kreuze markieren die  "Union Bound".  Nach dieser gilt:

\[{\rm Pr(Blockfehler)} \le \sum_{i= d_{\rm min} }^{n} W_i \cdot {\rm Q} \left ( \sqrt{i \cdot {2R \cdot E_{\rm B} }/{N_0} } \right ) \]
\[\Rightarrow \hspace{0.3cm}{\rm Pr(Blockfehler)} \approx 7 \cdot {\rm Q} (4.65) + 7 \cdot {\rm Q} (5.37) + {\rm Q} (7.10) = \]
\[\hspace{2.0cm} \approx 7 \cdot 1.66 \cdot 10^{-6} + 7 \cdot 3.93 \cdot 10^{-8}+ 10^{-9} = 1.2 \cdot 10^{-5} \hspace{0.05cm}.\]
  • Die Zahlenwerte machen deutlich, dass die  "Union Bound"  im wesentlichen durch den ersten Term bestimmt wird:
\[{\rm Pr(Union\hspace{0.15cm} Bound)} \approx W_{d_{\rm min} } \cdot {\rm Q} \left ( \sqrt{d_{\rm min} \cdot {2R \cdot E_{\rm B} }/{N_0} } \right ) = 1.16 \cdot 10^{-5} \hspace{0.05cm}.\]
  • Allerdings ist diese so genannte  "Truncated Union Bound"  nicht mehr bei allen Anwendungen eine echte Schranke für die Blockfehlerwahrscheinlichkeit,  sondern diese ist als Näherung zu verstehen.
  • Die Bhattacharyya–Schranke ist in der Grafik durch rote Punkte markiert.  Diese liegt aufgrund der stark vereinfachten  Chernoff–Rubin Bound  ${\rm Q}(x) \le {\rm e}^{-x^2/2}$  deutlich über der  "Union Bound".
  • Zum Beispiel erhält man für   $10 \cdot \lg \, E_{\rm B}/N_0 = 8 \, \rm dB$   mit   $\beta = {\rm e}^{-R \hspace{0.05cm}\cdot \hspace{0.05cm}E_{\rm B}/N_0} \approx 0.027$   gegenüber der Union Bound einen mehr als zehnfachen Wert:
\[{\rm Pr(Bhattacharyya)} = W(\beta) -1 = 7 \cdot \beta^3 + 7 \cdot \beta^4 + \beta^7 \approx 1.44 \cdot 10^{-4} \hspace{0.05cm}.\]

Aufgaben zum Kapitel


Aufgabe 1.14: Bhattacharyya–Schranke für BEC

Aufgabe 1.15: Distanzspektren von HC (7, 4, 3) und HC (8, 4, 4)

Aufgabe 1.16: Fehlerwahrscheinlichkeitsschranken für AWGN

Aufgabe 1.16Z: Schranken für die Gaußsche Fehlerfunktion