Digitalsignalübertragung/Symbolweise Codierung mit Pseudoternärcodes: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(19 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 7: Zeile 7:
  
  
== Allgemeine Beschreibung von Partial Response Codes (1) ==
+
== Allgemeine Beschreibung der Pseudomehrstufencodes ==
 
<br>
 
<br>
Bei der symbolweisen Codierung wird mit jedem ankommenden Quellensymbol <i>q<sub>&nu;</sub></i> ein Codesymbol <i>c<sub>&nu;</sub></i> erzeugt, das außer vom aktuellen Eingangssymbol <i>q<sub>&nu;</sub></i> auch von den <i>N</i><sub>C</sub> vorangegangenen Symbolen abhängt. <i>N</i><sub>C</sub> bezeichnet man als die  
+
Bei der symbolweisen Codierung wird mit jedem ankommenden Quellensymbol &nbsp;$q_\nu$&nbsp; ein Codesymbol &nbsp;$c_\nu$&nbsp; erzeugt,&nbsp; das außer vom aktuellen Eingangssymbol &nbsp;$q_\nu$&nbsp; auch von den &nbsp;$N_{\rm C}$&nbsp; vorangegangenen Symbolen &nbsp;$q_{\nu-1}$, ... , $q_{\nu-N_{\rm C}} $&nbsp; abhängt. &nbsp;$N_{\rm C}$&nbsp; bezeichnet man als die&nbsp; "Ordnung"&nbsp; des Codes.<br><br>
Ordnung des Codes.<br><br>
 
  
Typisch für eine symbolweise Codierung ist, dass
+
Typisch für eine symbolweise Codierung ist,&nbsp; dass
*die Symboldauer <i>T</i> des Codersignals (und des Sendesignals) mit der Bitdauer <i>T</i><sub>B</sub> des binären Quellensignals übereinstimmt,<br>
+
*die Symboldauer &nbsp;$T$&nbsp; des Codersignals&nbsp; (und des Sendesignals)&nbsp; mit der Bitdauer &nbsp;$T_{\rm B}$&nbsp; des binären Quellensignals übereinstimmt,&nbsp; und
  
*Codierung und Decodierung nicht zu größeren Zeitverzögerungen führen, die bei Verwendung von Blockcodes unvermeidbar sind.<br><br>
+
*Codierung und Decodierung nicht zu größeren Zeitverzögerungen führen,&nbsp; die bei Verwendung von Blockcodes unvermeidbar sind.<br><br>
  
Besondere Bedeutung besitzen die Pseudomehrstufencodes &ndash; besser bekannt unter der englischen Bezeichnung Partial Response Codes.<br>
+
Besondere Bedeutung besitzen die&nbsp; "Pseudomehrstufencodes"&nbsp; &ndash; bekannt auch unter der englischen Bezeichnung&nbsp; "Partial Response Codes".&nbsp; Im Folgenden werden ausschließlich&nbsp; "Pseudoternärcodes" &nbsp; &rArr; &nbsp;  Stufenzahl &nbsp;$M = 3$&nbsp; betrachtet.&nbsp;
 +
*Diese sind durch das Blockschaltbild entsprechend der linken Grafik beschreibbar.  
  
Im Folgenden werden ausschließlich die Pseudoternärcodes mit der Stufenzahl <i>M</i> = 3 betrachtet, die durch das Blockschaltbild entsprechend der linken Grafik beschreibbar sind. In der rechten Grafik ist ein Ersatzschaltbild angegeben, das für eine Analyse dieser Codes sehr gut geeignet ist.
+
*In der rechten Grafik ist ein Ersatzschaltbild angegeben,&nbsp; das insbesonderefür eine Analyse dieser Codes sehr gut geeignet ist.
  
<br>[[Datei:P_ID1343__Dig_T_2_4_S1_v1.png|Block- und Ersatzschaltbild eines Pseudoternärcodes|class=fit]]<br><br>
+
[[Datei:P_ID1343__Dig_T_2_4_S1_v1.png|right|frame|Blockschaltbild und Ersatzschaltbild eines Pseudoternärcoders|class=fit]]
  
Die Bildbeschreibung folgt auf der nächsten Seite.<br>
+
Man erkennt aus den beiden Darstellungen:
 +
*Der Pseudoternärcoder kann in den&nbsp; "nichtlinearen Vorcodierer"&nbsp; und ein&nbsp; "lineares Codiernetzwerk" aufgespalten werden,&nbsp; wenn man &ndash; wie im rechten  Ersatzschaltbild  dargestellt &ndash;  die Verzögerung um &nbsp;$N_{\rm C} \cdot T$&nbsp; und die Gewichtung mit &nbsp;$K_{\rm C}$&nbsp; zur Verdeutlichung zweimal zeichnet.<br>
  
 
+
*Der&nbsp; '''nichtlineare Vorcodierer'''&nbsp; gewinnt durch eine Modulo&ndash;2&ndash;Addition&nbsp; ("Antivalenz")&nbsp; zwischen den Symbolen &nbsp;$q_\nu$&nbsp; und &nbsp;$K_{\rm C} \cdot b_{\nu-N_{\rm C}} $&nbsp; die  vorcodierten,&nbsp; ebenfalls binären Symbole &nbsp;$b_\nu$:
== Allgemeine Beschreibung von Partial Response Codes (2) ==
+
:$$q_\nu \in \{-1, +1\},\hspace{0.1cm} K_{\rm C} \in \{-1,
<br>
 
Die Beschreibung des <i>Partial Response Coders</i> wird fortgesetzt:
 
 
 
[[Datei:P_ID1343__Dig_T_2_4_S1_v1.png|Block- und Ersatzschaltbild eines Pseudoternärcodes|class=fit]]<br><br>
 
 
 
Man erkennt aus den beiden Darstellungen (Blockschaltbild links, Ersatzschaltbild rechts):
 
*Der Pseudoternärcoder kann in den nichtlinearen Vorcodierer und ein lineares Codiernetzwerk aufgespalten werden, wenn man die Verzögerung um <i>N</i><sub>C</sub> &middot; <i>T</i> und die Gewichtung mit <i>K</i><sub>C</sub> zur Verdeutlichung zweimal zeichnet.<br>
 
 
 
*Der nichtlineare Vorcodierer gewinnt durch eine Modulo&ndash;2&ndash;Addition (Antivalenz) zwischen den Symbolen <i>q<sub>&nu;</sub></i> und <i>K</i><sub>C</sub> &middot; <i>b</i><sub><i>&nu;</i>&ndash;<i>N</i>c</sub> die  vorcodierten Symbole <i>b<sub>&nu;</sub></i>, die ebenfalls binär sind:
 
 
 
::<math>q_\nu \in \{-1, +1\},\hspace{0.1cm} K_{\rm C} \in \{-1,
 
 
+1\}\hspace{0.3cm}\Rightarrow \hspace{0.3cm}b_\nu \in \{-1,
 
+1\}\hspace{0.3cm}\Rightarrow \hspace{0.3cm}b_\nu \in \{-1,
+1\}\hspace{0.05cm}.</math>
+
+1\}\hspace{0.05cm}.$$
 +
*Diese sind wie die Quellensymbole &nbsp;$q_\nu$&nbsp; statistisch voneinander unabhängig.&nbsp; Der Vorcodierer fügt also keine Redundanz hinzu.&nbsp; Er gestattet aber eine einfachere Realisierung des Decoders und verhindert eine Fehlerfortpflanzung nach einem Übertragungsfehler.<br>
  
*Die Symbole <i>b<sub>&nu;</sub></i> sind wie die Quellensymbole <i>q<sub>&nu;</sub></i> statistisch voneinander unabhängig. Durch den Vorcodierer wird also keine Redundanz hinzugefügt. Er gestattet aber eine einfache Realisierung des Decoders und verhindert eine Fehlerfortpflanzung nach einem Übertragungsfehler.<br>
+
*Die eigentliche Umcodierung von binär &nbsp;$(M_q = 2)$&nbsp; auf ternär &nbsp;$(M = M_c = 3)$&nbsp; bewirkt das&nbsp; '''lineare Codiernetzwerk'''&nbsp; durch die herkömmliche Subtraktion
 +
:$$c(t) ={1}/{2} \cdot \big [b(t) - K_{\rm C} \cdot b(t- N_{\rm
 +
C}\cdot T)\big]  \in \{-1, \ 0, +1\}\hspace{0.05cm},$$
  
*Die eigentliche Umcodierung von binär auf ternär bewirkt das lineare Codiernetzwerk durch die herkömmliche Subtraktion
+
:das durch die folgende &nbsp;[[Lineare_zeitinvariante_Systeme/Systembeschreibung_im_Zeitbereich#Impulsantwort|Impulsantwort]] &nbsp; bzw. &nbsp;[[Lineare_zeitinvariante_Systeme/Systembeschreibung_im_Frequenzbereich#.C3.9Cbertragungsfunktion_-_Frequenzgang|Übertragungsfunktion]]&nbsp; bezüglich dem Eingangssignal &nbsp;$b(t)$&nbsp; und dem Eingangssignal &nbsp;$c(t)$&nbsp; beschrieben werden kann:
 +
:$$h_{\rm C}(t) =  {1}/{2} \cdot \big [\delta(t) - K_{\rm C} \cdot \delta(t- N_{\rm
 +
C}\cdot T)\big] \ \ \ \circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\ \ \ H_{\rm C}(f) ={1}/{2} \cdot \left [1 - K_{\rm C} \cdot {\rm e}^{- {\rm j}\hspace{0.05cm}\cdot\hspace{0.05cm} 2\pi \hspace{0.05cm}\cdot \hspace{0.05cm}N_{\rm C}\hspace{0.05cm}\cdot \hspace{0.05cm}T}\right]\hspace{0.05cm}.  $$
  
::<math>c(t) ={1}/{2} \cdot \left [b(t) - K_{\rm C} \cdot b(t- N_{\rm
+
*Die relative Coderedundanz ist für alle Pseudoternärcodes gleich.&nbsp; Setzt man  in die &nbsp;[[Digitalsignalübertragung/Redundanzfreie_Codierung#Blockweise_Codierung_vs._symbolweise_Codierung|allgemeine Definitionsgleichung]]&nbsp; $M_q=2$, &nbsp;$M_c=3$,&nbsp; $T_c =T_q$&nbsp; ein,&nbsp; so erhält man
C}\cdot T)\right] \hspace{0.05cm}.</math>
+
:$$r_c = 1- \frac{R_q}{R_c} = 1- \frac{T_c}{T_q} \cdot \frac{{\rm log_2}\hspace{0.05cm} (M_q)}{{\rm log_2} \hspace{0.05cm}(M_c)} = 1- \frac{T_c}{T_q \cdot {\rm log_2} \hspace{0.05cm}(M_c)}\hspace{0.5cm}\Rightarrow  \hspace{0.5cm} r_c = 1 -1/\log_2\hspace{0.05cm}(3) \approx 36.9 \%\hspace{0.05cm}.$$
  
:Dieses ternäre Signal (Stufenzahl <i>M</i> = 3) weist die normierten Werte <i>a<sub>&nu;</sub></i> &#8712; {&ndash;1, 0, +1} auf.<br>
+
{{BlaueBox|TEXT= 
 +
$\text{Fazit:}$&nbsp; Wird für den Sendegrundimpuls&nbsp; $g_s(t)$&nbsp; das NRZ&ndash;Rechteck vorausgesetzt,&nbsp; so lautet das&nbsp; '''Sendesignal aller Pseudoternärcodes''':
 +
:$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g_s ( t - \nu \cdot T)\hspace{0.05cm}.$$
 +
*Dieses ist sowohl&nbsp; "ternär" &nbsp; &rArr; &nbsp; $a_\nu \in \{-1, \ 0, +1\}$&nbsp; als auch&nbsp; "redundant" &nbsp; &rArr; &nbsp; statistische Bindungen zwischen den&nbsp; $a_\nu$.}}
  
*Weiterhin gilt für das (nun redundante) Sendesignal <i>s</i>(<i>t</i>) mit dem Sendegrundimpuls <i>g<sub>s</sub></i>(<i>t</i>), der im gesamten Kapitel 2.4 stets als NRZ&ndash;Rechteck vorausgesetzt wird:
+
== Eigenschaften des AMI-Codes==
 
 
::<math>s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g_s ( t - \nu \cdot T)\hspace{0.05cm}.</math>
 
 
 
*Die [http://www.lntwww.de/Digitalsignal%C3%BCbertragung/Grundlagen_der_codierten_%C3%9Cbertragung#Systemmodell_und_Beschreibungsgr.C3.B6.C3.9Fen relative Coderedundanz] ist für alle Pseudoternärcodes gleich <i>r<sub>c</sub></i> = 1 &ndash; 1/log<sub>2</sub>(3) &asymp; 36.9 %.<br>
 
 
 
 
 
== Eigenschaften des AMI-Codes (1) ==
 
 
<br>
 
<br>
Die einzelnen Pseudoternärcodes unterscheiden sich in den Parametern <i>N</i><sub>C</sub> und <i>K</i><sub>C</sub>. Der bekannteste Vertreter ist der Bipolarcode erster Ordnung mit den Codeparametern <i>N</i><sub>C</sub> = 1 und <i>K</i><sub>C</sub> = 1, der auch unter der Bezeichnung  AMI&ndash;Code  (von: Alternate Mark Inversion) bekannt ist. Dieser wird zum Beispiel bei [http://www.lntwww.de/Beispiele_von_Nachrichtensystemen ISDN] (Integrated Services Digital Networks) auf der sog. S<sub>0</sub>&ndash;Schnittstelle eingesetzt.  
+
Die einzelnen Pseudoternärcodes unterscheiden sich in den Parametern &nbsp;$N_{\rm C}$&nbsp; und &nbsp;$K_{\rm C}$.  
  
<br>[[Datei:P_ID1346__Dig_T_2_4_S2a_v1.png|Signale bei AMI- und HDB3-Codierung|class=fit]]<br><br>
+
Der bekannteste Vertreter ist der '''Bipolarcode erster Ordnung''' mit den Codeparametern &nbsp;$N_{\rm C} = 1$&nbsp; und &nbsp;$K_{\rm C} = 1$, der auch unter der Bezeichnung  '''AMI&ndash;Code'''  (von: ''Alternate Mark Inversion'') bekannt ist. Dieser wird zum Beispiel bei &nbsp;[[Beispiele_von_Nachrichtensystemen/Allgemeine_Beschreibung_von_ISDN|ISDN]]&nbsp; (''Integrated Services Digital Networks'') auf der so genannten  $S_0$&ndash;Schnittstelle eingesetzt.
  
Die Grafik zeigt im oberen Bereich die Signale <i>q</i>(<i>t</i>), <i>b</i>(<i>t</i>) und <i>c</i>(<i>t</i>) = <i>s</i>(<i>t</i>) für den AMI&ndash;Code. Man erkennt das einfache Codier&ndash; und Decodierprinzip dieses Codes:
+
[[Datei:P_ID1346__Dig_T_2_4_S2a_v1.png|right|frame|Signale bei AMI- und HDB3-Codierung|class=fit]]
*Jeder Binärwert &bdquo;&ndash;1&rdquo; von <i>q</i>(<i>t</i>) wird durch den ternären Amplitudenkoeffizienten &bdquo;0&rdquo; codiert.<br>
+
Die Grafik zeigt oben das binäre Quellensignal &nbsp;$q(t)$. Im zweiten und dritten Diagramm sind dargestellt:
 +
* das ebenfalls binäre Signal &nbsp;$b(t)$&nbsp; nach dem Vorcodierer, und  
 +
* das Codersignal &nbsp;$c(t) = s(t)$&nbsp; des AMI&ndash;Codes.  
  
*Der Binärwert &bdquo;+1&rdquo; von <i>q</i>(<i>t</i>) wird alternierend mit &bdquo;+ 1&rdquo; und &bdquo;&ndash; 1&rdquo; dargestellt.<br><br>
 
  
Damit wird sichergestellt, dass im AMI&ndash;codierten Signal keine langen
+
Man erkennt das einfache AMI&ndash;Codierprinzip:
&bdquo;+1&rdquo;&ndash; bzw. &bdquo;&ndash;1&rdquo;&ndash;Sequenzen enthalten sind. Dagegen ist das Auftreten langer Nullfolgen durchaus möglich, bei denen über einen längeren Zeitraum keine Taktinformation übertragen wird.<br>
+
*Jeder Binärwert &bdquo;&ndash;1&rdquo; von $q(t)$  &nbsp; &rArr; &nbsp;  Symbol &nbsp;$\rm L$&nbsp; wird durch den ternären Amplitudenkoeffizienten &nbsp;$a_\nu = 0$&nbsp; codiert.<br>
 +
*Der Binärwert &bdquo;+1&rdquo; von &nbsp;$q(t)$ &nbsp; &rArr; &nbsp;  Symbol &nbsp;$\rm H$&nbsp; wird alternierend mit &nbsp;$a_\nu = +1$&nbsp; und &nbsp;$a_\nu = -1$&nbsp; dargestellt.<br><br>
  
Um dies zu vermeiden, wurden einige modifizierte AMI&ndash;Codes entwickelt, zum Beispiel der B6ZS&ndash; und der HDB3&ndash;Code:
+
Damit wird sichergestellt, dass im AMI&ndash;codierten Signal keine langen &bdquo;+1&rdquo;&ndash; bzw. &bdquo;&ndash;1&rdquo;&ndash;Sequenzen enthalten sind, was bei einem gleichsignalfreien Kanal zu Problemen führen würde.  
*Bei letzterem (grüne Kurve in obiger Grafik) werden vier aufeinanderfolgende Nullen im AMI&ndash;codierten Signal durch eine Teilsequenz ersetzt, die die AMI&ndash;Codierregel verletzt.<br>
 
  
*Im grau hinterlegten Bereich ist dies die Folge &bdquo;+ 0 0 +&rdquo;, da das letzte Symbol vor der Ersetzung ein &bdquo;&ndash;&rdquo; war.<br>
+
Dagegen ist das Auftreten langer Nullfolgen durchaus möglich, bei denen über einen längeren Zeitraum keine Taktinformation übertragen wird.
 +
<br clear = all>
 +
Um dieses zweite Problem zu vermeiden, wurden einige modifizierte AMI&ndash;Codes entwickelt, zum Beispiel der ''B6ZS&ndash;Code''&nbsp; und der ''HDB3''&ndash;Code:
 +
*Beim '''HDB3&ndash;Code'''&nbsp; (grüne Kurve in obiger Grafik) werden vier aufeinanderfolgende Nullen im AMI&ndash;codierten Signal durch eine Teilsequenz ersetzt, die die AMI&ndash;Codierregel verletzt.<br>
  
*Damit ist beim HDB3&ndash;Code die Anzahl aufeinanderfolgender Nullen auf 3 begrenzt, beim B6ZS&ndash;Code auf 5. Der Decoder erkennt diese Codeverletzung und ersetzt &bdquo;+ 0 0 +&rdquo; wieder durch &bdquo;0 0 0 0&rdquo;.<br>
+
*Im grau hinterlegten Bereich ist dies die Folge &bdquo;+ 0 0 +&rdquo;, da das letzte Symbol vor der Ersetzung ein &bdquo;Minus&rdquo; war.<br>
  
 +
*Damit ist beim HDB3&ndash;Code die Anzahl aufeinanderfolgender Nullen auf &nbsp;$3$&nbsp; begrenzt und beim &nbsp;[https://www.itwissen.info/B6ZS-bipolar-with-six-zero-substitution-B6ZS-Codierung.html B6ZS&ndash;Code]&nbsp; auf &nbsp;$5$.
 +
*Der Decoder erkennt diese Codeverletzung und ersetzt &bdquo;+ 0 0 +&rdquo; wieder durch &bdquo;0 0 0 0&rdquo;.<br>
  
== Eigenschaften des AMI-Codes (2) ==
+
== Leistungsdichtespektrum des AMI-Codes==
 
<br>
 
<br>
 
Der Frequenzgang des linearen Codiernetzwerks eines Pseudoternärcodes lautet allgemein:
 
Der Frequenzgang des linearen Codiernetzwerks eines Pseudoternärcodes lautet allgemein:
 
+
:$$H_{\rm C}(f) = {1}/{2} \cdot \big [1 - K_{\rm C} \cdot {\rm
:<math>H_{\rm C}(f) = {1}/{2} \cdot \left [1 - K_{\rm C} \cdot {\rm
 
 
e}^{-{\rm j}\hspace{0.03cm}\cdot \hspace{0.03cm}
 
e}^{-{\rm j}\hspace{0.03cm}\cdot \hspace{0.03cm}
 
2\pi\hspace{0.03cm}\cdot \hspace{0.03cm}f \hspace{0.03cm}\cdot
 
2\pi\hspace{0.03cm}\cdot \hspace{0.03cm}f \hspace{0.03cm}\cdot
 
\hspace{0.03cm} N_{\rm C}\hspace{0.03cm}\cdot \hspace{0.03cm}T}
 
\hspace{0.03cm} N_{\rm C}\hspace{0.03cm}\cdot \hspace{0.03cm}T}
\right] ={1}/{2} \cdot \left [1 - K \cdot {\rm
+
\big] ={1}/{2} \cdot \big [1 - K \cdot {\rm
 
e}^{-{\rm j}\hspace{0.03cm}\cdot \hspace{0.03cm}
 
e}^{-{\rm j}\hspace{0.03cm}\cdot \hspace{0.03cm}
 
\alpha}
 
\alpha}
\right] \hspace{0.05cm}.</math>
+
\big ]\hspace{0.05cm}.$$
 
 
Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten (<i>K</i> und <i>&alpha;</i> sind Abkürzungen):
 
 
 
:<math>  {\it \Phi}_a(f)  =  | H_{\rm C}(f)|^2 =  \frac{\left [1 - K \cos
 
  (\alpha) + {\rm j}\cdot K \sin  (\alpha) \right ] \left [1 - K  \cos
 
  (\alpha) - {\rm j}\cdot K \sin  (\alpha) \right ] }{4}  </math>
 
::<math> =  ...  \hspace{0.15cm}=  {1}/{4} \cdot \left [2 - 2 \cdot K \cdot \cos
 
  (\alpha)  \right ] </math>
 
  
:<math> \Rightarrow \hspace{0.3cm}{\it \Phi}_a(f)  =  | H_{\rm C}(f)|^2 =  {1}/{2} \cdot \left [1 - K_{\rm C} \cdot \cos
+
Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten &nbsp;$(K$&nbsp; und &nbsp;$\alpha$&nbsp; sind Abkürzungen entsprechend obiger Gleichung$)$:
   (2\pi  f    N_{\rm C}  T)\right ]
+
:$$  {\it \Phi}_a(f)  =  | H_{\rm C}(f)|^2 =  \frac{\big [1 - K \cos
 +
  (\alpha) + {\rm j}\cdot K \sin  (\alpha) \big ] \big [1 - K  \cos
 +
  (\alpha) - {\rm j}\cdot K \sin  (\alpha) \big ] }{4} =  \text{...}  =  {1}/{4} \cdot \big [2 - 2 \cdot K \cdot \cos
 +
  (\alpha)  \big ] $$
 +
[[Datei:P_ID1347__Dig_T_2_4_S2b_v2.png|right|frame|Leistungsdichtespektrum des AMI-Codes|class=fit]]
 +
:$$ \Rightarrow \hspace{0.3cm}{\it \Phi}_a(f)  =  | H_{\rm C}(f)|^2 =  {1}/{2} \cdot \big [1 - K_{\rm C} \cdot \cos
 +
   (2\pi  f    N_{\rm C}  T)\big ]
 
  \hspace{0.4cm}\bullet\!\!-\!\!\!-\!\!\!-\!\!\circ \hspace{0.4cm}
 
  \hspace{0.4cm}\bullet\!\!-\!\!\!-\!\!\!-\!\!\circ \hspace{0.4cm}
\varphi_a(\lambda \cdot T)\hspace{0.05cm}.</math>
+
\varphi_a(\lambda \cdot T)\hspace{0.05cm}.$$
  
Insbesondere erhält man für das Leistungsdichtespektrum des AMI&ndash;Codes (<i>N</i><sub>C</sub> = K<sub>C</sub> = 1):
+
Insbesondere erhält man für das Leistungsdichtespektrum (LDS) des AMI&ndash;Codes $(N_{\rm C} = K_{\rm C} = 1)$:
 +
:$${\it \Phi}_a(f)  =  {1}/{2} \cdot \big [1 - \cos
 +
  (2\pi  f    T)\big ] = \sin^2
 +
  (\pi  f    T)\hspace{0.05cm}.$$
  
:<math>{\it \Phi}_a(f) =  {1}/{2} \cdot \left [1 - \cos
+
Die Grafik zeigt
  (2\pi  f   T)\right ] = \sin^2
+
*das LDS &nbsp;${\it \Phi}_a(f)$&nbsp; der Amplitudenkoeffizienten (rote Kurve), und<br>
  (\pi  f    T)\hspace{0.05cm}.</math>
+
*das LDS &nbsp;${\it \Phi}_s(f)$&nbsp; des gesamten Sendesignals (blau), gültig für NRZ&ndash;Rechteckimpulse.<br>
  
Das LDS von HDB3&ndash; und B6ZS&ndash;Code weicht von dem des AMI&ndash;Codes nur unwesentlich ab.<br>
 
  
[[Datei:P_ID1347__Dig_T_2_4_S2b_v2.png|Leistungsdichtespektrum des AMI-Codes|right|class=fit]]<br><br>
+
Man erkennt aus dieser Darstellung
 +
*die Gleichsignalfreiheit des AMI&ndash;Codes, da &nbsp;${\it \Phi}_a(f = 0) = {\it \Phi}_s(f = 0) = 0$&nbsp; ist,<br>
 +
*die Leistung &nbsp;$P_{\rm S} = s_0^2/2$&nbsp; des AMI&ndash;codierten Sendesignals (Integral über &nbsp;${\it \Phi}_s(f)$&nbsp; von &nbsp;$- \infty$&nbsp; bis &nbsp;$+\infty$).
  
Die Grafik zeigt
 
*das Leistungsdichtespektrum <i>&Phi;<sub>a</sub></i>(<i>f</i>) der Amplitudenkoeffizienten (rote Kurve),<br>
 
*das Leistungsdichtespektrum <i>&Phi;<sub>s</sub></i>(<i>f</i>) des gesamten Sendesignals (blau), gültig für NRZ&ndash;Rechteckimpulse.<br>
 
  
<br><br><br>
+
''Hinweise:''
Man erkennt aus dieser Darstellung
+
*Das LDS von HDB3&ndash; und B6ZS&ndash;Code weicht von dem des AMI&ndash;Codes nur unwesentlich ab.<br>
*die Gleichsignalfreiheit des AMI&ndash;Codes, da <i>&Phi;<sub>a</sub></i>(<i>f</i> = 0) = <i>&Phi;<sub>s</sub></i>(<i>f</i> = 0) = 0 ist,<br>
+
*Die hier behandelte Thematik  können Sie sich mit dem interaktiven Applet &nbsp;[[Applets:Pseudoternaercodierung|Signale, AKF und LDS der Pseudoternärcodes]]&nbsp; verdeutlichen.
*die Leistung <i>P<sub>S</sub></i> = <i>s</i><sub>0</sub><sup>2</sup>/2 des AMI&ndash;codierten Sendesignals (Integral über <i>&Phi;<sub>s</sub></i>(<i>f</i>) von &ndash;&#8734; bis +&#8734;).<br><br>
 
 
 
Die Eigenschaften der Pseudoternärcodes und insbesondere des AMI-Codes können Sie sich mit dem folgenden Interaktionsmodul verdeutlichen: &nbsp; [https://intern.lntwww.de/cgi-bin/extern/uni.pl?uno=hyperlink&due=block&b_id=2802&hyperlink_typ=block_verweis&hyperlink_fenstergroesse=blockverweis_gross Signale, AKF und LDS der Pseudoternärcodes Flash Image Please add link]<br>
 
  
  
 
== Eigenschaften des Duobinärcodes ==
 
== Eigenschaften des Duobinärcodes ==
 
<br>
 
<br>
Der Duobinärcode ist durch die Codeparameter <i>N</i><sub>C</sub> = 1 und <i>K</i><sub>C</sub> = &ndash;1 festgelegt. Damit ergibt sich für das LDS der Amplitudenkoeffizienten bzw. für das LDS des Sendesignals:
+
[[Datei:P_ID1348__Dig_T_2_4_S3b_v1.png|right|frame|Leistungsdichtespektrum des Duobinärcodes|right|class=fit]]
 +
Der '''Duobinärcode''' ist durch die Codeparameter &nbsp;$N_{\rm C} = 1$&nbsp; und &nbsp;$K_{\rm C} = -1$&nbsp; festgelegt. Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten bzw. für das LDS des Sendesignals:
  
:<math>{\it \Phi}_a(f) ={1}/{2} \cdot \left [1 + \cos
+
:$${\it \Phi}_a(f) ={1}/{2} \cdot \big [1 + \cos
   (2\pi  f    T)\right ] = \cos^2
+
   (2\pi  f    T)\big ] = \cos^2
   (\pi  f    T)\hspace{0.05cm},</math>
+
   (\pi  f    T)\hspace{0.05cm},$$
 
+
:$$ {\it \Phi}_s(f)  =    s_0^2 \cdot T  \cdot \cos^2
:<math> {\it \Phi}_s(f)  =    s_0^2 \cdot T  \cdot \cos^2
 
 
   (\pi  f    T)\cdot {\rm si}^2
 
   (\pi  f    T)\cdot {\rm si}^2
 
   (\pi  f    T)=    s_0^2 \cdot T  \cdot {\rm si}^2
 
   (\pi  f    T)=    s_0^2 \cdot T  \cdot {\rm si}^2
   (2 \pi  f    T)  \hspace{0.05cm}.</math>
+
   (2 \pi  f    T)  \hspace{0.05cm}.$$
  
<br>[[Datei:P_ID1348__Dig_T_2_4_S3b_v1.png|Leistungsdichtespektrum des Duobinärcodes|right|class=fit]]<br>
+
Die Grafik zeigt das Leistungsdichtespektrum
 +
*der Amplitudenkoeffizienten &nbsp; &#8658; &nbsp; ${\it \Phi}_a(f)$&nbsp;  als rote Kurve,<br>
 +
*des gesamten Sendsignals &nbsp; &#8658; &nbsp; ${\it \Phi}_s(f)$&nbsp; als blaue Kurve.<br><br>
  
Die Grafik zeigt das Leistungsdichtespektrum
+
In der zweiten Grafik sind die Signale &nbsp;$q(t)$, &nbsp;$b(t)$&nbsp; und &nbsp;$c(t) = s(t)$&nbsp; skizziert. Wir verweisen hier wieder auf das Applet &nbsp;[[Applets:Pseudoternaercodierung|Signale, AKF und LDS der Pseudoternärcodes]], das auch die Eigenschaften des Duobinärcodes verdeutlicht.
*der Amplitudenkoeffizienten &nbsp;&#8658;&nbsp; <i>&Phi;<sub>a</sub></i>(<i>f</i>) als rote Kurve,<br>
+
[[Datei:P_ID1349__Dig_T_2_4_S3a_v2.png|left|frame|Signale bei Duobinärcodierung|class=fit]] 
*des gesamten Sendsignals &nbsp;&#8658;&nbsp; <i>&Phi;<sub>s</sub></i>(<i>f</i>) als blaue Kurve.<br><br>
+
<br><br>Aus diesen Darstellungen geht hervor:
 +
*Beim Duobinärcode können beliebig viele Symbole mit gleicher Polarität (&bdquo;+1&rdquo; bzw. &bdquo;&ndash;1&rdquo;) direkt aufeinanderfolgen.
 +
*Deshalb gilt &nbsp;${\it \Phi}_a(f = 0)=1$&nbsp; und &nbsp;${\it \Phi}_s(f = 0) = 1/2 \cdot s_0^2 \cdot T$.<br>
 +
*Dagegen tritt beim Duobinärcode die alternierende Folge  &bdquo; ... , +1, &ndash;1, +1, &ndash;1, +1, ... &rdquo; nicht auf, die hinsichtlich Impulsinterferenzen besonders störend ist.
 +
*Deshalb gilt beim Duobinärcode: &nbsp;${\it \Phi}_s(f = 1/(2T) = 0$.<br>
 +
*Das Leistungsdichtespektrum &nbsp;${\it \Phi}_s(f)$&nbsp; des pseudoternären Duobinärcodes ist identisch mit dem LDS bei redundanzfreier Binärcodierung mit halber Rate $($Symboldauer &nbsp;$2T)$.<br>
 +
<br clear= all>
  
In der Grafik am Seitenende sind die Signale <i>q</i>(<i>t</i>), <i>b</i>(<i>t</i>) und <i>c</i>(<i>t</i>) = <i>s</i>(<i>t</i>) skizziert.
+
== Fehlerwahrscheinlichkeit der Pseudoternärcodes ==
 +
<br>
 +
[[Datei:P_ID1350__Dig_T_2_4_S4_v1.png|right|frame|Augendiagramme bei AMI&ndash;, Duobinär&ndash; und 4B3T&ndash;Codierung|class=fit]]
 +
Die Grafik zeigt die &nbsp;[[Digitalsignalübertragung/Fehlerwahrscheinlichkeit_unter_Berücksichtigung_von_Impulsinterferenzen#Definition_und_Aussagen_des_Augendiagramms|Augendiagramme]]&nbsp; ('''ohne''' Rauschen) bei Verwendung
 +
*von AMI&ndash;Code (links)
 +
*und Duobinärcode (Mitte)  
 +
*im Vergleich zum 4B3T&ndash;Code (rechts).  
  
<br><br><br>Aus beiden Darstellungen geht hervor:
 
*Beim Duobinärcode können beliebig viele Symbole mit gleicher Polarität (&bdquo;+1&rdquo; bzw. &bdquo;&ndash;1&rdquo;) direkt aufeinanderfolgen. Deshalb gilt <i>&Phi;<sub>a</sub></i>(<i>f</i> = 0) = 1 und <i>&Phi;<sub>s</sub></i>(<i>f</i> = 0) = <i>s</i><sub>0</sub><sup>2</sup> &middot; <i>T</i>.<br>
 
*Dagegen tritt hier die alternierende Folge  ... , +1, &ndash;1, +1, &ndash;1, +1, ...  nicht auf, die hinsichtlich Impulsinterferenzen besonders störend ist. Beim Duobinärcode gilt deshalb <i>&Phi;<sub>s</sub></i>(<i>f</i> = 1/(2<i>T</i>) = 0.<br>
 
*Das Leistungsdichtespektrum <i>&Phi;<sub>s</sub></i>(<i>f</i>) des pseudoternären Duobinärcodes ist identisch mit dem LDS bei redundanzfreier Binärcodierung mit halber Rate (Symboldauer 2<i>T</i>).<br>
 
  
<br>[[Datei:P_ID1349__Dig_T_2_4_S3a_v2.png|Signale bei Duobinärcodierung|class=fit]]<br><br>
+
Es gelten die gleichen Voraussetzungen wie auf der Seite  &nbsp;[[Digitalsignalübertragung/Blockweise_Codierung_mit_4B3T-Codes#Fehlerwahrscheinlichkeit_der_4B3T-Codes|Fehlerwahrscheinlichkeit der 4B3T-Codes]]. Insbesondere:
 +
*Cosinus&ndash;Rolloff&ndash;Charakteristik des Gesamtfrequenzgangs (von Sender und Empfänger) mit dem Rolloff&ndash;Faktor $r = 0.8$.
 +
<br clear=all>
 +
Die Ergebnisse sind wie folgt zu interpretieren:
  
Die Eigenschaften der Pseudoternärcodes und insbesondere des Duobinärcodes können Sie sich mit dem Interaktionsmodul &nbsp; [https://intern.lntwww.de/cgi-bin/extern/uni.pl?uno=hyperlink&due=block&b_id=2802&hyperlink_typ=block_verweis&hyperlink_fenstergroesse=blockverweis_gross Signale, AKF und LDS der Pseudoternärcodes Please add link flash file] &nbsp; verdeutlichen.<br>
+
*Man erkennt in der linken Grafik, dass beim AMI&ndash;Code die horizontalen Linien bei &nbsp;$+s_0$&nbsp; und &nbsp;$-s_0$&nbsp; fehlen (Gleichsignalfreiheit!), während beim Duobinärcode (mittlere Grafik) keine Übergänge von &nbsp;$+s_0$&nbsp; auf &nbsp;$-s_0$&nbsp; (und umgekehrt) möglich sind. Beim 4B3T&ndash;Code erkennt man im Augendiagramm deutlich mehr Linien als bei den beiden linken Bildern. Der redundanzfreie Ternärcode würde nahezu das gleiche Ergebnis liefern.<br>
  
 +
*Auf der oben zitierten Seite wurde die Symbolfehlerwahrscheinlichkeit des 4B3T&ndash;Codes für die Leistungskenngröße &nbsp;$10 \cdot \lg \hspace{0.05cm}(s_0^2 \cdot T/N_0) = 13 \ \rm dB$&nbsp; (gültig für Spitzenwertbegrenzung!) wie folgt berechnet:
 +
:$${ \sigma_d}/{s_0} = 0.145 \hspace{0.3cm}\Rightarrow \hspace{0.3cm}
 +
p_{\rm S} = {4}/{3} \cdot {\rm Q} \left( \frac{s_0/2}{ \sigma_d} \right) \approx
 +
{4}/{3} \cdot {\rm Q} \left( 3.45 \right) = 3.7 \cdot 10^{-4}
 +
\hspace{0.05cm}.$$
  
 +
*Bei Verwendung eines Pseudoternärcodes ergibt sich eine größere Fehlerwahrscheinlichkeit, weil hier der Rauscheffektivwert gegenüber der redundanzfreien Binärcodierung nicht verringert wird:
 +
:$${ \sigma_d}/{s_0} = 0.167 \hspace{0.3cm}\Rightarrow \hspace{0.3cm}
 +
p_{\rm S} = {4}/{3} \cdot {\rm Q} \left( \frac{s_0/2}{ \sigma_d} \right) \approx
 +
{4}/{3} \cdot {\rm Q} \left( 3 \right) = 1.8 \cdot 10^{-3}
 +
\hspace{0.05cm}.$$
  
 +
*Bei Erfüllung der Nyquistbedingung unterscheiden sich der AMI&ndash; und der Duobinärcode trotz völlig unterschiedlicher Augendiagramme  hinsichtlich der Fehlerwahrscheinlichkeit nicht.<br>
  
 +
*Wie aber im Abschnitt  &nbsp;[[Digitalsignalübertragung/Impulsinterferenzen_bei_mehrstufiger_Übertragung#Augen.C3.B6ffnung_bei_den_Pseudotern.C3.A4rcodes|Augenöffnung bei den Pseudoternärcodes]]&nbsp; noch gezeigt werden wird, ist das Fehlerverhalten der beiden Codes immer dann extrem unterschiedlich, wenn &nbsp;[[Digitalsignalübertragung/Ursachen_und_Auswirkungen_von_Impulsinterferenzen|Impulsinterferenzen]]&nbsp; eine Rolle spielen.<br>
  
  
<math></math><br>
+
==Aufgaben zum Kapitel==
 
<br>
 
<br>
<br><br>
+
[[Aufgaben:2.7 AMI-Code|Aufgabe 2.7: AMI-Code]]
[[Datei:||class=fit]]<br><br>
 
 
 
 
 
 
 
 
 
  
 +
[[Aufgaben:2.7Z_Leistungsdichtespektren_der_Pseudoternärcodes|Aufgabe 2.7Z: Leistungsdichtespektren der Pseudoternärcodes]]
  
 +
[[Aufgaben:2.8_Vergleich_von_Binärcode,_AMI-Code_und_4B3T-Code|Aufgabe 2.8: Vergleich von Binärcode, AMI-Code und 4B3T-Code]]
  
 
{{Display}}
 
{{Display}}

Aktuelle Version vom 20. Mai 2022, 11:55 Uhr


Allgemeine Beschreibung der Pseudomehrstufencodes


Bei der symbolweisen Codierung wird mit jedem ankommenden Quellensymbol  $q_\nu$  ein Codesymbol  $c_\nu$  erzeugt,  das außer vom aktuellen Eingangssymbol  $q_\nu$  auch von den  $N_{\rm C}$  vorangegangenen Symbolen  $q_{\nu-1}$, ... , $q_{\nu-N_{\rm C}} $  abhängt.  $N_{\rm C}$  bezeichnet man als die  "Ordnung"  des Codes.

Typisch für eine symbolweise Codierung ist,  dass

  • die Symboldauer  $T$  des Codersignals  (und des Sendesignals)  mit der Bitdauer  $T_{\rm B}$  des binären Quellensignals übereinstimmt,  und
  • Codierung und Decodierung nicht zu größeren Zeitverzögerungen führen,  die bei Verwendung von Blockcodes unvermeidbar sind.

Besondere Bedeutung besitzen die  "Pseudomehrstufencodes"  – bekannt auch unter der englischen Bezeichnung  "Partial Response Codes".  Im Folgenden werden ausschließlich  "Pseudoternärcodes"   ⇒   Stufenzahl  $M = 3$  betrachtet. 

  • Diese sind durch das Blockschaltbild entsprechend der linken Grafik beschreibbar.
  • In der rechten Grafik ist ein Ersatzschaltbild angegeben,  das insbesonderefür eine Analyse dieser Codes sehr gut geeignet ist.
Blockschaltbild und Ersatzschaltbild eines Pseudoternärcoders

Man erkennt aus den beiden Darstellungen:

  • Der Pseudoternärcoder kann in den  "nichtlinearen Vorcodierer"  und ein  "lineares Codiernetzwerk" aufgespalten werden,  wenn man – wie im rechten Ersatzschaltbild dargestellt – die Verzögerung um  $N_{\rm C} \cdot T$  und die Gewichtung mit  $K_{\rm C}$  zur Verdeutlichung zweimal zeichnet.
  • Der  nichtlineare Vorcodierer  gewinnt durch eine Modulo–2–Addition  ("Antivalenz")  zwischen den Symbolen  $q_\nu$  und  $K_{\rm C} \cdot b_{\nu-N_{\rm C}} $  die vorcodierten,  ebenfalls binären Symbole  $b_\nu$:
$$q_\nu \in \{-1, +1\},\hspace{0.1cm} K_{\rm C} \in \{-1, +1\}\hspace{0.3cm}\Rightarrow \hspace{0.3cm}b_\nu \in \{-1, +1\}\hspace{0.05cm}.$$
  • Diese sind wie die Quellensymbole  $q_\nu$  statistisch voneinander unabhängig.  Der Vorcodierer fügt also keine Redundanz hinzu.  Er gestattet aber eine einfachere Realisierung des Decoders und verhindert eine Fehlerfortpflanzung nach einem Übertragungsfehler.
  • Die eigentliche Umcodierung von binär  $(M_q = 2)$  auf ternär  $(M = M_c = 3)$  bewirkt das  lineare Codiernetzwerk  durch die herkömmliche Subtraktion
$$c(t) ={1}/{2} \cdot \big [b(t) - K_{\rm C} \cdot b(t- N_{\rm C}\cdot T)\big] \in \{-1, \ 0, +1\}\hspace{0.05cm},$$
das durch die folgende  Impulsantwort   bzw.  Übertragungsfunktion  bezüglich dem Eingangssignal  $b(t)$  und dem Eingangssignal  $c(t)$  beschrieben werden kann:
$$h_{\rm C}(t) = {1}/{2} \cdot \big [\delta(t) - K_{\rm C} \cdot \delta(t- N_{\rm C}\cdot T)\big] \ \ \ \circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\ \ \ H_{\rm C}(f) ={1}/{2} \cdot \left [1 - K_{\rm C} \cdot {\rm e}^{- {\rm j}\hspace{0.05cm}\cdot\hspace{0.05cm} 2\pi \hspace{0.05cm}\cdot \hspace{0.05cm}N_{\rm C}\hspace{0.05cm}\cdot \hspace{0.05cm}T}\right]\hspace{0.05cm}. $$
  • Die relative Coderedundanz ist für alle Pseudoternärcodes gleich.  Setzt man in die  allgemeine Definitionsgleichung  $M_q=2$,  $M_c=3$,  $T_c =T_q$  ein,  so erhält man
$$r_c = 1- \frac{R_q}{R_c} = 1- \frac{T_c}{T_q} \cdot \frac{{\rm log_2}\hspace{0.05cm} (M_q)}{{\rm log_2} \hspace{0.05cm}(M_c)} = 1- \frac{T_c}{T_q \cdot {\rm log_2} \hspace{0.05cm}(M_c)}\hspace{0.5cm}\Rightarrow \hspace{0.5cm} r_c = 1 -1/\log_2\hspace{0.05cm}(3) \approx 36.9 \%\hspace{0.05cm}.$$

$\text{Fazit:}$  Wird für den Sendegrundimpuls  $g_s(t)$  das NRZ–Rechteck vorausgesetzt,  so lautet das  Sendesignal aller Pseudoternärcodes:

$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g_s ( t - \nu \cdot T)\hspace{0.05cm}.$$
  • Dieses ist sowohl  "ternär"   ⇒   $a_\nu \in \{-1, \ 0, +1\}$  als auch  "redundant"   ⇒   statistische Bindungen zwischen den  $a_\nu$.

Eigenschaften des AMI-Codes


Die einzelnen Pseudoternärcodes unterscheiden sich in den Parametern  $N_{\rm C}$  und  $K_{\rm C}$.

Der bekannteste Vertreter ist der Bipolarcode erster Ordnung mit den Codeparametern  $N_{\rm C} = 1$  und  $K_{\rm C} = 1$, der auch unter der Bezeichnung AMI–Code (von: Alternate Mark Inversion) bekannt ist. Dieser wird zum Beispiel bei  ISDN  (Integrated Services Digital Networks) auf der so genannten $S_0$–Schnittstelle eingesetzt.

Signale bei AMI- und HDB3-Codierung

Die Grafik zeigt oben das binäre Quellensignal  $q(t)$. Im zweiten und dritten Diagramm sind dargestellt:

  • das ebenfalls binäre Signal  $b(t)$  nach dem Vorcodierer, und
  • das Codersignal  $c(t) = s(t)$  des AMI–Codes.


Man erkennt das einfache AMI–Codierprinzip:

  • Jeder Binärwert „–1” von $q(t)$   ⇒   Symbol  $\rm L$  wird durch den ternären Amplitudenkoeffizienten  $a_\nu = 0$  codiert.
  • Der Binärwert „+1” von  $q(t)$   ⇒   Symbol  $\rm H$  wird alternierend mit  $a_\nu = +1$  und  $a_\nu = -1$  dargestellt.

Damit wird sichergestellt, dass im AMI–codierten Signal keine langen „+1”– bzw. „–1”–Sequenzen enthalten sind, was bei einem gleichsignalfreien Kanal zu Problemen führen würde.

Dagegen ist das Auftreten langer Nullfolgen durchaus möglich, bei denen über einen längeren Zeitraum keine Taktinformation übertragen wird.
Um dieses zweite Problem zu vermeiden, wurden einige modifizierte AMI–Codes entwickelt, zum Beispiel der B6ZS–Code  und der HDB3–Code:

  • Beim HDB3–Code  (grüne Kurve in obiger Grafik) werden vier aufeinanderfolgende Nullen im AMI–codierten Signal durch eine Teilsequenz ersetzt, die die AMI–Codierregel verletzt.
  • Im grau hinterlegten Bereich ist dies die Folge „+ 0 0 +”, da das letzte Symbol vor der Ersetzung ein „Minus” war.
  • Damit ist beim HDB3–Code die Anzahl aufeinanderfolgender Nullen auf  $3$  begrenzt und beim  B6ZS–Code  auf  $5$.
  • Der Decoder erkennt diese Codeverletzung und ersetzt „+ 0 0 +” wieder durch „0 0 0 0”.

Leistungsdichtespektrum des AMI-Codes


Der Frequenzgang des linearen Codiernetzwerks eines Pseudoternärcodes lautet allgemein:

$$H_{\rm C}(f) = {1}/{2} \cdot \big [1 - K_{\rm C} \cdot {\rm e}^{-{\rm j}\hspace{0.03cm}\cdot \hspace{0.03cm} 2\pi\hspace{0.03cm}\cdot \hspace{0.03cm}f \hspace{0.03cm}\cdot \hspace{0.03cm} N_{\rm C}\hspace{0.03cm}\cdot \hspace{0.03cm}T} \big] ={1}/{2} \cdot \big [1 - K \cdot {\rm e}^{-{\rm j}\hspace{0.03cm}\cdot \hspace{0.03cm} \alpha} \big ]\hspace{0.05cm}.$$

Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten  $(K$  und  $\alpha$  sind Abkürzungen entsprechend obiger Gleichung$)$:

$$ {\it \Phi}_a(f) = | H_{\rm C}(f)|^2 = \frac{\big [1 - K \cos (\alpha) + {\rm j}\cdot K \sin (\alpha) \big ] \big [1 - K \cos (\alpha) - {\rm j}\cdot K \sin (\alpha) \big ] }{4} = \text{...} = {1}/{4} \cdot \big [2 - 2 \cdot K \cdot \cos (\alpha) \big ] $$
Leistungsdichtespektrum des AMI-Codes
$$ \Rightarrow \hspace{0.3cm}{\it \Phi}_a(f) = | H_{\rm C}(f)|^2 = {1}/{2} \cdot \big [1 - K_{\rm C} \cdot \cos (2\pi f N_{\rm C} T)\big ] \hspace{0.4cm}\bullet\!\!-\!\!\!-\!\!\!-\!\!\circ \hspace{0.4cm} \varphi_a(\lambda \cdot T)\hspace{0.05cm}.$$

Insbesondere erhält man für das Leistungsdichtespektrum (LDS) des AMI–Codes $(N_{\rm C} = K_{\rm C} = 1)$:

$${\it \Phi}_a(f) = {1}/{2} \cdot \big [1 - \cos (2\pi f T)\big ] = \sin^2 (\pi f T)\hspace{0.05cm}.$$

Die Grafik zeigt

  • das LDS  ${\it \Phi}_a(f)$  der Amplitudenkoeffizienten (rote Kurve), und
  • das LDS  ${\it \Phi}_s(f)$  des gesamten Sendesignals (blau), gültig für NRZ–Rechteckimpulse.


Man erkennt aus dieser Darstellung

  • die Gleichsignalfreiheit des AMI–Codes, da  ${\it \Phi}_a(f = 0) = {\it \Phi}_s(f = 0) = 0$  ist,
  • die Leistung  $P_{\rm S} = s_0^2/2$  des AMI–codierten Sendesignals (Integral über  ${\it \Phi}_s(f)$  von  $- \infty$  bis  $+\infty$).


Hinweise:

  • Das LDS von HDB3– und B6ZS–Code weicht von dem des AMI–Codes nur unwesentlich ab.
  • Die hier behandelte Thematik können Sie sich mit dem interaktiven Applet  Signale, AKF und LDS der Pseudoternärcodes  verdeutlichen.


Eigenschaften des Duobinärcodes


Leistungsdichtespektrum des Duobinärcodes

Der Duobinärcode ist durch die Codeparameter  $N_{\rm C} = 1$  und  $K_{\rm C} = -1$  festgelegt. Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten bzw. für das LDS des Sendesignals:

$${\it \Phi}_a(f) ={1}/{2} \cdot \big [1 + \cos (2\pi f T)\big ] = \cos^2 (\pi f T)\hspace{0.05cm},$$
$$ {\it \Phi}_s(f) = s_0^2 \cdot T \cdot \cos^2 (\pi f T)\cdot {\rm si}^2 (\pi f T)= s_0^2 \cdot T \cdot {\rm si}^2 (2 \pi f T) \hspace{0.05cm}.$$

Die Grafik zeigt das Leistungsdichtespektrum

  • der Amplitudenkoeffizienten   ⇒   ${\it \Phi}_a(f)$  als rote Kurve,
  • des gesamten Sendsignals   ⇒   ${\it \Phi}_s(f)$  als blaue Kurve.

In der zweiten Grafik sind die Signale  $q(t)$,  $b(t)$  und  $c(t) = s(t)$  skizziert. Wir verweisen hier wieder auf das Applet  Signale, AKF und LDS der Pseudoternärcodes, das auch die Eigenschaften des Duobinärcodes verdeutlicht.

Signale bei Duobinärcodierung



Aus diesen Darstellungen geht hervor:

  • Beim Duobinärcode können beliebig viele Symbole mit gleicher Polarität („+1” bzw. „–1”) direkt aufeinanderfolgen.
  • Deshalb gilt  ${\it \Phi}_a(f = 0)=1$  und  ${\it \Phi}_s(f = 0) = 1/2 \cdot s_0^2 \cdot T$.
  • Dagegen tritt beim Duobinärcode die alternierende Folge „ ... , +1, –1, +1, –1, +1, ... ” nicht auf, die hinsichtlich Impulsinterferenzen besonders störend ist.
  • Deshalb gilt beim Duobinärcode:  ${\it \Phi}_s(f = 1/(2T) = 0$.
  • Das Leistungsdichtespektrum  ${\it \Phi}_s(f)$  des pseudoternären Duobinärcodes ist identisch mit dem LDS bei redundanzfreier Binärcodierung mit halber Rate $($Symboldauer  $2T)$.


Fehlerwahrscheinlichkeit der Pseudoternärcodes


Augendiagramme bei AMI–, Duobinär– und 4B3T–Codierung

Die Grafik zeigt die  Augendiagramme  (ohne Rauschen) bei Verwendung

  • von AMI–Code (links)
  • und Duobinärcode (Mitte)
  • im Vergleich zum 4B3T–Code (rechts).


Es gelten die gleichen Voraussetzungen wie auf der Seite  Fehlerwahrscheinlichkeit der 4B3T-Codes. Insbesondere:

  • Cosinus–Rolloff–Charakteristik des Gesamtfrequenzgangs (von Sender und Empfänger) mit dem Rolloff–Faktor $r = 0.8$.


Die Ergebnisse sind wie folgt zu interpretieren:

  • Man erkennt in der linken Grafik, dass beim AMI–Code die horizontalen Linien bei  $+s_0$  und  $-s_0$  fehlen (Gleichsignalfreiheit!), während beim Duobinärcode (mittlere Grafik) keine Übergänge von  $+s_0$  auf  $-s_0$  (und umgekehrt) möglich sind. Beim 4B3T–Code erkennt man im Augendiagramm deutlich mehr Linien als bei den beiden linken Bildern. Der redundanzfreie Ternärcode würde nahezu das gleiche Ergebnis liefern.
  • Auf der oben zitierten Seite wurde die Symbolfehlerwahrscheinlichkeit des 4B3T–Codes für die Leistungskenngröße  $10 \cdot \lg \hspace{0.05cm}(s_0^2 \cdot T/N_0) = 13 \ \rm dB$  (gültig für Spitzenwertbegrenzung!) wie folgt berechnet:
$${ \sigma_d}/{s_0} = 0.145 \hspace{0.3cm}\Rightarrow \hspace{0.3cm} p_{\rm S} = {4}/{3} \cdot {\rm Q} \left( \frac{s_0/2}{ \sigma_d} \right) \approx {4}/{3} \cdot {\rm Q} \left( 3.45 \right) = 3.7 \cdot 10^{-4} \hspace{0.05cm}.$$
  • Bei Verwendung eines Pseudoternärcodes ergibt sich eine größere Fehlerwahrscheinlichkeit, weil hier der Rauscheffektivwert gegenüber der redundanzfreien Binärcodierung nicht verringert wird:
$${ \sigma_d}/{s_0} = 0.167 \hspace{0.3cm}\Rightarrow \hspace{0.3cm} p_{\rm S} = {4}/{3} \cdot {\rm Q} \left( \frac{s_0/2}{ \sigma_d} \right) \approx {4}/{3} \cdot {\rm Q} \left( 3 \right) = 1.8 \cdot 10^{-3} \hspace{0.05cm}.$$
  • Bei Erfüllung der Nyquistbedingung unterscheiden sich der AMI– und der Duobinärcode trotz völlig unterschiedlicher Augendiagramme hinsichtlich der Fehlerwahrscheinlichkeit nicht.


Aufgaben zum Kapitel


Aufgabe 2.7: AMI-Code

Aufgabe 2.7Z: Leistungsdichtespektren der Pseudoternärcodes

Aufgabe 2.8: Vergleich von Binärcode, AMI-Code und 4B3T-Code