Aufgaben:Aufgabe 2.11Z: Nochmals Arithmetische Codierung: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
}}
 
}}
  
[[Datei:P_ID2473__Inf_A_2_12.png|right|]]
+
[[Datei:P_ID2473__Inf_A_2_12.png|right|frame|Vorgegebene Intervallbereiche]]
Wir betrachten hier die arithmetische Codierung (AC). Alle notwendigen Informationen zu dieser Art von Entropiecodierung finden Sie in der Aufgabe A2.11.
+
Wir betrachten hier die arithmetische Codierung  $(\rm AC)$.  Alle notwendigen Informationen zu dieser Art von Entropiecodierung finden Sie in der  [[Aufgaben:2.11_Arithmetische_Codierung|Aufgabe 2.11]].
  
Auch nebenstehende Grafik ist das Ergebnis der letzten Aufgabe. Die für die aktuelle Aufgabe wichtigen Zahlenwerte für die Codierschritte 3 und 7 sind farblich hervorgehoben:
+
Auch die Grafik ist das Ergebnis von Aufgabe 2.11.  Die für die aktuelle Aufgabe wichtigen Zahlenwerte für die Codierschritte 3 und 7 sind farblich hervorgehoben:
 +
* Das Intervall für  $N= 3$  $($Symbolfolge  $\rm XXY)$  beginnt bei  $B_3 = 0.343$  und reicht bis  $E_3 = 0.392$.
 +
* Das Intervallgrenzen für  $N= 7$  $($Symbolfolge  $\rm XXYXXXZ)$  sind  $B_7 = 0.3564456$  und  $E_7 =0.359807$.
  
:* Das Intervall für <i>N</i> = 3 (Symbolfolge <b>XXY</b>) beginnt bei <i>B</i><sub>3</sub> = 0.343 und reicht bis zum Endwert <i>E</i><sub>3</sub> = 0.392.
 
  
:* Das Intervall für <i>N</i> = 7 (Symbolfolge <b>XXYXXXZ</b>) beginnt bei <i>B</i><sub>7</sub> = 0.3564456 und endet bei <i>E</i><sub>7</sub>&nbsp;=&nbsp;0.359807.
+
In dieser Aufgabe geht es nur um die Zuweisung von Binärfolgen zu den ausgewählten Intervallen. Vorgehensweise:
 +
 
 +
* Das Intervall&nbsp; $I$&nbsp; wird bestimmt durch den Beginn&nbsp; $B$, das Ende&nbsp; $E$,&nbsp; die Intervallbreite&nbsp; ${\it \Delta} = E-B$ &nbsp;sowie die Intervallmitte &nbsp;$M = (B+E)/2$.
 +
* Das Intervall&nbsp; $I$&nbsp; wird gekennzeichnet durch die Binärdarstellung&nbsp; (mit begrenzter Auflösung)&nbsp; eines beliebigen reellen Zahlenwertes&nbsp; $r \in I$.&nbsp; Beispielsweise wählt man &nbsp;$r \approx M$.
 +
* Die erforderliche Bitanzahl ergibt sich aus der Intervallbreite nach folgender Gleichung&nbsp; (die nach unten offenen eckigen Klammern bedeuten &bdquo;nach oben runden&rdquo;):
 +
:$$N_{\rm Bit} = \left\lceil{\rm log_2} \hspace{0.15cm} 1/{\it \Delta} \right\rceil+1\hspace{0.05cm}. $$
 +
 
 +
Beispielsweise steht für&nbsp; $N_{\rm Bit} = 5$&nbsp; der Binärcode&nbsp; <b>01001</b>&nbsp; für die folgende reellwertige Zahl&nbsp; $r$:
 +
:$$r = 0 \cdot 2^{-1}+1 \cdot 2^{-2}+0 \cdot 2^{-3}+0 \cdot 2^{-4}+1 \cdot 2^{-5} = 0.28125
 +
\hspace{0.05cm}. $$
  
In dieser Aufgabe geht es nur um die Zuweisung von Binärfolgen zu den ausgewählten Intervallen. Man geht wie folgt vor:
 
  
:* Das Intervall <i>I</i> wird bestimmt durch den Beginn <i>B</i>, das Ende <i>E</i>, die Intervallbreite <i>&Delta;</i> = <i>E</i> &ndash; <i>B</i> sowie die Intervallmitte <i>M</i> = (<i>B</i> + <i>E</i>)/2.
 
  
:* Das Intervall <i>I</i> wird gekennzeichnet durch die Binärdarstellung (mit begrenzter Auflösung) eines beliebigen reellen Zahlenwertes <i>r</i> &#8712; <i>I</i>. Beispielsweise wählt man <i>r</i> &asymp; <i>M</i>.
 
  
:* Die erforderliche Bitanzahl ergibt sich aus der Intervallbreite nach folgender Gleichung (die nach unten offenen Klammern bedeuten &bdquo;nach oben runden&rdquo;):
 
