Applets:Prinzip der 4B3T-Codierung: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(16 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
  
{{LntAppletLink|matchedFilter}}
+
{{LntAppletLinkDeEn|4B3T|4B3T_en}}
 +
 
 
   
 
   
 
==Programmbeschreibung==
 
==Programmbeschreibung==
 
<br>
 
<br>
Das Applet behandelt die Eigenschaften der bekanntesten Pseudoternärcodes, nämlich:
+
Das Applet verdeutlicht das Prinzip der&nbsp; $\rm 4B3T$&ndash;Codierung.&nbsp; Hierbei wird jeweils ein Block von vier  Binärsymbolen durch eine Sequenz aus drei Ternärsymbolen ersetzt.&nbsp; Daraus ergibt sich eine relative Coderedundanz von knapp&nbsp; $16\%$,&nbsp; die dazu verwendet wird, um Gleichsignalfreiheit zu erzielen.
#&nbsp; Bipolarcode erster Ordnung bzw.&nbsp; $\rm AMI$&ndash;Code&nbsp;  (von: ''Alternate Mark Inversion''),&nbsp; gekennzeichnet durch die Parameter&nbsp; $N_{\rm C} = 1, \ K_{\rm C} = +1$,
+
 
#&nbsp; Duobinärcode,&nbsp; $(\rm DUOB)$,&nbsp; Codeparameter:&nbsp; $N_{\rm C} = 1, \ K_{\rm C} = -1$,
+
Die Umcodierung der sechzehn möglichen Binärblöcke in die entsprechenden Ternärblöcke könnte prinzipiell nach einer festen Codetabelle erfolgen.  Um die spektralen Eigenschaften dieser Codes weiter zu verbessern, werden bei den 4B3T–Codes aber stets mehrere Codetabellen verwendet, die nach der &bdquo;laufenden digitalen Summe&rdquo;&nbsp;  $($englisch:&nbsp; ''Running Digital Sum'',&nbsp; kurz&nbsp; $\rm RDS)$&nbsp; blockweise ausgewählt werden.
#&nbsp; Bipolarcode zweiter Ordnung&nbsp; $(\rm BIP2)$,&nbsp; Codeparameter:&nbsp; $N_{\rm C} = 2, \ K_{\rm C} = +1$.
+
 
 +
Im Applet sind im unteren Bereich die entsprechenden Codetabellen angegeben, und zwar alternativ für
 +
* den $\rm MS43$&ndash;Code (von: &nbsp; $\rm M$onitored $\rm S$um $\rm 4$B$\rm 3$T&ndash;Code), und
 +
* den $\rm MMS43$&ndash;Code (von: &nbsp;$\rm M$odified $\rm MS43$).
 +
 
  
 +
Eingabeparameter sind neben dem gewünschten Code (MS43 oder MMS43) der RDS&ndash;Startwert&nbsp; $\rm RDS_0$&nbsp; sowie zwölf binäre Quellensymbole&nbsp; $q_\nu \in \{0,\ 1\}$,&nbsp; entweder per Hand, per Voreinstellung&nbsp; $($Quellensymbolfolge&nbsp; $\rm A$,&nbsp; $\rm B$,&nbsp; $\rm C)$&nbsp;oder per Zufallsgenerator.&nbsp;
  
Am Eingang liegt die redundanzfreie binäre bipolare Quellensymbolfolge&nbsp; $\langle \hspace{0.05cm}q_\nu  \hspace{0.05cm}\rangle  \ \in \{+1, -1\}$ &nbsp; &rArr; &nbsp; Rechtecksignal&nbsp; $q(t)$&nbsp; an.&nbsp; Verdeutlicht wird die Generierung
+
Vom Programm angeboten werden zwei verschiedene Modi:
*der binär&ndash;vorcodierten Folge&nbsp; $\langle \hspace{0.05cm}b_\nu  \hspace{0.05cm}\rangle \ \in \{+1, -1\}$,&nbsp; dargestellt durch das ebenfalls redundanzfreie binäre bipolare Rechtecksignal&nbsp; $b(t)$,
 
*der pseudoternären Codefolge&nbsp; $\langle \hspace{0.05cm}c_\nu  \hspace{0.05cm}\rangle \ \in \{+1,\ 0,  -1\}$,&nbsp; dargestellt durch das redundante ternäre bipolare Rechtecksignal&nbsp; $c(t)$,
 
*das gleichermaßen redundante ternäre Sendesignal&nbsp; $s(t)$, gekennzeichnet durch die Amplitudenkoeffizienten&nbsp; $a_\nu  $,&nbsp; und den (Sende&ndash;) Grundimpuls&nbsp; $g(t)$:
 
:$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g( t - \nu \cdot T)\hspace{0.05cm}.$$
 
       
 
Der Grundimpuls&nbsp; $g(t)$&nbsp; &ndash;&nbsp; im Applet&nbsp; &bdquo;Rechteck&rdquo;,&nbsp; &bdquo;Nyquist&rdquo; und&nbsp; &bdquo;Wurzel&ndash;Nyquist&rdquo;&nbsp; &ndash;&nbsp; bestimmt nicht nur die Form des Sendesignals, sondern auch den Verlauf
 
* der Autokorrelationsfunktion&nbsp;  $\rm (AKF)$&nbsp;  $\varphi_s (\tau)$&nbsp; und
 
* des zugehörigen Leistungsdichtespektrums&nbsp;  $\rm (LDS)$&nbsp;  ${\it \Phi}_s (f)$.
 
  
 +
*Im Modus &bdquo;Schritt&rdquo; werden die drei Blöcke sukzessive abgearbeitet (jeweils Festlegung der drei Ternärsymbole, Aktualisierung des RDS&ndash;Wertes und damit Festlegung der Codetabelle für den nächsten Block.
 +
 +
*Im Modus &bdquo;Gesamt&rdquo; werden nur die Codierergebnisse angezeigt, aber gleichzeitig für die beiden möglichen Codes und jeweils für alle vier möglichen RDS&ndash;Startwerte.&nbsp; Die Grafik und der RDS&ndash;Ausgabeblock rechts beziehen sich dabei auf die getroffenen Einstellungen.     
  
Das Applet zeigt auch, dass das gesamte Leistungsdichtespektrum&nbsp;  ${\it \Phi}_s (f)$ aufgeteilt werden kann in den Anteil&nbsp; ${\it \Phi}_a (f)$, der die statistischen Bindungen der Amplitudenkoeffizienten&nbsp; $a_\nu$ &nbsp; berücksichtigt, und das Energiedichtespektrum $ {\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)  = |G(f)|^2 $, gekennzeichnet durch die Impulsform&nbsp; $g(t)$.
 
  
''Anmerkung'': &nbsp; Im Applet wird kein Unterschied zwischen den Codersymbolen&nbsp; $c_\nu \in \{+1,\ 0,  -1\}$&nbsp; und den Amplitudenkoeffizienten&nbsp; $a_\nu \in \{+1,\ 0,  -1\}$&nbsp; gemacht.&nbsp; Dabei sollte nicht vergessen werden, dass die&nbsp; $a_\nu$&nbsp; stets Zahlenwerte sind, während für die Codersymbole auch die Notation&nbsp; $c_\nu \in \{\text{Plus},\ \text{Null},\  \text{Minus}\}$&nbsp; zulässig wäre.
 
  
 
==Theoretischer Hintergrund==
 
==Theoretischer Hintergrund==
Zeile 37: Zeile 36:
 
*$\text{Kanalcodierung:}$&nbsp; Gezieltes Hinzufügen (sinnvoller) Redundanz, die man beim Empfänger zur Fehlererkennung oder  zur Fehlererkennung  nutzen kann.&nbsp; Wichtigste Vertreter:&nbsp; Blockcodes, Faltungscodes, Turbocodes.
 
*$\text{Kanalcodierung:}$&nbsp; Gezieltes Hinzufügen (sinnvoller) Redundanz, die man beim Empfänger zur Fehlererkennung oder  zur Fehlererkennung  nutzen kann.&nbsp; Wichtigste Vertreter:&nbsp; Blockcodes, Faltungscodes, Turbocodes.
  
*$\text{Leitungscodierung:}$&nbsp; Umcodierung der Quellensymbole, um das zu übertragende Signal an die spektralen Eigenschaften von Kanal und Empfangseinrichtungen anzupassen, etwa, um bei einem Kanal mit&nbsp; $H_{\rm K}(f = 0) = 0$&nbsp; ein gleichsignalfreies Sendesignal zu erreichen. &nbsp;
+
*$\text{Leitungscodierung:}$&nbsp; Umcodierung der Quellensymbole, um das Signal an die Spektraleigenschaften von Kanal und Empfangseinrichtungen anzupassen, etwa, um bei einem Kanal mit&nbsp; $H_{\rm K}(f = 0) = 0$&nbsp; ein gleichsignalfreies Sendesignal&nbsp; $x(t)$&nbsp; zu erreichen. &nbsp;
 
<br clear=all>
 
<br clear=all>
 
Bei den Leitungscodes unterscheidet man weiter:  
 
Bei den Leitungscodes unterscheidet man weiter:  
Zeile 47: Zeile 46:
 
=== Allgemeine Beschreibung der 4B3T&ndash;Codes ===
 
=== Allgemeine Beschreibung der 4B3T&ndash;Codes ===
  
Der bekannteste Blockcode zur Übertragungscodierung ist der &nbsp;$\rm 4B3T&ndash;Code$&nbsp; mit den Codeparametern
+
Der bekannteste Blockcode zur Leitungscodierung ist der &nbsp;$\rm 4B3T&ndash;Code$&nbsp; mit den Codeparametern
 
:$$m_q = 4,\hspace{0.2cm}M_q = 2,\hspace{0.2cm}m_c =
 
:$$m_q = 4,\hspace{0.2cm}M_q = 2,\hspace{0.2cm}m_c =
 
3,\hspace{0.2cm}M_c = 3\hspace{0.05cm},$$
 
3,\hspace{0.2cm}M_c = 3\hspace{0.05cm},$$
Zeile 54: Zeile 53:
  
 
Ein 4B3T&ndash;Code besitzt folgende Eigenschaften:
 
Ein 4B3T&ndash;Code besitzt folgende Eigenschaften:
*Wegen &nbsp;$m_q \cdot T_{\rm B} =  m_c \cdot T$&nbsp;  ist die Symboldauer &nbsp;$T$&nbsp; des Codersignals um den Faktor &nbsp;$4/3$&nbsp; größer als die Bitdauer &nbsp;$T_{\rm B}$&nbsp; des binären Quellensignals. Daraus ergibt sich die günstige Eigenschaft, dass der Bandbreitenbedarf um ein Viertel geringer ist als bei redundanzfreier Binärübertragung.
+
*Wegen &nbsp;$m_q \cdot T_q =  m_c \cdot T_c$&nbsp;  ist die Symboldauer &nbsp;$T=T_c$&nbsp; des Codersignals um den Faktor &nbsp;$4/3$&nbsp; größer als die Bitdauer &nbsp;$T_{\rm B}=T_q$&nbsp; des binären Quellensignals. Daraus ergibt sich die günstige Eigenschaft, dass der Bandbreitenbedarf um ein Viertel geringer ist als bei redundanzfreier Binärübertragung.
 
*Die relative Redundanz der 4B3T&ndash;Codes ergibt sich zu
 
*Die relative Redundanz der 4B3T&ndash;Codes ergibt sich zu
  
 
:$$r_c = 1-  \frac{m_q \cdot {\rm log_2}\hspace{0.05cm} (M_q)}{m_c \cdot {\rm log_2} \hspace{0.05cm}(M_c)} =  1-  \frac{4 \cdot {\rm log_2}\hspace{0.05cm} (2)}{3 \cdot {\rm log_2} \hspace{0.05cm}3}=  1-  \frac{4 }{3 \cdot 1.585}\hspace{0.05cm}\approx{0.158}.$$
 
:$$r_c = 1-  \frac{m_q \cdot {\rm log_2}\hspace{0.05cm} (M_q)}{m_c \cdot {\rm log_2} \hspace{0.05cm}(M_c)} =  1-  \frac{4 \cdot {\rm log_2}\hspace{0.05cm} (2)}{3 \cdot {\rm log_2} \hspace{0.05cm}3}=  1-  \frac{4 }{3 \cdot 1.585}\hspace{0.05cm}\approx{0.158}.$$
*Diese Redundanz von knapp&nbsp; $16\%$&nbsp; wird dazu verwendet, um Gleichsignalfreiheit zu erzielen.&nbsp; Das 4B3T&ndash;codierte Signal kann somit ohne merkbare Beeinträchtigung auch über einen Kanal mit der Eigenschaft &nbsp;$H_{\rm K}(f)= 0) = 0$&nbsp; übertragen werden.
+
*Diese Redundanz von knapp&nbsp; $16\%$&nbsp; wird dazu verwendet, um Gleichsignalfreiheit zu erzielen.&nbsp; Das 4B3T&ndash;codierte Signal kann somit ohne merkbare Beeinträchtigung auch über einen Kanal mit der Eigenschaft &nbsp;$H_{\rm K}(f= 0) = 0$&nbsp; übertragen werden.
  
  
Zeile 72: Zeile 71:
 
=== Laufende digitale Summe ===
 
=== Laufende digitale Summe ===
  
Die ternären Amplitudenkoeffizienten seien&nbsp;$a_\nu \in \{ -1, \ 0, +1\}$.&nbsp; Nach der Übertragung von &nbsp;<i>l</i>&nbsp; Blöcken gilt für die &bdquo;laufende digitale Summe&rdquo;:
 
 
[[Datei:P_ID1334__Dig_T_2_3_S2.png|right|frame|Codetabellen für drei 4B3T-Codes|class=fit]]
 
[[Datei:P_ID1334__Dig_T_2_3_S2.png|right|frame|Codetabellen für drei 4B3T-Codes|class=fit]]
:$${\it \Sigma}_l = \sum_{\nu = 1}^{3 \hspace{0.02cm}\cdot
+
 
 +
Die ternären Amplitudenkoeffizienten seien&nbsp;$a_\nu \in \{ -1, \ 0, +1\}$.&nbsp;
 +
 
 +
Nach der Übertragung von &nbsp;<i>l</i>&nbsp; Blöcken gilt für die &bdquo;Laufende Digitale Summe&rdquo;&nbsp;  $($englisch:&nbsp; ''Running Digital Sum'',&nbsp; kurz&nbsp; $\rm RDS)$:
 +
:$${\it \Sigma}_l = \sum_{\nu = 1}^{3 \hspace{0.05cm}\cdot
 
\hspace{0.05cm} l}\hspace{0.02cm} a_\nu \hspace{0.05cm}.$$
 
\hspace{0.05cm} l}\hspace{0.02cm} a_\nu \hspace{0.05cm}.$$
  
Zeile 86: Zeile 88:
  
 
Im Applet werden betrachtet:
 
Im Applet werden betrachtet:
* der $\rm MS43$&ndash;Code (von: &nbsp;$\rm M$odified $\rm M$onitored $\rm S$um $\rm 4$B$\rm 3$T&ndash;Code),  
+
* der $\rm MS43$&ndash;Code (von: &nbsp; $\rm M$onitored $\rm S$um $\rm 4$B$\rm 3$T&ndash;Code),  
 
* der $\rm MMS43$&ndash;Code (von: &nbsp;$\rm M$odified $\rm MS43$).
 
* der $\rm MMS43$&ndash;Code (von: &nbsp;$\rm M$odified $\rm MS43$).
  
 
    
 
    
Die &bdquo;laufende digitale Summe&rdquo; (englisch: ''Running Digital Sum'') wird im Applet wie folgt bezeichnet:
+
Zur Farbgebung der nebenstehenden Grafik:
:$${\it \Sigma}_l \ \Rightarrow \ {\rm RDS}_l .$$
+
# Graue Hintergung:&nbsp; Der RDS&ndash;Wert bleibt gleich:&nbsp; ${\it \Sigma}_{l+1} = {\it \Sigma}_l$.
 +
# Rote Hintergung:&nbsp; Der RDS&ndash;Wert wird größer:&nbsp; ${\it \Sigma}_{l+1} > {\it \Sigma}_l$.
 +
# Blaue Hintergung:&nbsp; Der RDS&ndash;Wert wird kleiner:&nbsp; ${\it \Sigma}_{l+1} < {\it \Sigma}_l$.
 +
# Zu&ndash; bzw. Abnahme ist umso größer, je intensiver die Farben sind.
 +
 
  
<br Clear = all>
 
 
=== AKF und LDS der 4B3T–Codes===
 
=== AKF und LDS der 4B3T–Codes===
  
 
[[Datei:P_ID1335__Dig_T_2_3_S3_v1.png|right|frame|Markovdiagramm zur Analyse des 4B3T-Codes (FoMoT)|class=fit]]
 
[[Datei:P_ID1335__Dig_T_2_3_S3_v1.png|right|frame|Markovdiagramm zur Analyse des 4B3T-Codes (FoMoT)|class=fit]]
Die Vorgehensweise zur Berechnung von AKF und LDS wird hier nur stichpunktartig skizziert. Im Applet wird hierauf nicht eingegangen):
+
Die Vorgehensweise zur Berechnung von AKF und LDS wird hier nur stichpunktartig skizziert <br>(im Applet wird hierauf nicht eingegangen):
  
 
'''(1)''' &nbsp; Der Übergang der laufenden digitalen Summe von &nbsp;${\it \Sigma}_l$&nbsp; nach &nbsp;${\it \Sigma}_{l+1}$&nbsp; wird durch eine homogene stationäre Markovkette erster Ordnung mit sechs (Jessop&ndash;Waters) bzw. vier Zuständen (MS43, FoMoT) beschrieben.  Für den FoMoT&ndash;Code gilt das rechts skizzierte  Markovdiagramm.<br>
 
