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

Aus LNTwww
Wechseln zu:Navigation, Suche
Zeile 9: Zeile 9:
 
== Allgemeine Beschreibung der Pseudomehrstufencodes ==
 
== Allgemeine Beschreibung der Pseudomehrstufencodes ==
 
<br>
 
<br>
Bei der symbolweisen Codierung wird mit jedem ankommenden Quellensymbol qν ein Codesymbol cν erzeugt, das außer vom aktuellen Eingangssymbol qν auch von den NC vorangegangenen Symbolen qν, ... , qνNC abhängt. NC bezeichnet man als die ''Ordnung'' des Codes.<br><br>
+
Bei der symbolweisen Codierung wird mit jedem ankommenden Quellensymbol &nbsp;qν&nbsp; ein Codesymbol &nbsp;cν&nbsp; erzeugt, das außer vom aktuellen Eingangssymbol &nbsp;qν&nbsp; auch von den &nbsp;NC&nbsp; vorangegangenen Symbolen &nbsp;$q_{\nu-1},...,q_{\nu-N_{\rm C}} $&nbsp; abhängt. &nbsp;NC&nbsp; bezeichnet man als die ''Ordnung''&nbsp; des Codes.<br><br>
  
 
Typisch für eine symbolweise Codierung ist, dass
 
Typisch für eine symbolweise Codierung ist, dass
*die Symboldauer T des Codersignals (und des Sendesignals) mit der Bitdauer TB des binären Quellensignals übereinstimmt, und
+
*die Symboldauer &nbsp;T&nbsp; des Codersignals (und des Sendesignals) mit der Bitdauer &nbsp;TB&nbsp; des binären Quellensignals übereinstimmt, und
*die 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, 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 ''Pseudomehrstufencodes''&nbsp; &ndash; besser bekannt unter der englischen Bezeichnung ''Partial Response Codes''.<br>
  
Im Folgenden werden ausschließlich ''Pseudoternärcodes'' &nbsp; &rArr; &nbsp;  Stufenzahl M=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.
+
Im Folgenden werden ausschließlich ''Pseudoternärcodes'' &nbsp; &rArr; &nbsp;  Stufenzahl &nbsp;M=3&nbsp; 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.
  
[[Datei:P_ID1343__Dig_T_2_4_S1_v1.png|center|frame|Blockschaltbild und Ersatzschaltbild eines Pseudoternärcodes|class=fit]]
+
[[Datei:P_ID1343__Dig_T_2_4_S1_v1.png|center|frame|Blockschaltbild und Ersatzschaltbild eines Pseudoternärcoders|class=fit]]
  
 
Man erkennt aus den beiden Darstellungen:
 
Man erkennt aus den beiden Darstellungen:
*Der Pseudoternärcoder kann in den nichtlinearen Vorcodierer und ein lineares Codiernetzwerk aufgespalten werden, wenn man &ndash; wie im rechten  Ersatzschaltbild  dargestellt &ndash;  die Verzögerung um NCT und die Gewichtung mit KC zur Verdeutlichung zweimal zeichnet.<br>
+
*Der Pseudoternärcoder kann in den nichtlinearen Vorcodierer und ein lineares Codiernetzwerk aufgespalten werden, wenn man &ndash; wie im rechten  Ersatzschaltbild  dargestellt &ndash;  die Verzögerung um &nbsp;NCT&nbsp; und die Gewichtung mit &nbsp;KC&nbsp; zur Verdeutlichung zweimal zeichnet.<br>
  
*Der ''nichtlineare Vorcodierer'' gewinnt durch eine Modulo&ndash;2&ndash;Addition (''Antivalenz'') zwischen den Symbolen qν und KCbνNC die  vorcodierten Symbole bν, die ebenfalls binär sind:
+
*Der ''nichtlineare Vorcodierer''&nbsp; gewinnt durch eine Modulo&ndash;2&ndash;Addition (''Antivalenz''&nbsp;) zwischen den Symbolen &nbsp;qν&nbsp; und &nbsp;KCbνNC&nbsp; die  vorcodierten Symbole &nbsp;bν, die ebenfalls binär sind:
 