:$$N_{\rm Bit} =  \left\lceil{\rm ld} \hspace{0.15cm} 1/{\it \Delta} \right\rceil+1\hspace{0.05cm}. $$
 
  
Beispielsweise steht für <i>N</i><sub>Bit</sub> = 5 der Binärcode <b>01001</b> für die folgende reellwertige Zahl <i>r</i>:
 
:$$r = 0 \cdot 2^{-1}+1 \cdot 2^{-2}+0 \cdot 2^{-3}+0 \cdot 2^{-4}+1 \cdot 2^{-5} = 0.28125
 
\hspace{0.05cm}. $$
 
  
''Hinweise:''
 
*Die Aufgabe gehört zum  Kapitel [[Informationstheorie/Weitere_Quellencodierverfahren|Weitere Quellencodierverfahren]].
 
*Insbesondere wird  Bezug genommen auf die Seite [[Informationstheorie/Weitere_Quellencodierverfahren#Arithmetische_Codierung|Arithmetische Codierung]].
 
*Die Binärdarstellung des ausgewählten Intervalls wird in der [[Aufgaben:2.12_Nochmals_Arithmetische_Codierung|Aufgabe 2.12]] behandelt.
 
*Sollte die Eingabe des Zahlenwertes &bdquo;0&rdquo; erforderlich sein, so geben Sie bitte &bdquo;0.&rdquo; ein.
 
  
<b>Hinweis:</b> Die Aufgabe gehört zum Themengebiet von Kapitel 2.4. Allerdings wird in <i>LNTwww</i> die arithmetische Codierung nur sehr knapp behandelt. Eine Übersicht finden Sie auch in WIKIPEDIA und eine ausführlichere Abhandlung in [BCK02].
+
<u>Hinweise:</u>  
 +
*Die Aufgabe gehört zum Kapitel&nbsp; [[Informationstheorie/Weitere_Quellencodierverfahren|Weitere Quellencodierverfahren]].
 +
*Insbesondere wird Bezug genommen auf die Seite&nbsp; [[Informationstheorie/Weitere_Quellencodierverfahren#Arithmetische_Codierung|Arithmetische Codierung]].
 +
*Weitere Informationen zum Thema finden Sie auch in diesem&nbsp; [https://de.wikipedia.org/wiki/Arithmetisches_Kodieren WIKIPEDIA-Artikel].
 +
  
  
Zeile 37: Zeile 38:
  
 
<quiz display=simple>
 
<quiz display=simple>
{Wie viele Bit werden zur Darstellung der Folge <b>XXY</b> benutzt?
+
{Wie viele Bit werden zur Darstellung der Quellensymbolfolge&nbsp; $\rm XXY$ &nbsp; &rArr; &nbsp; $N = 3$&nbsp; benutzt?
 
|type="{}"}
 
|type="{}"}
$N = 3:\ N_\text{Bit}$ = { 6 3% }
+
$N_\text{Bit} \ = \ $ { 6 }
  
  
{Welcher arithmetischer Code (AC) gilt für diesen Fall?
+
{Welcher arithmetischer Code&nbsp; $\rm (AC)$&nbsp; gilt für diesen Fall?
|type="[]"}
+
|type="()"}
- AC = <b>01011</b>,
+
- $\rm AC = $&nbsp;  <b>01011</b>,
+ AC = <b>010111</b>,
+
+ $\rm AC = $&nbsp;  <b>010111</b>,
- AC = <b>110111</b>.
+
- $\rm AC = $&nbsp; <b>110111</b>.
  
  
{Wie viele Bit werden zur Darstellung von <b>XXYXXXZ</b> benutzt?
+
{Wie viele Bit werden zur Darstellung der Quellensymbolfolge&nbsp; $\rm XXYXXXZ$ &nbsp; &rArr; &nbsp; $N = 7$&nbsp; benutzt?
 
|type="{}"}
 
|type="{}"}
$N = 7:\ N_\text{Bit}$ = { 11 3% }
+
$N_\text{Bit} \ = \ $ { 11 }
  
  
{Ist <b>01011100001</b> ein gültiger Code für die Symbolfolge <b>XXYXXXZ</b>?
+
{Ist&nbsp; <b>01011100001</b>&nbsp; ein gültiger Code für die Quellensymbolfolge&nbsp; $\rm XXYXXXZ$?
|type="[]"}
+
|type="()"}
 
- Ja.
 
- Ja.
 
+ Nein.
 
+ Nein.
Zeile 63: Zeile 64:
 
|type="[]"}
 
|type="[]"}
 
+ Es handelt sich um eine gemeinsame Codierung ganzer Folgen.
 
+ Es handelt sich um eine gemeinsame Codierung ganzer Folgen.
+ Eine 32 Bit&ndash;Rechnerarchitektur begrenzt die Folgenlänge <i>N</i>.
+
+ Eine 32 Bit&ndash;Rechnerarchitektur begrenzt die Folgenlänge&nbsp; $N$.
 
+ Dieses Problem lässt sich durch Integer&ndash;Realisierung umgehen.
 
+ Dieses Problem lässt sich durch Integer&ndash;Realisierung umgehen.
 
+ Eine Integer&ndash;Realisierung erhöht die Codiergeschwindigkeit.
 
+ Eine Integer&ndash;Realisierung erhöht die Codiergeschwindigkeit.
Zeile 73: Zeile 74:
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
<b>1.</b>&nbsp;&nbsp;Das ausgewählte Intervall beginnt bei <i>B</i><sub>3</sub> = 0.343 und endet bei <i>E</i><sub>3</sub> = 0.392. Die Intervallbreite ist somit <i>&Delta;</i><sub>3</sub> = 0.049 und damit gilt mit dem <i>Logarithmus dualis</i> &bdquo;log<sub>2</sub>&rdquo; &nbsp;&#8594;&nbsp; &bdquo;ld&rdquo;:
+
'''(1)'''&nbsp; Das ausgewählte Intervall beginnt bei&nbsp; $B_3 = 0.343$&nbsp; und endet bei&nbsp; $E_3 = 0.392$.  
:$$N_{\rm Bit} = {\rm ld} \hspace{0.15cm} \left\lceil \frac{1}{0.049}\right\rceil+1\hspace{0.15cm}\underline{= 6}
+
*Die Intervallbreite ist somit&nbsp; ${\it \Delta}_3 = 0.049$&nbsp; und damit gilt mit dem &bdquo;Logarithmus dualis&rdquo;:
 +
:$$N_{\rm Bit} = {\rm log_2} \hspace{0.15cm} \left\lceil \frac{1}{0.049}\right\rceil+1\hspace{0.15cm}\underline{= 6}
 
\hspace{0.05cm}.$$
 
\hspace{0.05cm}.$$
  
<b>2.</b>&nbsp;&nbsp;Das ausgewählte Intervall ergibt sich zu <i>I</i> = [0.343, 0.392). Die Mitte liegt bei <i>M</i><sub>3</sub> = 0.3675. Zur Bestimmung des arithmetischen Codes versuchen wir, die Intervallmitte durch eine Binärdarstellung möglichst gut zu erreichen. Da uns gerade kein entsprechendes Tool zur Lösung dieser Aufgabe zur Verfügung steht, gehen wir von folgenden Nebenrechnungen aus:
 
  
: <i>H</i><sub>4</sub> = 2<sup>&ndash;2</sup> + 2<sup>&ndash;4</sup> = 0.3125 &nbsp;&#8658;&nbsp; gehört nicht zum Intervall <i>I</i>,
+
'''(2)'''&nbsp; Das ausgewählte Intervall ergibt sich zu&nbsp; $I = \big[0.343, \ 0.392\big)$.
 +
*Die Mitte liegt bei&nbsp; $M_3 = 0.3675$.
 +
*Zur Bestimmung des arithmetischen Codes versuchen wir, die Intervallmitte durch eine Binärdarstellung möglichst gut zu erreichen.
 +
*Da uns gerade kein entsprechendes Tool zur Lösung dieser Aufgabe zur Verfügung steht, gehen wir von folgenden Nebenrechnungen aus:
  
: <i>H</i><sub>5</sub> = <i>H</i><sub>4</sub> + 2<sup>&ndash;5</sup> = 0.34375 &#8712; <i>I</i>  &nbsp;&#8658;&nbsp;  Binärdarstellung: 0.01011  &nbsp;&#8658;&nbsp;  Code: <b>01011</b>.
 
  
: <i>H</i><sub>6</sub> = <i>H</i><sub>5</sub> + 2<sup>&ndash;6</sup> = 0.359375 &#8712; <i>I</i>&nbsp;&#8658;&nbsp; Binärdarstellung: 0.010111  &nbsp;&#8658;&nbsp;  Code: <b>010111</b>.
+
:&nbsp;$H_4 = 2^{-2} + 2^{-4} = 0.3125$ &nbsp; &#8658; &nbsp; gehört nicht zum Intervall&nbsp; $I$.
  
: <i>H</i><sub>7</sub> = <i>H</i><sub>6</sub> + 2<sup>&ndash;7</sup> = 0.3671875 &#8712; <i>I</i> &nbsp;&#8658;&nbsp;  Binärdarstellung: 0.0101111 &nbsp;&#8658;&nbsp;  Code: <b>0101111</b>.
+
:&nbsp;$H_5 = H_4 +2^{-5} = 0.34375  \in I&nbsp; &#8658; &nbsp;  Binärdarstellung: &nbsp; '''0.01011''' &nbsp;&#8658;&nbsp;  Code: &nbsp; <b>01011</b>.
  
: <i>H</i><sub>12</sub> = <i>H</i><sub>7</sub> + 2<sup>&ndash;12</sup> = 0.3674316406 &#8712; <i>I</i>&nbsp;&#8658;&nbsp;  binär: 0.010111100001 &nbsp;&#8658;&nbsp;  Code: <b>010111100001</b>.
+
:&nbsp;$H_6 = H_5 +2^{-6} = 0.359375  \in I&nbsp; &#8658; &nbsp;  Binärdarstellung: &nbsp; '''0.010111''' &nbsp;&#8658;&nbsp;  Code: &nbsp; <b>010111</b>.
  
Der entsprechende 6 Bit&ndash;Code lautet somit AC <b>010111</b> &nbsp;&nbsp;&#8658;&nbsp;&nbsp; Richtig ist der <u>Vorschlag 2</u>.
+
:&nbsp;$H_7 = H_6 +2^{-7} = 0.3671875  \in I$ &nbsp; &#8658; &nbsp;  Binärdarstellung: &nbsp; '''0.0101111'''  &nbsp;&#8658;&nbsp; Code: &nbsp; <b>0101111</b>.
  
<b>3.</b>&nbsp;&nbsp;Hier ergibt sich mit dem Beginn <i>B</i><sub>7</sub> = 0.3564456 und dem Ende <i>E</i><sub>7</sub> = 0.359807 die Intervallbreite <i>&Delta;</i><sub>7</sub> = 0.0033614 und damit
+
:&nbsp;$H_{12} = H_7 +2^{-12} = 0.3674316406  \in I$  &nbsp; &#8658; &nbsp;  Binärdarstellung: &nbsp; '''0.010111100001'''  &nbsp;&#8658;&nbsp;  Code: &nbsp; <b>010111100001</b>.
:$$N_{\rm Bit} = \left\lceil  {\rm ld} \hspace{0.15cm} \frac{1}{0.0033614} \right\rceil + 1\hspace{0.15cm} =
+
 
\left\lceil  {\rm ld} \hspace{0.15cm} 297.5 \right\rceil + 1\hspace{0.15cm} \underline{= 11}
+
Der entsprechende 6 Bit&ndash;Code lautet somit&nbsp; $\rm AC =$&nbsp; <b>010111</b> &nbsp;&nbsp;&#8658;&nbsp;&nbsp; Richtig ist der <u>Lösungsvorschlag 2</u>.
 +
 
 +
 
 +
 
 +
'''(3)'''&nbsp; Hier ergibt sich mit dem Beginn&nbsp; $B_7 = 0.3564456$&nbsp; und dem Ende&nbsp; $E_7  = 0.359807$&nbsp; die Intervallbreite&nbsp; ${\it \Delta}_7 = 0.0033614$&nbsp; und damit
 +
:$$N_{\rm Bit} = \left\lceil  {\rm log_2} \hspace{0.15cm} \frac{1}{0.0033614} \right\rceil + 1\hspace{0.15cm} =
 +
\left\lceil  {\rm log_2} \hspace{0.15cm} 297.5 \right\rceil + 1\hspace{0.15cm} \underline{= 11}
 
\hspace{0.05cm}.$$
 
\hspace{0.05cm}.$$
  
<b>4.</b>&nbsp;&nbsp;Die Binärdarstellung des Codes <b>01011100001</b> ergibt
+
 
 +
 
 +
'''(4)'''&nbsp; Die Binärdarstellung des Codes&nbsp; <b>01011100001</b>&nbsp; ergibt
 
:$$2^{-2}+ 2^{-4}+ 2^{-5}+ 2^{-6}+ 2^{-11} = 0.3598632813 > E_7
 
:$$2^{-2}+ 2^{-4}+ 2^{-5}+ 2^{-6}+ 2^{-11} = 0.3598632813 > E_7
 
\hspace{0.05cm}.$$
 
\hspace{0.05cm}.$$
Richtig ist also <u>NEIN</u>. Wegen
+
*Richtig ist also <u>NEIN</u>.&nbsp; Der gültige arithmetische Code ist&nbsp; $\rm AC =$&nbsp; <b>01011011101</b>, wegen
:$$2^{-2}+ 2^{-4}+ 2^{-5}+ 2^{-7}+ 2^{-8}+ 2^{-9}+ 2^{-11} =0.3579101563$$
+
:$$2^{-2}+ 2^{-4}+ 2^{-5}+ 2^{-7}+ 2^{-8}+ 2^{-9}+ 2^{-11} =0.3579101563 \hspace{0.3cm}
:$$\Rightarrow \hspace{0.3cm} B_7 \le 0.3579101563 <  E_7$$
+
\Rightarrow \hspace{0.3cm} B_7 \le 0.3579101563 <  E_7.$$
ist der gültige arithmetische Code gleich <b>01011011101</b>.
+
 
  
<b>e)</b>&nbsp;&nbsp;<u>Alle Aussagen</u> sind richtig. Sie können sich davon beispielsweise in [BCK02] überzeugen.
+
'''(5)'''&nbsp; <u>Alle hier gemachten Aussagen</u> sind richtig. Siehe auch: 
 +
:Bodden, E.; Clasen, M.; Kneis, J.: Algebraische Kodierung. Proseminar, Lehrstuhl für Informatik IV, RWTH Aachen, 2002.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Aktuelle Version vom 12. August 2021, 14:46 Uhr

Vorgegebene Intervallbereiche

Wir betrachten hier die arithmetische Codierung  $(\rm AC)$.  Alle notwendigen Informationen zu dieser Art von Entropiecodierung finden Sie in der  Aufgabe 2.11.

Auch die Grafik ist das Ergebnis von Aufgabe 2.11.  Die für die aktuelle Aufgabe wichtigen Zahlenwerte für die Codierschritte 3 und 7 sind farblich hervorgehoben:

  • Das Intervall für  $N= 3$  $($Symbolfolge  $\rm XXY)$  beginnt bei  $B_3 = 0.343$  und reicht bis  $E_3 = 0.392$.
  • Das Intervallgrenzen für  $N= 7$  $($Symbolfolge  $\rm XXYXXXZ)$  sind  $B_7 = 0.3564456$  und  $E_7 =0.359807$.


In dieser Aufgabe geht es nur um die Zuweisung von Binärfolgen zu den ausgewählten Intervallen. Vorgehensweise:

  • Das Intervall  $I$  wird bestimmt durch den Beginn  $B$, das Ende  $E$,  die Intervallbreite  ${\it \Delta} = E-B$  sowie die Intervallmitte  $M = (B+E)/2$.
  • Das Intervall  $I$  wird gekennzeichnet durch die Binärdarstellung  (mit begrenzter Auflösung)  eines beliebigen reellen Zahlenwertes  $r \in I$.  Beispielsweise wählt man  $r \approx M$.
  • Die erforderliche Bitanzahl ergibt sich aus der Intervallbreite nach folgender Gleichung  (die nach unten offenen eckigen Klammern bedeuten „nach oben runden”):
$$N_{\rm Bit} = \left\lceil{\rm log_2} \hspace{0.15cm} 1/{\it \Delta} \right\rceil+1\hspace{0.05cm}. $$

Beispielsweise steht für  $N_{\rm Bit} = 5$  der Binärcode  01001  für die folgende reellwertige Zahl  $r$:

$$r = 0 \cdot 2^{-1}+1 \cdot 2^{-2}+0 \cdot 2^{-3}+0 \cdot 2^{-4}+1 \cdot 2^{-5} = 0.28125 \hspace{0.05cm}. $$




Hinweise:


Fragebogen

1

Wie viele Bit werden zur Darstellung der Quellensymbolfolge  $\rm XXY$   ⇒   $N = 3$  benutzt?

$N_\text{Bit} \ = \ $

2

Welcher arithmetischer Code  $\rm (AC)$  gilt für diesen Fall?

$\rm AC = $  01011,
$\rm AC = $  010111,
$\rm AC = $  110111.

3

Wie viele Bit werden zur Darstellung der Quellensymbolfolge  $\rm XXYXXXZ$   ⇒   $N = 7$  benutzt?

$N_\text{Bit} \ = \ $

4

Ist  01011100001  ein gültiger Code für die Quellensymbolfolge  $\rm XXYXXXZ$?

Ja.
Nein.

5

Welche Aussagen gelten für die arithmetische Codierung allgemein?

Es handelt sich um eine gemeinsame Codierung ganzer Folgen.
Eine 32 Bit–Rechnerarchitektur begrenzt die Folgenlänge  $N$.
Dieses Problem lässt sich durch Integer–Realisierung umgehen.
Eine Integer–Realisierung erhöht die Codiergeschwindigkeit.


Musterlösung

(1)  Das ausgewählte Intervall beginnt bei  $B_3 = 0.343$  und endet bei  $E_3 = 0.392$.

  • Die Intervallbreite ist somit  ${\it \Delta}_3 = 0.049$  und damit gilt mit dem „Logarithmus dualis”:
$$N_{\rm Bit} = {\rm log_2} \hspace{0.15cm} \left\lceil \frac{1}{0.049}\right\rceil+1\hspace{0.15cm}\underline{= 6} \hspace{0.05cm}.$$


(2)  Das ausgewählte Intervall ergibt sich zu  $I = \big[0.343, \ 0.392\big)$.

  • Die Mitte liegt bei  $M_3 = 0.3675$.
  • Zur Bestimmung des arithmetischen Codes versuchen wir, die Intervallmitte durch eine Binärdarstellung möglichst gut zu erreichen.
  • Da uns gerade kein entsprechendes Tool zur Lösung dieser Aufgabe zur Verfügung steht, gehen wir von folgenden Nebenrechnungen aus:


 $H_4 = 2^{-2} + 2^{-4} = 0.3125$   ⇒   gehört nicht zum Intervall  $I$.
 $H_5 = H_4 +2^{-5} = 0.34375 \in I$   ⇒   Binärdarstellung:   0.01011  ⇒  Code:   01011.
 $H_6 = H_5 +2^{-6} = 0.359375 \in I$   ⇒   Binärdarstellung:   0.010111  ⇒  Code:   010111.
 $H_7 = H_6 +2^{-7} = 0.3671875 \in I$   ⇒   Binärdarstellung:   0.0101111  ⇒  Code:   0101111.
 $H_{12} = H_7 +2^{-12} = 0.3674316406 \in I$   ⇒   Binärdarstellung:   0.010111100001  ⇒  Code:   010111100001.

Der entsprechende 6 Bit–Code lautet somit  $\rm AC =$  010111   ⇒   Richtig ist der Lösungsvorschlag 2.


(3)  Hier ergibt sich mit dem Beginn  $B_7 = 0.3564456$  und dem Ende  $E_7 = 0.359807$  die Intervallbreite  ${\it \Delta}_7 = 0.0033614$  und damit

$$N_{\rm Bit} = \left\lceil {\rm log_2} \hspace{0.15cm} \frac{1}{0.0033614} \right\rceil + 1\hspace{0.15cm} = \left\lceil {\rm log_2} \hspace{0.15cm} 297.5 \right\rceil + 1\hspace{0.15cm} \underline{= 11} \hspace{0.05cm}.$$


(4)  Die Binärdarstellung des Codes  01011100001  ergibt

$$2^{-2}+ 2^{-4}+ 2^{-5}+ 2^{-6}+ 2^{-11} = 0.3598632813 > E_7 \hspace{0.05cm}.$$
  • Richtig ist also NEIN.  Der gültige arithmetische Code ist  $\rm AC =$  01011011101, wegen
$$2^{-2}+ 2^{-4}+ 2^{-5}+ 2^{-7}+ 2^{-8}+ 2^{-9}+ 2^{-11} =0.3579101563 \hspace{0.3cm} \Rightarrow \hspace{0.3cm} B_7 \le 0.3579101563 < E_7.$$


(5)  Alle hier gemachten Aussagen sind richtig. Siehe auch:

Bodden, E.; Clasen, M.; Kneis, J.: Algebraische Kodierung. Proseminar, Lehrstuhl für Informatik IV, RWTH Aachen, 2002.