'''(1)''' &nbsp; Der Übergang der laufenden digitalen Summe von &nbsp;${\it \Sigma}_l$&nbsp; nach &nbsp;${\it \Sigma}_{l+1}$&nbsp; wird durch eine homogene stationäre Markovkette erster Ordnung mit sechs (Jessop&ndash;Waters) bzw. vier Zuständen (MS43, FoMoT) beschrieben.  Für den FoMoT&ndash;Code gilt das rechts skizzierte  Markovdiagramm.<br>
Zeile 114: Zeile 119:
  
 
*Die Grafik zeigt das LDS &nbsp;${\it \Phi}_a(f)$&nbsp; der Amplitudenkoeffizienten &nbsp;$a_\nu$&nbsp; des 4B3T-Codes &nbsp; &rArr; &nbsp; rote Kurve.  
 
*Die Grafik zeigt das LDS &nbsp;${\it \Phi}_a(f)$&nbsp; der Amplitudenkoeffizienten &nbsp;$a_\nu$&nbsp; des 4B3T-Codes &nbsp; &rArr; &nbsp; rote Kurve.  
*Das LDS &nbsp;${\it \Phi}_s(f)$&nbsp; unter Einbeziehung des Sendegrundimpulses erhält man durch Multiplikation mit &nbsp;$1/T \cdot |G_s(f)|^2$. Beispielsweise muss man &nbsp;${\it \Phi}_a(f)$&nbsp; mit einer &nbsp;$\rm si^2$&ndash;Funktion multiplizieren, wenn &nbsp;$g_s(t)$&nbsp;  einen Rechteckimpuls beschreibt.<br>
+
*Das LDS &nbsp;${\it \Phi}_s(f)$&nbsp; unter Einbeziehung des Sendegrundimpulses erhält man durch Multiplikation mit &nbsp;$1/T \cdot |G(f)|^2$. Beispielsweise muss man &nbsp;${\it \Phi}_a(f)$&nbsp; mit einer &nbsp;$\rm si^2$&ndash;Funktion multiplizieren, wenn &nbsp;$g(t)$&nbsp;  einen Rechteckimpuls beschreibt.<br>
 