:$$q_\nu \in \{-1, +1\},\hspace{0.1cm} K_{\rm C} \in \{-1,
 
:$$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}.$$
 
+1\}\hspace{0.05cm}.$$
*Die Symbole bν sind wie die Quellensymbole qν 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.<br>
+
*Die Symbole &nbsp;bν&nbsp; sind wie die Quellensymbole &nbsp;qν&nbsp; 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.<br>
  
*Die eigentliche Umcodierung von binär (Mq=2) auf ternär (M=Mc=3) bewirkt das ''lineare Codiernetzwerk'' durch die herkömmliche Subtraktion
+
*Die eigentliche Umcodierung von binär &nbsp;(Mq=2)&nbsp; auf ternär &nbsp;(M=Mc=3)&nbsp; bewirkt das ''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(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},$$
 
C}\cdot T)\big]  \in \{-1, \ 0, +1\}\hspace{0.05cm},$$
  
:das durch folgende [[Lineare_zeitinvariante_Systeme/Systembeschreibung_im_Zeitbereich#Impulsantwort|Impulsantwort]] bzw. [[Lineare_zeitinvariante_Systeme/Systembeschreibung_im_Frequenzbereich#.C3.9Cbertragungsfunktion_-_Frequenzgang|Übertragungsfunktion]] bezüglich dem Eingangssignal b(t) und dem Eingangssignal c(t)beschrieben werden kann:
+
:das durch 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
 
:$$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}.  $$
 
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 [[Digitalsignalübertragung/Redundanzfreie_Codierung#Blockweise_Codierung_vs._symbolweise_Codierung|allgemeinen Definitionsgleichung]] Mq=2, Mc=3 sowie Tc=Tq ein, so erhält man
+
*Die relative Coderedundanz ist für alle Pseudoternärcodes gleich. Setzt man  in die &nbsp;[[Digitalsignalübertragung/Redundanzfreie_Codierung#Blockweise_Codierung_vs._symbolweise_Codierung|allgemeine Definitionsgleichung]]&nbsp; Mq=2, &nbsp;Mc=3&nbsp; und &nbsp;Tc=Tq&nbsp; ein, so erhält man
 
:rc=1RqRc=1TcTqlog2(Mq)log2(Mc)=1TcTqlog2(Mc)rc=11/log2(3)36.9%.
 
:rc=1RqRc=1TcTqlog2(Mq)log2(Mc)=1TcTqlog2(Mc)rc=11/log2(3)36.9%.
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
Fazit:&nbsp; Setzt man für den Sendegrundimpuls gs(t) das NRZ&ndash;Rechteck voraus, so lautet das '''Sendesignal aller Pseudoternärcodes''':
+
Fazit:&nbsp; Wird für den Sendegrundimpuls gs(t) das NRZ&ndash;Rechteck vorausgesetzt, so lautet das '''Sendesignal aller Pseudoternärcodes''':
 
:s(t)=+ν=aνgs(tνT).
 
:s(t)=+ν=aνgs(tνT).
 
Dieses ist sowohl ''ternär'' &nbsp; &rArr; &nbsp; aν{1, 0,+1} als auch ''redundant'' &nbsp; &rArr; &nbsp; statistische Bindungen zwischen den aν.}}
 
Dieses ist sowohl ''ternär'' &nbsp; &rArr; &nbsp; aν{1, 0,+1} als auch ''redundant'' &nbsp; &rArr; &nbsp; statistische Bindungen zwischen den aν.}}
Zeile 48: Zeile 48:
 
== Eigenschaften des AMI-Codes==
 
== Eigenschaften des AMI-Codes==
 
<br>
 
<br>
Die einzelnen Pseudoternärcodes unterscheiden sich in den Parametern NC und KC.  
+
Die einzelnen Pseudoternärcodes unterscheiden sich in den Parametern &nbsp;NC&nbsp; und &nbsp;KC.  
  
Der bekannteste Vertreter ist der '''Bipolarcode erster Ordnung''' mit den Codeparametern NC=1 und KC=1, der auch unter der Bezeichnung  '''AMI&ndash;Code'''  (von: ''Alternate Mark Inversion'') bekannt ist. Dieser wird zum Beispiel bei [[Beispiele_von_Nachrichtensystemen/Allgemeine_Beschreibung_von_ISDN|ISDN]] (''Integrated Services Digital Networks'') auf der so genannten  S0&ndash;Schnittstelle eingesetzt.  
+
Der bekannteste Vertreter ist der '''Bipolarcode erster Ordnung''' mit den Codeparametern &nbsp;NC=1&nbsp; und &nbsp;KC=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  S0&ndash;Schnittstelle eingesetzt.  
  
 
[[Datei:P_ID1346__Dig_T_2_4_S2a_v1.png|right|frame|Signale bei AMI- und HDB3-Codierung|class=fit]]
 
[[Datei:P_ID1346__Dig_T_2_4_S2a_v1.png|right|frame|Signale bei AMI- und HDB3-Codierung|class=fit]]
Die Grafik zeigt oben das binäre Quellensignal q(t). Im zweiten und dritten Diagramm sind dargestellt:
+
Die Grafik zeigt oben das binäre Quellensignal &nbsp;q(t). Im zweiten und dritten Diagramm sind dargestellt:
* das ebenfalls binäre Signal b(t) nach dem Vorcodierer, und  
+
* das ebenfalls binäre Signal &nbsp;b(t)&nbsp; nach dem Vorcodierer, und  
* das Codersignal c(t)=s(t) beim AMI&ndash;Code.  
+
* das Codersignal &nbsp;c(t)=s(t)&nbsp; des AMI&ndash;Codes.  
  
  
Man erkennt das einfache AMI&ndash;Codier&ndash; und Decodierprinzip:
+
Man erkennt das einfache AMI&ndash;Codierprinzip:
*Jeder Binärwert &bdquo;&ndash;1&rdquo; von q(t)  &nbsp; &rArr; &nbsp;  Symbol L wird durch den ternären Amplitudenkoeffizienten aν=0 codiert.<br>
+
*Jeder Binärwert &bdquo;&ndash;1&rdquo; von q(t)  &nbsp; &rArr; &nbsp;  Symbol &nbsp;L&nbsp; wird durch den ternären Amplitudenkoeffizienten &nbsp;aν=0&nbsp; codiert.<br>
*Der Binärwert &bdquo;+1&rdquo; von q(t) &nbsp; &rArr; &nbsp;  Symbol H wird alternierend mit aν=+1 und aν=1 dargestellt.<br><br>
+
*Der Binärwert &bdquo;+1&rdquo; von &nbsp;q(t) &nbsp; &rArr; &nbsp;  Symbol &nbsp;H&nbsp; wird alternierend mit &nbsp;aν=+1&nbsp; und &nbsp;aν=1&nbsp; dargestellt.<br><br>
  
 
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.  
 
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.  
Zeile 66: Zeile 66:
 
Dagegen ist das Auftreten langer Nullfolgen durchaus möglich, bei denen über einen längeren Zeitraum keine Taktinformation übertragen wird.
 
Dagegen ist das Auftreten langer Nullfolgen durchaus möglich, bei denen über einen längeren Zeitraum keine Taktinformation übertragen wird.
 
<br clear = all>
 
<br clear = all>
Um dieses zweite Problem zu vermeiden, wurden einige modifizierte AMI&ndash;Codes entwickelt, zum Beispiel der ''B6ZS&ndash;Code'' und der ''HDB3''&ndash;Code:
+
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''' (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>
+
*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>
  
 
*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>
 
*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 3 begrenzt, beim '''B6ZS&ndash;Code''' auf 5.  
+
*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>
 
*Der Decoder erkennt diese Codeverletzung und ersetzt &bdquo;+ 0 0 +&rdquo; wieder durch &bdquo;0 0 0 0&rdquo;.<br>
  
Zeile 86: Zeile 86:
 
\big ]\hspace{0.05cm}.$$
 
\big ]\hspace{0.05cm}.$$
  
Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten ($Kund\alpha$ sind Abkürzungen):
+
Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten &nbsp;$(K$&nbsp; und &nbsp;α&nbsp; sind Abkürzungen entsprechend obiger Gleichung$)$:
 
:$$  {\it \Phi}_a(f)  =  | H_{\rm C}(f)|^2 =  \frac{\big [1 - K \cos
 
:$$  {\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 ] \big [1 - K  \cos
Zeile 96: Zeile 96:
 
  \hspace{0.4cm}\bullet\!\!-\!\!\!-\!\!\!-\!\!\circ \hspace{0.4cm}
 
  \hspace{0.4cm}\bullet\!\!-\!\!\!-\!\!\!-\!\!\circ \hspace{0.4cm}
 
\varphi_a(\lambda \cdot T)\hspace{0.05cm}.$$
 
\varphi_a(\lambda \cdot T)\hspace{0.05cm}.$$
 
  
 
Insbesondere erhält man für das Leistungsdichtespektrum (LDS) des AMI&ndash;Codes (NC=KC=1):
 
Insbesondere erhält man für das Leistungsdichtespektrum (LDS) des AMI&ndash;Codes (NC=KC=1):
Zeile 104: Zeile 103:
  
 
Die Grafik zeigt
 
Die Grafik zeigt
*das LDS Φa(f) der Amplitudenkoeffizienten (rote Kurve),<br>
+
*das LDS &nbsp;Φa(f)&nbsp; der Amplitudenkoeffizienten (rote Kurve), und<br>
*das LDS Φs(f) des gesamten Sendesignals (blau), gültig für NRZ&ndash;Rechteckimpulse.<br>
+
*das LDS &nbsp;Φs(f)&nbsp; des gesamten Sendesignals (blau), gültig für NRZ&ndash;Rechteckimpulse.<br>
  
  
 
Man erkennt aus dieser Darstellung
 
Man erkennt aus dieser Darstellung
*die Gleichsignalfreiheit des AMI&ndash;Codes, da Φa(f=0)=Φs(f=0)=0 ist,<br>
+
*die Gleichsignalfreiheit des AMI&ndash;Codes, da &nbsp;Φa(f=0)=Φs(f=0)=0&nbsp; ist,<br>
*die Leistung PS=s20/ des AMI&ndash;codierten Sendesignals (Integral über Φs(f) von bis +).
+
*die Leistung &nbsp;$P_{\rm S} = s_0^2/2$&nbsp; des AMI&ndash;codierten Sendesignals (Integral über &nbsp;Φs(f)&nbsp; von &nbsp;&nbsp; bis &nbsp;+).
  
  
 
''Hinweise:''
 
''Hinweise:''
 
*Das LDS von HDB3&ndash; und B6ZS&ndash;Code weicht von dem des AMI&ndash;Codes nur unwesentlich ab.<br>
 
*Das LDS von HDB3&ndash; und B6ZS&ndash;Code weicht von dem des AMI&ndash;Codes nur unwesentlich ab.<br>
*Die hier behandelte Thematik  können Sie sich mit dem Interaktionsmodul [[Applets:Pseudoternaercodierung|Signale, AKF und LDS der Pseudoternärcodes]] verdeutlichen.
+
*Die hier behandelte Thematik  können Sie sich mit dem interaktiven Applet &nbsp;[[Applets:Pseudoternaercodierung|Signale, AKF und LDS der Pseudoternärcodes]]&nbsp; verdeutlichen.
  
  
 
== Eigenschaften des Duobinärcodes ==
 
== Eigenschaften des Duobinärcodes ==
 
<br>
 
<br>
Der '''Duobinärcode''' ist durch die Codeparameter NC=1 und KC=1 festgelegt. Damit ergibt sich für das Leistungsdichtespektrum (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]]
 
[[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;NC=1&nbsp; und &nbsp;KC=1&nbsp; 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
 
:$${\it \Phi}_a(f) ={1}/{2} \cdot \big [1 + \cos
 
   (2\pi  f    T)\big ] = \cos^2
 
   (2\pi  f    T)\big ] = \cos^2
Zeile 131: Zeile 131:
  
 
Die Grafik zeigt das Leistungsdichtespektrum
 
Die Grafik zeigt das Leistungsdichtespektrum
*der Amplitudenkoeffizienten &nbsp; &#8658; &nbsp; Φa(f)  als rote Kurve,<br>
+
*der Amplitudenkoeffizienten &nbsp; &#8658; &nbsp; Φa(f)&nbsp; als rote Kurve,<br>
*des gesamten Sendsignals &nbsp; &#8658; &nbsp; Φs(f) als blaue Kurve.<br><br>
+
*des gesamten Sendsignals &nbsp; &#8658; &nbsp; Φs(f)&nbsp; als blaue Kurve.<br><br>
  
In der zweiten Grafik sind die Signale q(t), b(t) und c(t)=s(t) skizziert. Wir verweisen hier wieder auf das Interaktionsmodul [[Applets:Pseudoternaercodierung|Signale, AKF und LDS der Pseudoternärcodes]], das auch die Eigenschaften des Duobinärcodes verdeutlicht.
+
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.
 
[[Datei:P_ID1349__Dig_T_2_4_S3a_v2.png|left|frame|Signale bei Duobinärcodierung|class=fit]]   
 
[[Datei:P_ID1349__Dig_T_2_4_S3a_v2.png|left|frame|Signale bei Duobinärcodierung|class=fit]]   
<br><br><br><br><br>Aus diesen Darstellungen geht hervor:
+
<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.  
 
*Beim Duobinärcode können beliebig viele Symbole mit gleicher Polarität (&bdquo;+1&rdquo; bzw. &bdquo;&ndash;1&rdquo;) direkt aufeinanderfolgen.  
*Deshalb gilt Φa(f=0) und Φs(f=0)=1/2s20T.<br>
+
*Deshalb gilt &nbsp;${\it \Phi}_a(f = 0)=1$&nbsp; und &nbsp;Φs(f=0)=1/2s20T.<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 hier Φs(f=1/(2T)=0.<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.  
*Außerdem fällt auf: Das Leistungsdichtespektrum Φs(f) des pseudoternären Duobinärcodes ist identisch mit dem LDS bei redundanzfreier Binärcodierung mit halber Rate (Symboldauer 2T).<br>
+
*Deshalb gilt beim Duobinärcode: &nbsp;Φs(f=1/(2T)=0.<br>
 +
*Das Leistungsdichtespektrum &nbsp;Φ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>
 
<br clear= all>
  

Version vom 14. Februar 2019, 12:54 Uhr


Allgemeine Beschreibung der Pseudomehrstufencodes


Bei der symbolweisen Codierung wird mit jedem ankommenden Quellensymbol  qν  ein Codesymbol  cν  erzeugt, das außer vom aktuellen Eingangssymbol  qν  auch von den  NC  vorangegangenen Symbolen  qν1, ... , qνNC  abhängt.  NC  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  TB  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  – besser bekannt unter der englischen Bezeichnung Partial Response Codes.

Im Folgenden werden ausschließlich Pseudoternärcodes   ⇒   Stufenzahl  M=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.

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  NCT  und die Gewichtung mit  KC  zur Verdeutlichung zweimal zeichnet.
  • Der nichtlineare Vorcodierer  gewinnt durch eine Modulo–2–Addition (Antivalenz ) zwischen den Symbolen  qν  und  KCbνNC  die vorcodierten Symbole  bν, die ebenfalls binär sind:
qν{1,+1},KC{1,+1}bν{1,+1}.
  • Die Symbole  bν  sind wie die Quellensymbole  qν  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  (Mq=2)  auf ternär  (M=Mc=3)  bewirkt das lineare Codiernetzwerk  durch die herkömmliche Subtraktion
c(t)=1/2[b(t)KCb(tNCT)]{1, 0,+1},
das durch folgende  Impulsantwort  bzw.  Übertragungsfunktion  bezüglich dem Eingangssignal  b(t)  und dem Eingangssignal  c(t)  beschrieben werden kann:
hC(t)=1/2[δ(t)KCδ(tNCT)]      HC(f)=1/2[1KCej2πNCT].
  • Die relative Coderedundanz ist für alle Pseudoternärcodes gleich. Setzt man in die  allgemeine Definitionsgleichung  Mq=2,  Mc=3  und  Tc=Tq  ein, so erhält man
rc=1RqRc=1TcTqlog2(Mq)log2(Mc)=1TcTqlog2(Mc)rc=11/log2(3)36.9%.

Fazit:  Wird für den Sendegrundimpuls gs(t) das NRZ–Rechteck vorausgesetzt, so lautet das Sendesignal aller Pseudoternärcodes:

s(t)=+ν=aνgs(tνT).

Dieses ist sowohl ternär   ⇒   aν{1, 0,+1} als auch redundant   ⇒   statistische Bindungen zwischen den aν.

Eigenschaften des AMI-Codes


Die einzelnen Pseudoternärcodes unterscheiden sich in den Parametern  NC  und  KC.

Der bekannteste Vertreter ist der Bipolarcode erster Ordnung mit den Codeparametern  NC=1  und  KC=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 S0–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  L  wird durch den ternären Amplitudenkoeffizienten  aν=0  codiert.
  • Der Binärwert „+1” von  q(t)   ⇒   Symbol  H  wird alternierend mit  aν=+1  und  aν=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:

HC(f)=1/2[1KCej2πfNCT]=1/2[1Kejα].

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

Φa(f)=|HC(f)|2=[1Kcos(α)+jKsin(α)][1Kcos(α)jKsin(α)]4=...=1/4[22Kcos(α)]
Leistungsdichtespektrum des AMI-Codes
Φa(f)=|HC(f)|2=1/2[1KCcos(2πfNCT)]φa(λT).

Insbesondere erhält man für das Leistungsdichtespektrum (LDS) des AMI–Codes (NC=KC=1):

Φa(f)=1/2[1cos(2πfT)]=sin2(πfT).

Die Grafik zeigt

  • das LDS  Φa(f)  der Amplitudenkoeffizienten (rote Kurve), und
  • das LDS  Φs(f)  des gesamten Sendesignals (blau), gültig für NRZ–Rechteckimpulse.


Man erkennt aus dieser Darstellung

  • die Gleichsignalfreiheit des AMI–Codes, da  Φa(f=0)=Φs(f=0)=0  ist,
  • die Leistung  PS=s20/2  des AMI–codierten Sendesignals (Integral über  Φs(f)  von    bis  +).


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  NC=1  und  KC=1  festgelegt. Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten bzw. für das LDS des Sendesignals:

Φa(f)=1/2[1+cos(2πfT)]=cos2(πfT),
Φs(f)=s20Tcos2(πfT)si2(πfT)=s20Tsi2(2πfT).

Die Grafik zeigt das Leistungsdichtespektrum

  • der Amplitudenkoeffizienten   ⇒   Φa(f)  als rote Kurve,
  • des gesamten Sendsignals   ⇒   Φ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  Φa(f=0)=1  und  Φs(f=0)=1/2s20T.
  • 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:  Φs(f=1/(2T)=0.
  • Das Leistungsdichtespektrum  Φ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 +s0 und s0 fehlen (Gleichsignalfreiheit!), während beim Duobinärcode (mittlere Grafik) keine Übergänge von +s0 auf s0 (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 10lg(s20T/N0)=13 dB (gültig für Spitzenwertbegrenzung!) wie folgt berechnet:
σd/s0=0.145pS=4/3Q(s0/2σd)4/3Q(3.45)=3.7104.
  • Bei Verwendung eines Pseudoternärcodes ergibt sich eine größere Fehlerwahrscheinlichkeit, weil hier der Rauscheffektivwert gegenüber der redundanzfreien Binärcodierung nicht verringert wird:
σd/s0=0.167pS=4/3Q(s0/2σd)4/3Q(3)=1.8103.
  • Bei Erfüllung der Nyquistbedingung unterscheiden sich der AMI– und der Duobinärcode trotz völlig unterschiedlicher Augendiagramme nicht hinsichtlich der Fehlerwahrscheinlichkeit.


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