*Bei redundanzfreier Binär&ndash; oder Ternärcodierung ergibt sich jeweils ein konstantes &nbsp;${\it \Phi}_a(f)$, dessen Höhe von der Stufenzahl &nbsp;$M$&nbsp; abhängt (unterschiedliche Signalleistung).  
 
*Bei redundanzfreier Binär&ndash; oder Ternärcodierung ergibt sich jeweils ein konstantes &nbsp;${\it \Phi}_a(f)$, dessen Höhe von der Stufenzahl &nbsp;$M$&nbsp; abhängt (unterschiedliche Signalleistung).  
 
*Dagegen weist das 4B3T&ndash;Leistungsdichtespektrum Nullstellen bei &nbsp;$f = 0$&nbsp; und Vielfachen von &nbsp;$f = 1/T$&nbsp; auf.<br>
 
*Dagegen weist das 4B3T&ndash;Leistungsdichtespektrum Nullstellen bei &nbsp;$f = 0$&nbsp; und Vielfachen von &nbsp;$f = 1/T$&nbsp; auf.<br>
 
*Die Nullstelle bei &nbsp;$f = 0$&nbsp; hat den Vorteil, dass das 4B3T&ndash;Signal ohne große Einbußen auch über einen so genannten ''Telefonkanal''&nbsp; übertragen werden kann, der aufgrund von Übertragern für ein Gleichsignal nicht geeignet ist.<br>
 
*Die Nullstelle bei &nbsp;$f = 0$&nbsp; hat den Vorteil, dass das 4B3T&ndash;Signal ohne große Einbußen auch über einen so genannten ''Telefonkanal''&nbsp; übertragen werden kann, der aufgrund von Übertragern für ein Gleichsignal nicht geeignet ist.<br>
*Die Nullstelle bei &nbsp;$f = 1/T$&nbsp; hat den Nachteil, dass dadurch die Taktrückgewinnung am Empfänger erschwert wird. Außerhalb dieser Nullstellen weisen die 4B3T&ndash;Codes ein flacheres &nbsp;${\it \Phi}_a(f)$&nbsp; auf  als der im nächsten Kapitel behandelte  &nbsp;[[Digitalsignalübertragung/Symbolweise_Codierung_mit_Pseudoternärcodes#Eigenschaften_des_AMI-Codes|AMI&ndash;Code]]&nbsp; (blaue Kurve), was von Vorteil ist.<br>
+
*Die Nullstelle bei &nbsp;$f = 1/T$&nbsp; hat den Nachteil, dass dadurch die Taktrückgewinnung am Empfänger erschwert wird. Außerhalb dieser Nullstellen weisen die 4B3T&ndash;Codes ein flacheres &nbsp;${\it \Phi}_a(f)$&nbsp; auf  als beispielsweise der   &nbsp;[[Digitalsignalübertragung/Symbolweise_Codierung_mit_Pseudoternärcodes#Eigenschaften_des_AMI-Codes|AMI&ndash;Code]]&nbsp; (blaue Kurve), was von Vorteil ist.<br>
*Der Grund für den flacheren LDS&ndash;Verlauf bei mittleren Frequenzen sowie den steileren Abfall zu den Nullstellen hin ist, dass bei den 4B3T&ndash;Codes bis zu fünf &nbsp;$+1$&ndash; bzw. &nbsp;$-1$&ndash;Koeffizienten aufeinanderfolgen können. Beim AMI&ndash;Code treten diese Symbole nur isoliert auf.<br>
+
*Der Grund für den flacheren LDS&ndash;Verlauf bei mittleren Frequenzen sowie den steileren Abfall zu den Nullstellen hin ist, dass bei den 4B3T&ndash;Codes bis zu fünf &nbsp;$+1$&ndash;&nbsp; bzw. &nbsp;$-1$&ndash;Koeffizienten aufeinanderfolgen können.&nbsp; Beim AMI&ndash;Code treten diese Symbole nur isoliert auf.<br>
  
  
 
==Versuchsdurchführung==
 
==Versuchsdurchführung==
  
[[Datei:Aufgaben_2D-Gauss.png|right]]
+
[[Datei:Übungen.png|right]]
 
*Wählen Sie zunächst die Nummer&nbsp; ('''1''',&nbsp;'''2''', ... )&nbsp; der zu bearbeitenden Aufgabe.
 
*Wählen Sie zunächst die Nummer&nbsp; ('''1''',&nbsp;'''2''', ... )&nbsp; der zu bearbeitenden Aufgabe.
*Eine Aufgabenbeschreibung wird angezeigt. Die Parameterwerte sind angepasst.
+
*Eine Aufgabenbeschreibung wird angezeigt.&nbsp; Die Parameterwerte sind angepasst.
 
*Lösung nach Drücken von &bdquo;Musterlösung&rdquo;.
 
*Lösung nach Drücken von &bdquo;Musterlösung&rdquo;.
 
*Die Nummer&nbsp; '''0'''&nbsp; entspricht einem &bdquo;Reset&rdquo;:&nbsp; Einstellung wie beim Programmstart.
 
*Die Nummer&nbsp; '''0'''&nbsp; entspricht einem &bdquo;Reset&rdquo;:&nbsp; Einstellung wie beim Programmstart.
*?????
+
*Für die Quellensymboleingabe wird&nbsp; &bdquo;0&rdquo;&nbsp; und&nbsp; &bdquo;&ndash;&rdquo;&nbsp; gleichermaßen verwendet,&nbsp; ebenso &nbsp; &bdquo;1&rdquo;&nbsp; und&nbsp; &bdquo;+&rdquo;.
 
<br clear=all>
 
<br clear=all>
  
 
{{BlaueBox|TEXT=
 
{{BlaueBox|TEXT=
 
'''(1)'''&nbsp; Verdeutlichen Sie sich die 4B3T&ndash;Codierung der Quellensymbolfolge&nbsp; $\rm A$ &nbsp; &rArr; &nbsp; $\langle q_\nu \rangle = \langle 0, 1, 0, 1; \  1, 0, 1, 1; \  0, 1, 1, 0  \rangle $&nbsp; gemäß dem&nbsp; $\rm MS43$&ndash;Code im Schrittmodus.<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Der RDS-Startwert sei&nbsp; ${\it \Sigma}_0= 0$. &nbsp; ''Hinweis'':&nbsp; Die Quellensymbolfolge ist durch Semikola bereits in Teilfolgen mit jeweils vier Binärsymbolen unterteilt.  }}
 
'''(1)'''&nbsp; Verdeutlichen Sie sich die 4B3T&ndash;Codierung der Quellensymbolfolge&nbsp; $\rm A$ &nbsp; &rArr; &nbsp; $\langle q_\nu \rangle = \langle 0, 1, 0, 1; \  1, 0, 1, 1; \  0, 1, 1, 0  \rangle $&nbsp; gemäß dem&nbsp; $\rm MS43$&ndash;Code im Schrittmodus.<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Der RDS-Startwert sei&nbsp; ${\it \Sigma}_0= 0$. &nbsp; ''Hinweis'':&nbsp; Die Quellensymbolfolge ist durch Semikola bereits in Teilfolgen mit jeweils vier Binärsymbolen unterteilt.  }}
* Ausgehend vom RDS-Startwert&nbsp; ${\it \Sigma}_0= 0$&nbsp; erkennt man folgende Codierung der ersten vier Binärsymbole:&nbsp; $(0, 1, 0, 1)\ \rightarrow\ (+,\ 0 ,\ +) $ &nbsp; &rArr; &nbsp; ${\it \Sigma}_1= 2.$
+
* Ausgehend vom RDS-Startwert&nbsp; ${\it \Sigma}_0= 0$&nbsp; erkennt man folgende Codierung der ersten vier Binärsymbole (erster Block):&nbsp; $(0, 1, 0, 1)\ \rightarrow\ (+,\ 0 ,\ +) $ &nbsp; &rArr; &nbsp; ${\it \Sigma}_1= 2.$
* Für die nächsten vier Binärsymbole ist nun von&nbsp; ${\it \Sigma}_1= 2$&nbsp; auszugehen:&nbsp; $(1, 0, 1,  1)\ \rightarrow\ (-,\ 0 ,\ 0) $ &nbsp; &rArr; &nbsp; ${\it \Sigma}_2= 3.$
+
* Für die nächsten vier Binärsymbole (zweiter Block) ist nun von&nbsp; ${\it \Sigma}_1= 2$&nbsp; auszugehen:&nbsp; $(1, 0, 1,  1)\ \rightarrow\ (+,\ 0 ,\ 0) $ &nbsp; &rArr; &nbsp; ${\it \Sigma}_2= 3.$
*Die Codierung der Binärsymbole 9 bis 12 ergibt sich mit&nbsp; ${\it \Sigma}_2= 3$&nbsp; zu&nbsp; $(0, 1, 1, 0,)\ \rightarrow\ (+,\ 0 ,\ 0) $ &nbsp; &rArr; &nbsp; ${\it \Sigma}_3= 2.$     
+
*Die Codierung der Binärsymbole 9 bis 12 (dritter Block) ergibt sich mit&nbsp; ${\it \Sigma}_2= 3$&nbsp; zu&nbsp; $(0, 1, 1, 0,)\ \rightarrow\ (-,\ 0 ,\ 0) $ &nbsp; &rArr; &nbsp; ${\it \Sigma}_3= 2.$     
  
  
Zeile 166: Zeile 171:
 
   
 
   
 
*Aus der im Programm angegebenen Tabelle ist ersichtlich, dass sich beim modifizierte MS43&ndash;Code tatsächlich alle vier  Tabellen unterscheiden.&nbsp;  
 
*Aus der im Programm angegebenen Tabelle ist ersichtlich, dass sich beim modifizierte MS43&ndash;Code tatsächlich alle vier  Tabellen unterscheiden.&nbsp;  
*Die Einträge für&nbsp; ${\it \Sigma}_l= 1$&nbsp; und&nbsp; ${\it \Sigma}_l= 2$&nbsp; sind zwar weitgehend gleich.&nbsp; Sie unterscheiden sich nur für die Binärsequenzen&nbsp; $(0, 1, 1, 1)$&nbsp; und&nbsp; $(0, 1, 1, 1)$.
+
*Die Einträge für&nbsp; ${\it \Sigma}_l= 1$&nbsp; und&nbsp; ${\it \Sigma}_l= 2$&nbsp; sind zwar weitgehend gleich.&nbsp; Sie unterscheiden sich nur für die Binärsequenzen&nbsp; $(0, 1, 1, 0)$&nbsp; und&nbsp; $(1, 0, 1, 0)$.
*Der&nbsp; $\rm MMS43$&ndash;Code wird bei&nbsp; $\rm ISDN$&nbsp; (''Integrated Services Digital Network'')&nbsp; auf dem Teilnehmeranschluss&nbsp; $(U_{K0})$&nbsp; verwendet.&nbsp;
+
*Der&nbsp; $\rm MMS43$&ndash;Code wird bei&nbsp; $\rm ISDN$&nbsp; (''Integrated Services Digital Network'')&nbsp; auf dem Teilnehmeranschluss&nbsp; $(U_{K0}$&ndash;Schnittstelle$)$ verwendet.&nbsp;
 
*Uns ist nicht bekannt, warum bei der Standardisierung der ursprüngliche MS43&ndash;Code modifiziert wurde.&nbsp; Wir vermuten, ein etwas günstigeres Leistungsdichtespektrum.
 
*Uns ist nicht bekannt, warum bei der Standardisierung der ursprüngliche MS43&ndash;Code modifiziert wurde.&nbsp; Wir vermuten, ein etwas günstigeres Leistungsdichtespektrum.
 
    
 
    
 
   
 
   
 
{{BlaueBox|TEXT=
 
{{BlaueBox|TEXT=
'''(6)'''&nbsp; Wir betrachten weiter die AMI&ndash;Codierung und den Rechteckimpuls.&nbsp; Interpretieren Sie die AKF&nbsp; $\varphi_s(\tau)$&nbsp; des Sendesignals und das LDS&nbsp; ${\it \Phi}_s(f)$. }}
+
'''(6)'''&nbsp; Vergleichen Sie die Ergebnisse für&nbsp; $\rm MS43$&nbsp; und&nbsp; $\rm MMS43$&nbsp; für die Quellensymbolfolgen&nbsp; $\rm A$&nbsp; und&nbsp; $\rm B$&nbsp; und beliebige RDS&ndash;Startwerte.&nbsp; Wählen Sie den Modus &bdquo;Gesamt&rdquo;.}}
*$\varphi_s(\tau)$&nbsp; ergibt sich aus der Faltung der diskreten AKF&nbsp; $\varphi_a(\lambda)$&nbsp; mit&nbsp; $\varphi^{^{\hspace{0.05cm}\bullet}}_{g}(\tau)$.&nbsp;   Beim Rechteckimpuls&nbsp; $($Dauer $T)$&nbsp; ist die Energie&ndash;AKF&nbsp; $\varphi^{^{\hspace{0.05cm}\bullet}}_{g}(\tau)$&nbsp; ein Dreieck der Dauer&nbsp; $2T$.
+
*Für die Quellensymbolfolge&nbsp; $\rm A$&nbsp; gibt es zwei unterschiedliche&nbsp; $\rm MS43$&ndash;Codesymbolfolgen und drei unterschiedliche &nbsp; $\rm MMS43$&ndash;Codesymbolfolgen.
*Es gilt&nbsp; $\varphi_s(\tau = 0)= \varphi_a(\lambda = 0) =0.5, \ \varphi_s(\pm T)= \varphi_a( 1) =-0.25,\ , \ \varphi_s( \pm 2T)= \varphi_a(2) =0.$&nbsp; Zwischen diesen diskreten Werten verläuft&nbsp; $\varphi_{s}(\tau)$&nbsp; stets linear.
+
*Für die Quellensymbolfolge&nbsp; $\rm B$&nbsp; sind die&nbsp; $\rm MS43$&ndash;Codesymbolfolgen für alle möglichen&nbsp; ${\it \Sigma}_0$&nbsp; gleich.&nbsp; Bei&nbsp; $\rm MMS43$:&nbsp; zwei verschiedene Codierergebnisse.  
*Das LDS&nbsp; ${\it \Phi}_s(f)$&nbsp; ergibt sich aus&nbsp; ${\it \Phi}_a(f)  =  \sin^2(\pi  f    T)$&nbsp; durch Multiplikation mit ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)  = {\rm si}^2(\pi f T).$&nbsp; An den Nullstellen von&nbsp; ${\it \Phi}_a(f)$&nbsp; ändert sich dadurch nichts.  
+
 
  
 +
{{BlaueBox|TEXT=
 +
'''(7)'''&nbsp; Interpretieren Sie die Ergebnisse für die Symbolfolge&nbsp; $\rm C$ &nbsp; &rArr; &nbsp; $\langle q_\nu \rangle = \langle 0, 1, 1, 0; \  0, 1, 1, 0; \  0, 1, 1, 0  \rangle $&nbsp; für beide Codes und alle RDS&ndash;Startwerte.&nbsp;Modus:&nbsp; &bdquo;Gesamt&rdquo;.}}
 +
*Die vier Eingangsbit eines jeden Blocks sind&nbsp; $(0,\ 1,\ 1,\ 0)$.&nbsp; Beim&nbsp; $\rm MS43$&nbsp; werden diese ersetzt durch&nbsp; $(0,\ +,\ +)$,&nbsp; falls&nbsp; ${\it \Sigma}_l=0$;&nbsp; bzw.&nbsp; $(-,\ 0,\ 0)$,&nbsp; falls&nbsp; ${\it \Sigma}_l\ne0$.
 +
*Beim&nbsp; $\rm MMS43$&nbsp; werden diese ersetzt durch&nbsp; $(-,\ +,\ +)$,&nbsp; falls&nbsp; ${\it \Sigma}_l\le 1$;&nbsp; bzw.&nbsp; $(-,\ -,\ +)$,&nbsp; falls&nbsp; ${\it \Sigma}_l\ge 2$.&nbsp; '''Nur wenn Sie sehr viel Zeit haben:''' 
 +
*Versuchen Sie den Sinn dieser Modifizierung von&nbsp; $\rm MS43$&nbsp; auf&nbsp; $\rm MMS43$&nbsp;  zu ergründen.&nbsp; Uns vom $\rm LNTwww$&ndash;Team ist das nämlich nicht gelungen.
  
 
   
 
   
  
 
== Zur Handhabung des Applets==
 
== Zur Handhabung des Applets==
<br>
+
[[Datei:Exercise_4B3T.png|right|600px|frame|Bildschirmabzug der englischen Version]]
[[Datei:Anleitung_abtast.png|right|600px]]
+
<br><br>
<br><br><br><br>
+
&nbsp; &nbsp; '''(A)''' &nbsp; &nbsp; Auswahl der Quellensymbolfolge:&nbsp; $\rm A$,&nbsp; $\rm B$&nbsp; oder&nbsp; $\rm C$   
&nbsp; &nbsp; '''(A)''' &nbsp; &nbsp; Auswahl eines von vier Quellensignalen 
 
  
&nbsp; &nbsp; '''(B)''' &nbsp; &nbsp; Parameterwahl für Quellensignal&nbsp; $1$&nbsp; (Amplitude, Frequenz, Phase)  
+
&nbsp; &nbsp; '''(B)''' &nbsp; &nbsp; Programmoptionen <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $($Zufallsfolge,&nbsp; blockweise RDS-Berechnung,&nbsp; Gesamtansicht,&nbsp; Reset$)$
  
&nbsp; &nbsp; '''(C)''' &nbsp; &nbsp; Ausgabe der verwendeten Programmparameter  
+
&nbsp; &nbsp; '''(C)''' &nbsp; &nbsp; "MS43"&nbsp; oder&nbsp; "MMS43"  
  
&nbsp; &nbsp; '''(D)''' &nbsp; &nbsp; Parameterwahl für Abtastung&nbsp; $(f_{\rm G})$&nbsp; und <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Signalrekonstruktion&nbsp; $(f_{\rm A},\ r)$
+
&nbsp; &nbsp; '''(D)''' &nbsp; &nbsp; Berechnung der&nbsp; "Running Digital Sum"
  
&nbsp; &nbsp; '''(E)''' &nbsp; &nbsp; Skizze des Empfänger&ndash;Frequenzgangs&nbsp; $H_{\rm E}(f)$
+
&nbsp; &nbsp; '''(E)''' &nbsp; &nbsp; Blockweise Bitänderung
  
&nbsp; &nbsp; '''(F)''' &nbsp; &nbsp; Numerische Ausgabe&nbsp; $(P_x, \ P_{\rm \varepsilon}, \ 10 \cdot \lg(P_x/ P_{\rm \varepsilon})$
+
&nbsp; &nbsp; '''(F)''' &nbsp; &nbsp; Grafikbereich für das Quellensignal&nbsp; $q(t)$  
  
&nbsp; &nbsp; '''(G)''' &nbsp; &nbsp; Darstellungsauswahl für Zeitbereich
+
&nbsp; &nbsp; '''(G)''' &nbsp; &nbsp; Grafikbereich für das Codersignal&nbsp; $c(t)$ 
  
&nbsp; &nbsp; '''(H)''' &nbsp; &nbsp; Grafikbereich für Zeitbereich
+
&nbsp; &nbsp; '''(H)''' &nbsp; &nbsp; Gesamtdarstellung der Werte&nbsp; ${\it \Sigma}_0,\ {\it \Sigma}_1, \ {\it \Sigma}_2, \ {\it \Sigma}_4$&nbsp; für&nbsp; "MS43"&nbsp; und&nbsp; "MMS43"
  
&nbsp; &nbsp; '''( I )''' &nbsp; &nbsp; Darstellungsauswahl für Frequenzbereich 
+
&nbsp; &nbsp; '''(I)''' &nbsp; &nbsp; Aufgabenauswahl
  
&nbsp; &nbsp; '''(J)''' &nbsp; &nbsp; Grafikbereich für Frequenzbereich
+
&nbsp; &nbsp; '''(I)''' &nbsp; &nbsp; Fragen und Lösungen
  
&nbsp; &nbsp; '''(K)''' &nbsp; &nbsp; Bereich für Übungen:&nbsp; Aufgabenauswahl, Fragen, Musterlösung
+
<br clear=all>
 
<br clear=all>
 
<br clear=all>
 
==Über die Autoren==
 
==Über die Autoren==
 
Dieses interaktive Berechnungstool  wurde am&nbsp; [http://www.lnt.ei.tum.de/startseite Lehrstuhl für Nachrichtentechnik]&nbsp; der&nbsp; [https://www.tum.de/ Technischen Universität München]&nbsp; konzipiert und realisiert.  
 
Dieses interaktive Berechnungstool  wurde am&nbsp; [http://www.lnt.ei.tum.de/startseite Lehrstuhl für Nachrichtentechnik]&nbsp; der&nbsp; [https://www.tum.de/ Technischen Universität München]&nbsp; konzipiert und realisiert.  
 
*Die erste Version wurde 2010 von&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Stefan_M.C3.BCller_.28Diplomarbeit_LB_2010.29|Stefan Müller]]&nbsp; im Rahmen seiner Diplomarbeit (LB) mit &bdquo;FlashMX&ndash;Actionscript&rdquo; erstellt (Betreuer:&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Mitarbeiter_und_Dozenten#Prof._Dr.-Ing._habil._G.C3.BCnter_S.C3.B6der_.28am_LNT_seit_1974.29|Günter Söder]]).  
 
*Die erste Version wurde 2010 von&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Stefan_M.C3.BCller_.28Diplomarbeit_LB_2010.29|Stefan Müller]]&nbsp; im Rahmen seiner Diplomarbeit (LB) mit &bdquo;FlashMX&ndash;Actionscript&rdquo; erstellt (Betreuer:&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Mitarbeiter_und_Dozenten#Prof._Dr.-Ing._habil._G.C3.BCnter_S.C3.B6der_.28am_LNT_seit_1974.29|Günter Söder]]).  
* 2020 wurde das Programm  von&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]&nbsp; im Rahmen einer Werkstudententätigkeit auf  &bdquo;HTML5&rdquo; umgesetzt und neu gestaltet (Betreuer:&nbsp; [[Biografien_und_Bibliografien/Beteiligte_der_Professur_Leitungsgebundene_%C3%9Cbertragungstechnik#Tasn.C3.A1d_Kernetzky.2C_M.Sc._.28bei_L.C3.9CT_seit_2014.29|Tasnád Kernetzky]]).
+
* 2020 wurde das Programm  von&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]&nbsp; im Rahmen einer Werkstudententätigkeit auf  &bdquo;HTML5&rdquo; umgesetzt und neu gestaltet (Betreuer:&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_LÜT-Angehörige#Dr.-Ing._Tasn.C3.A1d_Kernetzky_.28bei_L.C3.9CT_von_2014-2022.29|Tasnád Kernetzky]]).
  
  
Zeile 220: Zeile 229:
 
==Nochmalige Aufrufmöglichkeit des Applets in neuem Fenster==
 
==Nochmalige Aufrufmöglichkeit des Applets in neuem Fenster==
  
{{LntAppletLink|matchedFilter}}
+
{{LntAppletLinkDeEn|4B3T|4B3T_en}}

Aktuelle Version vom 26. Oktober 2023, 10:43 Uhr

Applet in neuem Tab öffnen   Open English Version


Programmbeschreibung


Das Applet verdeutlicht das Prinzip der  $\rm 4B3T$–Codierung.  Hierbei wird jeweils ein Block von vier Binärsymbolen durch eine Sequenz aus drei Ternärsymbolen ersetzt.  Daraus ergibt sich eine relative Coderedundanz von knapp  $16\%$,  die dazu verwendet wird, um Gleichsignalfreiheit zu erzielen.

Die Umcodierung der sechzehn möglichen Binärblöcke in die entsprechenden Ternärblöcke könnte prinzipiell nach einer festen Codetabelle erfolgen. Um die spektralen Eigenschaften dieser Codes weiter zu verbessern, werden bei den 4B3T–Codes aber stets mehrere Codetabellen verwendet, die nach der „laufenden digitalen Summe”  $($englisch:  Running Digital Sum,  kurz  $\rm RDS)$  blockweise ausgewählt werden.

Im Applet sind im unteren Bereich die entsprechenden Codetabellen angegeben, und zwar alternativ für

  • den $\rm MS43$–Code (von:   $\rm M$onitored $\rm S$um $\rm 4$B$\rm 3$T–Code), und
  • den $\rm MMS43$–Code (von:  $\rm M$odified $\rm MS43$).


Eingabeparameter sind neben dem gewünschten Code (MS43 oder MMS43) der RDS–Startwert  $\rm RDS_0$  sowie zwölf binäre Quellensymbole  $q_\nu \in \{0,\ 1\}$,  entweder per Hand, per Voreinstellung  $($Quellensymbolfolge  $\rm A$,  $\rm B$,  $\rm C)$ oder per Zufallsgenerator. 

Vom Programm angeboten werden zwei verschiedene Modi:

  • Im Modus „Schritt” werden die drei Blöcke sukzessive abgearbeitet (jeweils Festlegung der drei Ternärsymbole, Aktualisierung des RDS–Wertes und damit Festlegung der Codetabelle für den nächsten Block.
  • Im Modus „Gesamt” werden nur die Codierergebnisse angezeigt, aber gleichzeitig für die beiden möglichen Codes und jeweils für alle vier möglichen RDS–Startwerte.  Die Grafik und der RDS–Ausgabeblock rechts beziehen sich dabei auf die getroffenen Einstellungen.


Theoretischer Hintergrund

Klassifizierung verschiedener Codierverfahren


Wir betrachten das dargestellte digitale Übertragungsmodell.  Wie aus diesem Blockschaltbild zu erkennen ist, unterscheidet man je nach Zielrichtung zwischen drei verschiedenen Arten von Codierung, jeweils realisiert durch den sendeseitigen Codierer (Coder) und den zugehörigen Decodierer (Decoder) beim Empfänger:

Vereinfachtes Modell eines Nachrichtenübertragungssystems
  • $\text{Quellencodierung:}$  Entfernen (unnötiger) Redundanz, um Daten möglichst effizient speichern oder übertragen zu können   ⇒   Datenkomprimierung.  Beispiel:  Differentielle Pulscodemodulation  $\rm (DPCM)$  in der Bildcodierung.
  • $\text{Kanalcodierung:}$  Gezieltes Hinzufügen (sinnvoller) Redundanz, die man beim Empfänger zur Fehlererkennung oder zur Fehlererkennung nutzen kann.  Wichtigste Vertreter:  Blockcodes, Faltungscodes, Turbocodes.
  • $\text{Leitungscodierung:}$  Umcodierung der Quellensymbole, um das Signal an die Spektraleigenschaften von Kanal und Empfangseinrichtungen anzupassen, etwa, um bei einem Kanal mit  $H_{\rm K}(f = 0) = 0$  ein gleichsignalfreies Sendesignal  $x(t)$  zu erreichen.  


Bei den Leitungscodes unterscheidet man weiter:

  • $\text{Symbolweise Codierung:}$  Mit jedem ankommenden Binärsymbol  $q_ν$  wird ein mehrstufiges (zum Beispiel: ternäres) Codesymbol  $c_ν$  erzeugt, das auch von den vorherigen Binärsymbolen abhängt.  Die Symboldauern  $T_q$  und  $T_c$  sind hierbei identisch.  Beispiel:  Pseudoternärcodes (AMI–Code, Duobinärcode).
  • $\text{Blockweise Codierung:}$  Ein Block aus  $m_q$  Binärsymbolen  $(M_q = 2)$  wird durch eine Sequenz aus  $m_c$  höherstufigen Symbolen  $(M_c > 2)$  ersetzt.  Ein Kennzeichen dieser Codeklasse ist  $T_c> T_q$.  Beispiele sind redundanzfreie Mehrstufencodes  $(M_c$ ist eine Zweierpotenz$)$  sowie die hier betrachteten $\text{4B3T-Codes}$.


Allgemeine Beschreibung der 4B3T–Codes

Der bekannteste Blockcode zur Leitungscodierung ist der  $\rm 4B3T–Code$  mit den Codeparametern

$$m_q = 4,\hspace{0.2cm}M_q = 2,\hspace{0.2cm}m_c = 3,\hspace{0.2cm}M_c = 3\hspace{0.05cm},$$

der bereits in den 1970–er Jahren entwickelt wurde und beispielsweise bei   ISDN  (Integrated Services Digital Networks ) eingesetzt wird.

Ein 4B3T–Code besitzt folgende Eigenschaften:

  • Wegen  $m_q \cdot T_q = m_c \cdot T_c$  ist die Symboldauer  $T=T_c$  des Codersignals um den Faktor  $4/3$  größer als die Bitdauer  $T_{\rm B}=T_q$  des binären Quellensignals. Daraus ergibt sich die günstige Eigenschaft, dass der Bandbreitenbedarf um ein Viertel geringer ist als bei redundanzfreier Binärübertragung.
  • Die relative Redundanz der 4B3T–Codes ergibt sich zu
$$r_c = 1- \frac{m_q \cdot {\rm log_2}\hspace{0.05cm} (M_q)}{m_c \cdot {\rm log_2} \hspace{0.05cm}(M_c)} = 1- \frac{4 \cdot {\rm log_2}\hspace{0.05cm} (2)}{3 \cdot {\rm log_2} \hspace{0.05cm}3}= 1- \frac{4 }{3 \cdot 1.585}\hspace{0.05cm}\approx{0.158}.$$
  • Diese Redundanz von knapp  $16\%$  wird dazu verwendet, um Gleichsignalfreiheit zu erzielen.  Das 4B3T–codierte Signal kann somit ohne merkbare Beeinträchtigung auch über einen Kanal mit der Eigenschaft  $H_{\rm K}(f= 0) = 0$  übertragen werden.


Die Umcodierung der sechzehn möglichen Binärblöcke in die entsprechenden Ternärblöcke könnte prinzipiell nach einer festen Codetabelle vorgenommen werden.  Um die spektralen Eigenschaften dieser Codes weiter zu verbessern, werden bei den gebräuchlichen 4B3T–Codes, nämlich

  • dem 4B3T–Code nach Jessop und Waters,
  • dem MS43–Code (von:  $\rm M$onitored $\rm S$um $\rm 4$B$\rm 3$T–Code),
  • dem FoMoT–Code (von:  $\rm Fo$ur $\rm Mo$de $\rm T$ernary),

zwei oder mehrere Codetabellen verwendet, deren Auswahl von der „laufenden digitalen Summe” der Amplitudenkoeffizienten gesteuert wird.


Laufende digitale Summe

Codetabellen für drei 4B3T-Codes

Die ternären Amplitudenkoeffizienten seien $a_\nu \in \{ -1, \ 0, +1\}$. 

Nach der Übertragung von  l  Blöcken gilt für die „Laufende Digitale Summe”  $($englisch:  Running Digital Sum,  kurz  $\rm RDS)$:

$${\it \Sigma}_l = \sum_{\nu = 1}^{3 \hspace{0.05cm}\cdot \hspace{0.05cm} l}\hspace{0.02cm} a_\nu \hspace{0.05cm}.$$

Die Auswahl der Tabelle zur Codierung des  $(l + 1)$–ten Blocks erfolgt abhängig vom aktuellen Wert  ${\it \Sigma}_l$.

In der Tabelle sind die Codierregeln für die drei oben genannten 4B3T–Codes angegeben. Zur Vereinfachung der Schreibweise steht „+” für den Amplitudenkoeffizienten „+1” und „–” für den Koeffizienten „–1”.

  1.  Die zwei Codetabellen des Jessop–Waters–Codes sind so gewählt, dass die laufende digitale Summe  ${\it \Sigma}_l$  stets zwischen $0$ und $5$ liegt.
  2.  Bei den beiden anderen Codes (MS43, FoMoT) erreicht man durch drei bzw. vier alternative Tabellen die Beschränkung der laufenden digitalen Summe auf den Wertebereich  $0 \le {\it \Sigma}_l \le 3$.


Im Applet werden betrachtet:

  • der $\rm MS43$–Code (von:   $\rm M$onitored $\rm S$um $\rm 4$B$\rm 3$T–Code),
  • der $\rm MMS43$–Code (von:  $\rm M$odified $\rm MS43$).


Zur Farbgebung der nebenstehenden Grafik:

  1. Graue Hintergung:  Der RDS–Wert bleibt gleich:  ${\it \Sigma}_{l+1} = {\it \Sigma}_l$.
  2. Rote Hintergung:  Der RDS–Wert wird größer:  ${\it \Sigma}_{l+1} > {\it \Sigma}_l$.
  3. Blaue Hintergung:  Der RDS–Wert wird kleiner:  ${\it \Sigma}_{l+1} < {\it \Sigma}_l$.
  4. Zu– bzw. Abnahme ist umso größer, je intensiver die Farben sind.


AKF und LDS der 4B3T–Codes

Markovdiagramm zur Analyse des 4B3T-Codes (FoMoT)

Die Vorgehensweise zur Berechnung von AKF und LDS wird hier nur stichpunktartig skizziert
(im Applet wird hierauf nicht eingegangen):

(1)   Der Übergang der laufenden digitalen Summe von  ${\it \Sigma}_l$  nach  ${\it \Sigma}_{l+1}$  wird durch eine homogene stationäre Markovkette erster Ordnung mit sechs (Jessop–Waters) bzw. vier Zuständen (MS43, FoMoT) beschrieben. Für den FoMoT–Code gilt das rechts skizzierte Markovdiagramm.


(2)   Die Werte an den Pfeilen kennzeichnen die Übergangswahrscheinlichkeiten  ${\rm Pr}({\it \Sigma}_{l+1}|{\it \Sigma}_{l})$, die sich aus den jeweiligen Codetabellen ergeben. Die Farben korrespondieren zu den Hinterlegungen der Tabelle auf der letzten Seite. Aufgrund der Symmetrie des FoMoT–Markovdiagramms sind die vier Wahrscheinlichkeiten alle gleich:

$${\rm Pr}({\it \Sigma}_{l} = 0) = \text{...} = {\rm Pr}({\it \Sigma}_{l} = 3) = 1/4.$$


(3)   Die Autokorrelationsfunktion (AKF)  $\varphi_a(\lambda) = {\rm E}\big [a_\nu \cdot a_{\nu+\lambda}\big ]$  der Amplitudenkoeffizienten kann aus diesem Diagramm ermittelt werden. Einfacher als die analytische Berechnung, die eines sehr großen Rechenaufwands bedarf, ist die simulative Bestimmung der AKF–Werte mittels Computer.


Durch Fouriertransformation der AKF kommt man zum Leistungsdichtespektrum (LDS)  ${\it \Phi}_a(f)$  der Amplitudenkoeffizienten entsprechend der folgenden Grafik aus [ST85][1]. Das skizzierte LDS wurde für den FoMoT–Code ermittelt, dessen Markovdiagramm oben dargestellt ist. Die Unterschiede der einzelnen 4B3T–Codes sind nicht sonderlich ausgeprägt. So gilt für den MS43–Code  ${\rm E}\big [a_\nu^2 \big ] \approx 0.65$  und für die beiden anderen 4B3T-Codes (Jessop/Waters, MS43)  ${\rm E}\big [a_\nu^2 \big ] \approx 0.69$.

Leistungsdichtespektrum (der Ampltudenkoeffizienten) von 4B3T im Vergleich zu redundanzfreier und AMI-Codierung

Die Aussagen dieser Grafik kann man wie folgt zusammenfassen:

  • Die Grafik zeigt das LDS  ${\it \Phi}_a(f)$  der Amplitudenkoeffizienten  $a_\nu$  des 4B3T-Codes   ⇒   rote Kurve.
  • Das LDS  ${\it \Phi}_s(f)$  unter Einbeziehung des Sendegrundimpulses erhält man durch Multiplikation mit  $1/T \cdot |G(f)|^2$. Beispielsweise muss man  ${\it \Phi}_a(f)$  mit einer  $\rm si^2$–Funktion multiplizieren, wenn  $g(t)$  einen Rechteckimpuls beschreibt.
  • Bei redundanzfreier Binär– oder Ternärcodierung ergibt sich jeweils ein konstantes  ${\it \Phi}_a(f)$, dessen Höhe von der Stufenzahl  $M$  abhängt (unterschiedliche Signalleistung).
  • Dagegen weist das 4B3T–Leistungsdichtespektrum Nullstellen bei  $f = 0$  und Vielfachen von  $f = 1/T$  auf.
  • Die Nullstelle bei  $f = 0$  hat den Vorteil, dass das 4B3T–Signal ohne große Einbußen auch über einen so genannten Telefonkanal  übertragen werden kann, der aufgrund von Übertragern für ein Gleichsignal nicht geeignet ist.
  • Die Nullstelle bei  $f = 1/T$  hat den Nachteil, dass dadurch die Taktrückgewinnung am Empfänger erschwert wird. Außerhalb dieser Nullstellen weisen die 4B3T–Codes ein flacheres  ${\it \Phi}_a(f)$  auf als beispielsweise der  AMI–Code  (blaue Kurve), was von Vorteil ist.
  • Der Grund für den flacheren LDS–Verlauf bei mittleren Frequenzen sowie den steileren Abfall zu den Nullstellen hin ist, dass bei den 4B3T–Codes bis zu fünf  $+1$–  bzw.  $-1$–Koeffizienten aufeinanderfolgen können.  Beim AMI–Code treten diese Symbole nur isoliert auf.


Versuchsdurchführung

Übungen.png
  • Wählen Sie zunächst die Nummer  (12, ... )  der zu bearbeitenden Aufgabe.
  • Eine Aufgabenbeschreibung wird angezeigt.  Die Parameterwerte sind angepasst.
  • Lösung nach Drücken von „Musterlösung”.
  • Die Nummer  0  entspricht einem „Reset”:  Einstellung wie beim Programmstart.
  • Für die Quellensymboleingabe wird  „0”  und  „–”  gleichermaßen verwendet,  ebenso   „1”  und  „+”.


(1)  Verdeutlichen Sie sich die 4B3T–Codierung der Quellensymbolfolge  $\rm A$   ⇒   $\langle q_\nu \rangle = \langle 0, 1, 0, 1; \ 1, 0, 1, 1; \ 0, 1, 1, 0 \rangle $  gemäß dem  $\rm MS43$–Code im Schrittmodus.
          Der RDS-Startwert sei  ${\it \Sigma}_0= 0$.   Hinweis:  Die Quellensymbolfolge ist durch Semikola bereits in Teilfolgen mit jeweils vier Binärsymbolen unterteilt.

  • Ausgehend vom RDS-Startwert  ${\it \Sigma}_0= 0$  erkennt man folgende Codierung der ersten vier Binärsymbole (erster Block):  $(0, 1, 0, 1)\ \rightarrow\ (+,\ 0 ,\ +) $   ⇒   ${\it \Sigma}_1= 2.$
  • Für die nächsten vier Binärsymbole (zweiter Block) ist nun von  ${\it \Sigma}_1= 2$  auszugehen:  $(1, 0, 1, 1)\ \rightarrow\ (+,\ 0 ,\ 0) $   ⇒   ${\it \Sigma}_2= 3.$
  • Die Codierung der Binärsymbole 9 bis 12 (dritter Block) ergibt sich mit  ${\it \Sigma}_2= 3$  zu  $(0, 1, 1, 0,)\ \rightarrow\ (-,\ 0 ,\ 0) $   ⇒   ${\it \Sigma}_3= 2.$


(2)  Wiederholen Sie diesen Versuch mit den anderen möglichen RDS-Startwerten  ${\it \Sigma}_0= 1$,  ${\it \Sigma}_0= 2$  und  ${\it \Sigma}_0= 3.$  Wie unterscheiden sich die Codierergebnisse?

  • ${\it \Sigma}_0= 1$:     $(0, 1, 0, 1)\ \rightarrow\ (0,\ - ,\ 0) $   ⇒   ${\it \Sigma}_1= 0$:     $(1, 0, 1, 1)\ \rightarrow\ (+,\ 0 ,\ 0) $   ⇒   ${\it \Sigma}_2= 1$:     $(0, 1, 1, 0)\ \rightarrow\ (-,\ 0 ,\ 0) $   ⇒   ${\it \Sigma}_3= 0.$
  • ${\it \Sigma}_0= 2$:     $(0, 1, 0, 1)\ \rightarrow\ (0,\ - ,\ 0) $   ⇒   ${\it \Sigma}_1= 1$:     $(1, 0, 1, 1)\ \rightarrow\ (+,\ 0 ,\ 0) $   ⇒   ${\it \Sigma}_2= 2$:     $(0, 1, 1, 0)\ \rightarrow\ (-,\ 0 ,\ 0) $   ⇒   ${\it \Sigma}_3= 1.$
  • ${\it \Sigma}_0= 3$:     $(0, 1, 0, 1)\ \rightarrow\ (0,\ - ,\ 0) $   ⇒   ${\it \Sigma}_1= 2$:     $(1, 0, 1, 1)\ \rightarrow\ (+,\ 0 ,\ 0) $   ⇒   ${\it \Sigma}_2= 3$:     $(0, 1, 1, 0)\ \rightarrow\ (-,\ 0 ,\ 0) $   ⇒   ${\it \Sigma}_3= 2.$


(3)  Wieviele unterschiedliche Codetabellen verwendet der  $\rm MS43$–Code?

  • Aus den bisherigen Versuchen erkennt man, dass der MS43–Code mindestens zwei Tabellen benutzt, zwischen denen gemäß dem aktuellen RDS–Wert umgeschaltet wird.
  • Aus der im Programm angegebenen Tabelle ist ersichtlich, dass tatsächlich drei Tabellen benutzt werden.  Die Einträge für  ${\it \Sigma}_l= 1$  und  ${\it \Sigma}_l= 2$  sind nämlich identisch.


(4)  Interpretieren Sie die Ergebnisse der 4B3T–Codierung für die Quellensymbolfolge  $\rm B$   ⇒   $\langle q_\nu \rangle = \langle 1, 1, 1, 0; \ 0, 0, 1, 0; \ 1, 1, 1, 1 \rangle $  und den MS43–Code.

  • Bei dieser Quellensymbolfolge wird der RDS–Wert nicht verändert.  Für jeden Startwert  $(0$,  $1$,  $2$  und  $3)$  gilt  ${\it \Sigma}_0 = {\it \Sigma}_1 ={\it \Sigma}_2 ={\it \Sigma}_3 $,  zum Beispiel:
  • ${\it \Sigma}_0= 1$:     $(1, 1, 1, 0)\ \rightarrow\ (0,\ - ,\ +) $   ⇒   ${\it \Sigma}_1= 1$:     $(0, 0, 1, 0)\ \rightarrow\ (+,\ 0 ,\ -) $   ⇒   ${\it \Sigma}_2= 1$:     $(1, 1, 1, 1)\ \rightarrow\ (-,\ 0 ,\ +) $   ⇒   ${\it \Sigma}_3= 1.$
  • Der Grund hierfür ist, dass bei dieser Quellensymbolfolge jedes Ternär–Triple nach der Codierung genau ein „Plus” und ein „Minus” enthält.


(5)  Wieviele unterschiedliche Codetabellen verwendet dagegen der der modifizierte MS43–Code   ⇒   $\rm MMS43$?

  • Aus der im Programm angegebenen Tabelle ist ersichtlich, dass sich beim modifizierte MS43–Code tatsächlich alle vier Tabellen unterscheiden. 
  • Die Einträge für  ${\it \Sigma}_l= 1$  und  ${\it \Sigma}_l= 2$  sind zwar weitgehend gleich.  Sie unterscheiden sich nur für die Binärsequenzen  $(0, 1, 1, 0)$  und  $(1, 0, 1, 0)$.
  • Der  $\rm MMS43$–Code wird bei  $\rm ISDN$  (Integrated Services Digital Network)  auf dem Teilnehmeranschluss  $(U_{K0}$–Schnittstelle$)$ verwendet. 
  • Uns ist nicht bekannt, warum bei der Standardisierung der ursprüngliche MS43–Code modifiziert wurde.  Wir vermuten, ein etwas günstigeres Leistungsdichtespektrum.


(6)  Vergleichen Sie die Ergebnisse für  $\rm MS43$  und  $\rm MMS43$  für die Quellensymbolfolgen  $\rm A$  und  $\rm B$  und beliebige RDS–Startwerte.  Wählen Sie den Modus „Gesamt”.

  • Für die Quellensymbolfolge  $\rm A$  gibt es zwei unterschiedliche  $\rm MS43$–Codesymbolfolgen und drei unterschiedliche   $\rm MMS43$–Codesymbolfolgen.
  • Für die Quellensymbolfolge  $\rm B$  sind die  $\rm MS43$–Codesymbolfolgen für alle möglichen  ${\it \Sigma}_0$  gleich.  Bei  $\rm MMS43$:  zwei verschiedene Codierergebnisse.


(7)  Interpretieren Sie die Ergebnisse für die Symbolfolge  $\rm C$   ⇒   $\langle q_\nu \rangle = \langle 0, 1, 1, 0; \ 0, 1, 1, 0; \ 0, 1, 1, 0 \rangle $  für beide Codes und alle RDS–Startwerte. Modus:  „Gesamt”.

  • Die vier Eingangsbit eines jeden Blocks sind  $(0,\ 1,\ 1,\ 0)$.  Beim  $\rm MS43$  werden diese ersetzt durch  $(0,\ +,\ +)$,  falls  ${\it \Sigma}_l=0$;  bzw.  $(-,\ 0,\ 0)$,  falls  ${\it \Sigma}_l\ne0$.
  • Beim  $\rm MMS43$  werden diese ersetzt durch  $(-,\ +,\ +)$,  falls  ${\it \Sigma}_l\le 1$;  bzw.  $(-,\ -,\ +)$,  falls  ${\it \Sigma}_l\ge 2$.  Nur wenn Sie sehr viel Zeit haben:
  • Versuchen Sie den Sinn dieser Modifizierung von  $\rm MS43$  auf  $\rm MMS43$  zu ergründen.  Uns vom $\rm LNTwww$–Team ist das nämlich nicht gelungen.


Zur Handhabung des Applets

Bildschirmabzug der englischen Version



    (A)     Auswahl der Quellensymbolfolge:  $\rm A$,  $\rm B$  oder  $\rm C$

    (B)     Programmoptionen
                $($Zufallsfolge,  blockweise RDS-Berechnung,  Gesamtansicht,  Reset$)$

    (C)     "MS43"  oder  "MMS43"

    (D)     Berechnung der  "Running Digital Sum"

    (E)     Blockweise Bitänderung

    (F)     Grafikbereich für das Quellensignal  $q(t)$

    (G)     Grafikbereich für das Codersignal  $c(t)$

    (H)     Gesamtdarstellung der Werte  ${\it \Sigma}_0,\ {\it \Sigma}_1, \ {\it \Sigma}_2, \ {\it \Sigma}_4$  für  "MS43"  und  "MMS43"

    (I)     Aufgabenauswahl

    (I)     Fragen und Lösungen



Über die Autoren

Dieses interaktive Berechnungstool wurde am  Lehrstuhl für Nachrichtentechnik  der  Technischen Universität München  konzipiert und realisiert.

  • Die erste Version wurde 2010 von  Stefan Müller  im Rahmen seiner Diplomarbeit (LB) mit „FlashMX–Actionscript” erstellt (Betreuer:  Günter Söder).
  • 2020 wurde das Programm von  Carolin Mirschina  im Rahmen einer Werkstudententätigkeit auf „HTML5” umgesetzt und neu gestaltet (Betreuer:  Tasnád Kernetzky).


Die Umsetzung dieses Applets auf HTML 5 wurde durch die  Exzellenzinitiative  der TU München finanziell unterstützt. Wir bedanken uns.



Nochmalige Aufrufmöglichkeit des Applets in neuem Fenster

Applet in neuem Tab öffnen   Open English Version

  1. Söder, G.; Tröndle, K.: Digitale Übertragungssysteme - Theorie, Optimierung & Dimensionierung der Basisbandsysteme. Berlin – Heidelberg: Springer, 1985.