Difference between revisions of "Digital Signal Transmission/Symbolwise Coding with Pseudo-Ternary Codes"

From LNTwww
Line 1: Line 1:
 
   
 
   
 
{{Header
 
{{Header
|Untermenü=Codierte und mehrstufige Übertragung
+
|Untermenü=Coded and Multilevel Transmission
 
|Vorherige Seite=Blockweise Codierung mit 4B3T-Codes
 
|Vorherige Seite=Blockweise Codierung mit 4B3T-Codes
 
|Nächste Seite=Ursachen und Auswirkungen von Impulsinterferenzen
 
|Nächste Seite=Ursachen und Auswirkungen von Impulsinterferenzen
Line 7: Line 7:
  
  
== Allgemeine Beschreibung der Pseudomehrstufencodes ==
+
== General description of the pseudo multilevel codes ==
 
<br>
 
<br>
Bei der symbolweisen Codierung wird mit jedem ankommenden Quellensymbol &nbsp;$q_\nu$&nbsp; ein Codesymbol &nbsp;$c_\nu$&nbsp; erzeugt, 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 ''Ordnung''&nbsp; des Codes.<br><br>
+
In symbol-wise coding, each incoming source symbol &nbsp;$q_\nu$&nbsp; generates a code symbol &nbsp;$c_\nu$,&nbsp; which depends not only on the current input symbol &nbsp;$q_\nu$&nbsp; but also on the &nbsp;$N_{\rm C}$&nbsp; preceding symbols &nbsp;$q_{\nu-1}$, ... , $q_{\nu-N_{\rm C}} $.&nbsp; &nbsp;$N_{\rm C}$&nbsp; is referred to as the ''order''&nbsp; of the code.<br><br>
  
Typisch für eine symbolweise Codierung ist, dass
+
Typical for a symbol-wise coding is that
*die Symboldauer &nbsp;$T$&nbsp; des Codersignals (und des Sendesignals) mit der Bitdauer &nbsp;$T_{\rm B}$&nbsp; des binären Quellensignals übereinstimmt, und
+
*the symbol duration &nbsp;$T$&nbsp; of the encoder signal (and of the transmitted signal) matches the bit duration &nbsp;$T_{\rm B}$&nbsp; of the binary source signal, and
*Codierung und Decodierung nicht zu größeren Zeitverzögerungen führen, die bei Verwendung von Blockcodes unvermeidbar sind.<br><br>
+
coding and decoding do not lead to major time delays, which are unavoidable when block codes are used.<br><br>
  
Besondere Bedeutung besitzen die ''Pseudomehrstufencodes''&nbsp; &ndash; besser bekannt unter der englischen Bezeichnung ''Partial Response Codes''.<br>
+
The ''pseudo multilevel codes''&nbsp; &ndash; better known as ''Partial Response Codes''&nbsp; &ndash; are of special importance.<br>
  
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.
+
In the following, only ''pseudo ternary codes'' &nbsp; &rArr; &nbsp;  level number &nbsp;$M = 3$&nbsp; are considered, which can be described by the block diagram corresponding to the left graph. In the right graph an equivalent circuit is given, which is very suitable for an analysis of these codes.
  
[[File:P_ID1343__Dig_T_2_4_S1_v1.png|center|frame|Blockschaltbild und Ersatzschaltbild eines Pseudoternärcoders|class=fit]]
+
[[File:P_ID1343__Dig_T_2_4_S1_v1.png|center|frame|Block diagram and equivalent circuit of a pseudo ternary encoder|class=fit]]
  
Man erkennt aus den beiden Darstellungen:
+
One can see from the two representations:
*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;$N_{\rm C} \cdot T$&nbsp; und die Gewichtung mit &nbsp;$K_{\rm C}$&nbsp; zur Verdeutlichung zweimal zeichnet.<br>
+
*The pseudo ternary coder can be split into the nonlinear precoder and a linear coding network if &ndash; as shown in the right equivalent diagram &ndash; the delay by &nbsp;$N_{\rm C} \cdot T$&nbsp; and the weighting by &nbsp;$K_{\rm C}$&nbsp; are drawn twice for clarity.<br>
  
*Der ''nichtlineare Vorcodierer''&nbsp; gewinnt durch eine Modulo&ndash;2&ndash;Addition (''Antivalenz''&nbsp;) zwischen den Symbolen &nbsp;$q_\nu$&nbsp; und &nbsp;$K_{\rm C} \cdot b_{\nu-N_{\rm C}} $&nbsp; die  vorcodierten Symbole &nbsp;$b_\nu$, die ebenfalls binär sind:
+
*The ''nonlinear precoder''&nbsp; obtains the precoded symbols &nbsp;$b_\nu$, which are also binary, by a modulo&ndash;2 addition (''antivalence''&nbsp;) between the symbols &nbsp;$q_\nu$&nbsp; and &nbsp;$K_{\rm C} \cdot b_{\nu-N_{\rm C}} $:&nbsp;  
 
:$$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 &nbsp;$b_\nu$&nbsp; sind wie die Quellensymbole &nbsp;$q_\nu$&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>
+
*Like the source symbols &nbsp;$q_\nu$,&nbsp; the symbols &nbsp;$b_\nu$&nbsp; are statistically independent of each other. Thus, the precoder does not add any redundancy. However, it allows a simpler realization of the decoder and prevents error propagation after a transmission error.<br>
  
*Die eigentliche Umcodierung von binär &nbsp;$(M_q = 2)$&nbsp; auf ternär &nbsp;$(M = M_c = 3)$&nbsp; bewirkt das ''lineare Codiernetzwerk''&nbsp; durch die herkömmliche Subtraktion
+
*The actual recoding from binary &nbsp;$(M_q = 2)$&nbsp; to ternary &nbsp;$(M = M_c = 3)$&nbsp; is done by the ''linear coding network''&nbsp; by the conventional subtraction
 
:$$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 &nbsp;[[Linear_and_Time_Invariant_Systems/Systembeschreibung_im_Zeitbereich#Impulsantwort|Impulsantwort]]&nbsp; bzw. &nbsp;[[Linear_and_Time_Invariant_Systems/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:
+
:which can be described by the following &nbsp;[[Linear_and_Time_Invariant_Systems/System_Description_in_Time_Domain#Impulse_response|impulse response]]&nbsp; or &nbsp;[[Linear_and_Time_Invariant_Systems/System_Description_in_Frequency_Domain#Frequency_response_.E2.80.93_Transfer_function|transfer function]]&nbsp; with respect to the input signal &nbsp;$b(t)$&nbsp; and the input signal &nbsp;$c(t)$:&nbsp;  
 
:$$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 &nbsp;[[Digital_Signal_Transmission/Redundanzfreie_Codierung#Blockweise_Codierung_vs._symbolweise_Codierung|allgemeine Definitionsgleichung]]&nbsp; $M_q=2$, &nbsp;$M_c=3$&nbsp; und &nbsp;$T_c =T_q$&nbsp; ein, so erhält man
+
*The relative code redundancy is the same for all pseudo ternary codes. Substituting $M_q=2$, &nbsp;$M_c=3$&nbsp; and &nbsp;$T_c =T_q$&nbsp; into the &nbsp;[[Digital_Signal_Transmission/Redundancy-Free_Coding#Blockwise_coding_vs._symbolwise_coding|general definition equation]],&nbsp; we obtain
 
:$$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}.$$
 
:$$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}.$$
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
$\text{Fazit:}$&nbsp; Wird für den Sendegrundimpuls $g_s(t)$ das NRZ&ndash;Rechteck vorausgesetzt, so lautet das '''Sendesignal aller Pseudoternärcodes''':
+
$\text{Conclusion:}$&nbsp; If the NRZ rectangle is assumed for the basic transmission pulse $g_s(t)$, the '''transmitted signal of all pseudoternary codes''' is:
 
:$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g_s ( t - \nu \cdot T)\hspace{0.05cm}.$$
 
:$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g_s ( t - \nu \cdot T)\hspace{0.05cm}.$$
Dieses ist sowohl ''ternär'' &nbsp; &rArr; &nbsp; $a_\nu \in \{-1, \ 0, +1\}$ als auch ''redundant'' &nbsp; &rArr; &nbsp; statistische Bindungen zwischen den $a_\nu$.}}
+
This is both ''ternary'' &nbsp; &rArr; &nbsp; $a_\nu \in \{-1, \ 0, +1\}$ and ''redundant'' &nbsp; &rArr; &nbsp; statistical ties between the $a_\nu$.}}
  
 
== Properties of the AMI code==
 
== Properties of the AMI code==
 
<br>
 
<br>
Die einzelnen Pseudoternärcodes unterscheiden sich in den Parametern &nbsp;$N_{\rm C}$&nbsp; und &nbsp;$K_{\rm C}$.  
+
The individual pseudo ternary codes differ in the &nbsp;$N_{\rm C}$&nbsp; and &nbsp;$K_{\rm C}$ parameters.  
  
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;[[Examples_of_Communication_Systems/Allgemeine_Beschreibung_von_ISDN|ISDN]]&nbsp; (''Integrated Services Digital Networks'') auf der so genannten  $S_0$&ndash;Schnittstelle eingesetzt.  
+
The best-known representative is the '''first-order bipolar code''' with the code parameters &nbsp;$N_{\rm C} = 1$&nbsp; and &nbsp;$K_{\rm C} = 1$, which is also known as the '''AMI code'''  (from: ''Alternate Mark Inversion''). This is used, for example, with &nbsp;[[Examples_of_Communication_Systems/Allgemeine_Beschreibung_von_ISDN|ISDN]]&nbsp; (''Integrated Services Digital Networks'') on the so-called $S_0$ interface.
  
[[File:P_ID1346__Dig_T_2_4_S2a_v1.png|right|frame|Signale bei AMI- und HDB3-Codierung|class=fit]]
+
[[File:P_ID1346__Dig_T_2_4_S2a_v1.png|right|frame|Signals with AMI and HDB3 coding|class=fit]]
Die Grafik zeigt oben das binäre Quellensignal &nbsp;$q(t)$. Im zweiten und dritten Diagramm sind dargestellt:
+
The graph above shows the binary source signal &nbsp;$q(t)$. The second and third diagrams show:
* das ebenfalls binäre Signal &nbsp;$b(t)$&nbsp; nach dem Vorcodierer, und
+
* the likewise binary signal &nbsp;$b(t)$&nbsp; after the precoder, and
* das Codersignal &nbsp;$c(t) = s(t)$&nbsp; des AMI&ndash;Codes.  
+
* the encoder signal &nbsp;$c(t) = s(t)$&nbsp; of the AMI code.
  
  
Man erkennt das einfache AMI&ndash;Codierprinzip:
+
One can see the simple AMI coding principle:
*Jeder Binärwert "&ndash;1" von $q(t)$  &nbsp; &rArr; &nbsp;  Symbol &nbsp;$\rm L$&nbsp; wird durch den ternären Amplitudenkoeffizienten &nbsp;$a_\nu = 0$&nbsp; codiert.<br>
+
*Each binary value "&ndash;1" of $q(t)$  &nbsp; &rArr; &nbsp;  symbol &nbsp;$\rm L$&nbsp; is encoded by the ternary amplitude coefficient &nbsp;$a_\nu = 0$.&nbsp; <br>
*Der Binärwert "+1" 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>
+
*The binary value "+1" of &nbsp;$q(t)$ &nbsp; &rArr; &nbsp;  symbol &nbsp;$\rm H$&nbsp; is alternately represented by &nbsp;$a_\nu = +1$&nbsp; and &nbsp;$a_\nu = -1$.&nbsp; <br><br>
  
Damit wird sichergestellt, dass im AMI&ndash;codierten Signal keine langen "+1"&ndash; bzw. "&ndash;1"&ndash;Sequenzen enthalten sind, was bei einem gleichsignalfreien Kanal zu Problemen führen würde.  
+
This ensures that the AMI-coded signal does not contain any long "+1"&ndash; or "&ndash;1" sequences, which would lead to problems with a channel free of the same signal.  
  
Dagegen ist das Auftreten langer Nullfolgen durchaus möglich, bei denen über einen längeren Zeitraum keine Taktinformation übertragen wird.
+
On the other hand, the occurrence of long zero sequences is quite possible, where no clock information is transmitted over a longer period of time.
 
<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''&nbsp; und der ''HDB3''&ndash;Code:
+
To avoid this second problem, some modified AMI codes have been developed, for example the ''B6ZS code''&nbsp; and the ''HDB3 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>
+
*In the '''HDB3 code'''&nbsp; (green curve in the above graphic), four consecutive zeros in the AMI-coded signal are replaced by a subsequence that violates the AMI coding rule.<br>
  
*Im grau hinterlegten Bereich ist dies die Folge "+ 0 0 +", da das letzte Symbol vor der Ersetzung ein "Minus" war.<br>
+
*In the gray shaded area, this is the sequence "+ 0 0 +", since the last symbol before the replacement was a "minus".<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$.
+
*This limits the number of consecutive zeros to &nbsp;$3$&nbsp; for the HDB3 code and to &nbsp;$5$ for the &nbsp;[https://www.itwissen.info/en/bipolar-with-six-zero-substitution-B6ZS-121675.html#gsc.tab=0 B6ZS Code].&nbsp;  
*Der Decoder erkennt diese Codeverletzung und ersetzt "+ 0 0 +" wieder durch "0 0 0 0".<br>
+
*The decoder detects this code violation and replaces "+ 0 0 +" with "0 0 0 0" again.<br>
  
==  Leistungsdichtespektrum des AMI-Codes==
+
==  Power-spectral density of the AMI code==
 
<br>
 
<br>
Der Frequenzgang des linearen Codiernetzwerks eines Pseudoternärcodes lautet allgemein:
+
The frequency response of the linear code network of a pseudo ternary code is generally:
 
:$$H_{\rm C}(f) = {1}/{2} \cdot \big [1 - K_{\rm C} \cdot {\rm
 
:$$H_{\rm C}(f) = {1}/{2} \cdot \big [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}
Line 86: Line 86:
 
\big ]\hspace{0.05cm}.$$
 
\big ]\hspace{0.05cm}.$$
  
Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten &nbsp;$(K$&nbsp; und &nbsp;$\alpha$&nbsp; sind Abkürzungen entsprechend obiger Gleichung$)$:
+
This gives the power-spectral density (PSD) amplitude coefficients &nbsp;$(K$&nbsp; and &nbsp;$\alpha$&nbsp; are abbreviations according to the above equation$)$:
 
:$$  {\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
 
   (\alpha) - {\rm j}\cdot K \sin  (\alpha) \big ] }{4} =  \text{...}  =  {1}/{4} \cdot \big [2 - 2 \cdot K \cdot \cos
 
   (\alpha) - {\rm j}\cdot K \sin  (\alpha) \big ] }{4} =  \text{...}  =  {1}/{4} \cdot \big [2 - 2 \cdot K \cdot \cos
 
   (\alpha)  \big ] $$
 
   (\alpha)  \big ] $$
[[File:P_ID1347__Dig_T_2_4_S2b_v2.png|right|frame|Leistungsdichtespektrum des AMI-Codes|class=fit]]
+
[[File:P_ID1347__Dig_T_2_4_S2b_v2.png|right|frame|Power-spectral density of the AMI code|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
 
:$$  \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 ]
 
   (2\pi  f    N_{\rm C}  T)\big ]
Line 97: Line 97:
 
\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 $(N_{\rm C} = K_{\rm C} = 1)$:
+
In particular, for the power-spectral density (PSD) of the AMI code $(N_{\rm C} = K_{\rm C} = 1)$, we obtain:
 
:$${\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 ] = \sin^2
 
   (2\pi  f    T)\big ] = \sin^2
 
   (\pi  f    T)\hspace{0.05cm}.$$
 
   (\pi  f    T)\hspace{0.05cm}.$$
  
Die Grafik zeigt
+
The graph shows
*das LDS &nbsp;${\it \Phi}_a(f)$&nbsp; der Amplitudenkoeffizienten (rote Kurve), und<br>
+
*the PSD &nbsp;${\it \Phi}_a(f)$&nbsp; of the amplitude coefficients (red curve), and<br>
*das LDS &nbsp;${\it \Phi}_s(f)$&nbsp; des gesamten Sendesignals (blau), gültig für NRZ&ndash;Rechteckimpulse.<br>
+
*the PSD &nbsp;${\it \Phi}_s(f)$&nbsp; of the total transmitted signal (blue), valid for NRZ rectangular pulses.<br>
  
  
Man erkennt aus dieser Darstellung
+
One recognizes from this representation
*die Gleichsignalfreiheit des AMI&ndash;Codes, da &nbsp;${\it \Phi}_a(f = 0) = {\it \Phi}_s(f = 0) = 0$&nbsp; ist,<br>
+
*the equality of the AMI code, since &nbsp;${\it \Phi}_a(f = 0) = {\it \Phi}_s(f = 0) = 0$.&nbsp; <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$).
+
*the power &nbsp;$P_{\rm S} = s_0^2/2$&nbsp; of the AMI-coded transmitted signal (integral over &nbsp;${\it \Phi}_s(f)$&nbsp; from &nbsp;$- \infty$&nbsp; to &nbsp;$+\infty$).
  
  
''Hinweise:''
+
''Notes:''
*Das LDS von HDB3&ndash; und B6ZS&ndash;Code weicht von dem des AMI&ndash;Codes nur unwesentlich ab.<br>
+
*The PSD of the HDB3 and B6ZS codes differs only slightly from that of the AMI code.<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.
+
*You can use the interactive applet &nbsp;[[Applets:Pseudoternaercodierung|Signals, ACF, and PSD of pseudo ternary codes]]&nbsp; to clarify the topic discussed here.
  
  
== Eigenschaften des Duobinärcodes ==
+
== Properties of the duobinary code ==
 
<br>
 
<br>
[[File:P_ID1348__Dig_T_2_4_S3b_v1.png|right|frame|Leistungsdichtespektrum des Duobinärcodes|right|class=fit]]
+
[[File:P_ID1348__Dig_T_2_4_S3b_v1.png|right|frame|Power-spectral density of the duobinary code|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:
+
The '''duobinary code''' is defined by the code parameters &nbsp;$N_{\rm C} = 1$&nbsp; and &nbsp;$K_{\rm C} = -1$.&nbsp; This gives the power-spectral density (PSD) of the amplitude coefficients or the PSD of the transmitted signal:
  
 
:$${\it \Phi}_a(f) ={1}/{2} \cdot \big [1 + \cos
 
:$${\it \Phi}_a(f) ={1}/{2} \cdot \big [1 + \cos
Line 130: Line 130:
 
   (2 \pi  f    T)  \hspace{0.05cm}.$$
 
   (2 \pi  f    T)  \hspace{0.05cm}.$$
  
Die Grafik zeigt das Leistungsdichtespektrum
+
The graph shows the power-spectral density
*der Amplitudenkoeffizienten &nbsp; &#8658; &nbsp; ${\it \Phi}_a(f)$&nbsp;  als rote Kurve,<br>
+
*of the amplitude coefficients &nbsp; &#8658; &nbsp; ${\it \Phi}_a(f)$&nbsp;  as a red curve,<br>
*des gesamten Sendsignals &nbsp; &#8658; &nbsp; ${\it \Phi}_s(f)$&nbsp; als blaue Kurve.<br><br>
+
*of the total transmitted signal &nbsp; &#8658; &nbsp; ${\it \Phi}_s(f)$&nbsp; as a blue curve.<br><br>
  
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.
+
In the second graph, the signals &nbsp;$q(t)$, &nbsp;$b(t)$&nbsp; and &nbsp;$c(t) = s(t)$&nbsp; are sketched. We refer here again to the &nbsp;[[Applets:Pseudoternaercodierung|Signals, ACF and PSD of pseudo ternary codes]], which also clarifies the properties of the duobinary code.
[[File:P_ID1349__Dig_T_2_4_S3a_v2.png|left|frame|Signale bei Duobinärcodierung|class=fit]]   
+
[[File:P_ID1349__Dig_T_2_4_S3a_v2.png|left|frame|Signals in duobinary coding|class=fit]]   
<br><br>Aus diesen Darstellungen geht hervor:
+
<br><br>From these illustrations it is clear:
*Beim Duobinärcode können beliebig viele Symbole mit gleicher Polarität ("+1" bzw. "&ndash;1") direkt aufeinanderfolgen.  
+
*In the duobinary code, any number of symbols with the same polarity ("+1" or "&ndash;1") can directly succeed each other.
*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>
+
*Therefore, &nbsp;${\it \Phi}_a(f = 0)=1$&nbsp; and &nbsp;${\it \Phi}_s(f = 0) = 1/2 \cdot s_0^2 \cdot T$.<br>
*Dagegen tritt beim Duobinärcode die alternierende Folge " ... , +1, &ndash;1, +1, &ndash;1, +1, ... "  nicht auf, die hinsichtlich Impulsinterferenzen besonders störend ist.  
+
*In contrast, for the duobinary code, the alternating sequence " ... , +1, &ndash;1, +1, &ndash;1, +1, ... "  does not occur, which is particularly disturbing with respect to intersymbol interference.
*Deshalb gilt beim Duobinärcode: &nbsp;${\it \Phi}_s(f = 1/(2T) = 0$.<br>
+
*Therefore, in the duobinary code: &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>
+
*The power-spectral density &nbsp;${\it \Phi}_s(f)$&nbsp; of the pseudoternary duobinary code is identical to the PSD with redundancy-free binary coding at half rate $($symbol duration &nbsp;$2T)$.<br>
 
<br clear= all>
 
<br clear= all>
  
== Fehlerwahrscheinlichkeit der Pseudoternärcodes ==
+
== Error probability of the pseudo ternary codes ==
 
<br>
 
<br>
[[File:P_ID1350__Dig_T_2_4_S4_v1.png|right|frame|Augendiagramme bei AMI&ndash;, Duobinär&ndash; und 4B3T&ndash;Codierung|class=fit]]
+
[[File:P_ID1350__Dig_T_2_4_S4_v1.png|right|frame|Eye diagrams for AMI, duobinary and 4B3T coding|class=fit]]
Die Grafik zeigt die &nbsp;[[Digital_Signal_Transmission/Fehlerwahrscheinlichkeit_unter_Berücksichtigung_von_Impulsinterferenzen#Definition_und_Aussagen_des_Augendiagramms|Augendiagramme]]&nbsp; ('''ohne''' Rauschen) bei Verwendung
+
The graph shows the &nbsp;[[Digital_Signal_Transmission/Error_Probability_with_Intersymbol_Interference#Definition_and_statements_of_the_eye_diagram|eye diagrams]]&nbsp; ('''without''' noise) when using
*von AMI&ndash;Code (links)
+
*AMI code (left)
*und Duobinärcode (Mitte)  
+
*and duobinary code (center)  
*im Vergleich zum 4B3T&ndash;Code (rechts).  
+
*compared to the 4B3T code (right).  
  
  
Es gelten die gleichen Voraussetzungen wie auf der Seite  &nbsp;[[Digital_Signal_Transmission/Blockweise_Codierung_mit_4B3T-Codes#Fehlerwahrscheinlichkeit_der_4B3T-Codes|Fehlerwahrscheinlichkeit der 4B3T-Codes]]. Insbesondere:
+
The same assumptions apply as on the section &nbsp;[[Digital_Signal_Transmission/Block_Coding_with_4B3T_Codes#Error_probability_of_the_4B3T_codes|Error probability of the 4B3T codes]]. In particular:
*Cosinus&ndash;Rolloff&ndash;Charakteristik des Gesamtfrequenzgangs (von Sender und Empfänger) mit dem Rolloff&ndash;Faktor $r = 0.8$.  
+
*Cosine rolloff characteristics of the overall frequency response (of transmitter and receiver) with rolloff factor $r = 0.8$.  
 
<br clear=all>
 
<br clear=all>
Die Ergebnisse sind wie folgt zu interpretieren:
+
The results can be interpreted as follows:
  
*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>
+
*One can see in the left graph that for the AMI code the horizontal lines at &nbsp;$+s_0$&nbsp; and &nbsp;$-s_0$&nbsp; are missing (equal signal freedom!), while for the duobinary code (middle graph) no transitions from &nbsp;$+s_0$&nbsp; to &nbsp;$-s_0$&nbsp; (and vice versa) are possible. With the 4B3T code, you can see clearly more lines in the eye diagram than in the two left pictures. The redundancy-free ternary code would give almost the same result.<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:
+
*On the page quoted above, the symbol error probability of the 4B3T code for the power parameter &nbsp;$10 \cdot \lg \hspace{0.05cm}(s_0^2 \cdot T/N_0) = 13 \ \rm dB$&nbsp; (valid for peak limitation!) was calculated as follows:
 
:$${ \sigma_d}/{s_0} = 0.145 \hspace{0.3cm}\Rightarrow \hspace{0.3cm}
 
:$${ \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
 
  p_{\rm S} = {4}/{3} \cdot {\rm Q} \left( \frac{s_0/2}{ \sigma_d} \right) \approx
Line 166: Line 166:
 
  \hspace{0.05cm}.$$
 
  \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:
+
*Using a pseudo ternary code results in a larger error probability because here the noise rms value is not reduced compared to redundancy-free binary coding:
 
:$${ \sigma_d}/{s_0} = 0.167 \hspace{0.3cm}\Rightarrow \hspace{0.3cm}
 
:$${ \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
 
  p_{\rm S} = {4}/{3} \cdot {\rm Q} \left( \frac{s_0/2}{ \sigma_d} \right) \approx
Line 172: Line 172:
 
  \hspace{0.05cm}.$$
 
  \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>
+
*When the Nyquist condition is satisfied, the AMI and duobinary codes do not differ in terms of error probability despite completely different eye diagrams.<br>
  
 
*Wie aber im Abschnitt  &nbsp;[[Digital_Signal_Transmission/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;[[Digital_Signal_Transmission/Ursachen_und_Auswirkungen_von_Impulsinterferenzen|Impulsinterferenzen]]&nbsp; eine Rolle spielen.<br>
 
*Wie aber im Abschnitt  &nbsp;[[Digital_Signal_Transmission/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;[[Digital_Signal_Transmission/Ursachen_und_Auswirkungen_von_Impulsinterferenzen|Impulsinterferenzen]]&nbsp; eine Rolle spielen.<br>

Revision as of 17:02, 20 April 2022


General description of the pseudo multilevel codes


In symbol-wise coding, each incoming source symbol  $q_\nu$  generates a code symbol  $c_\nu$,  which depends not only on the current input symbol  $q_\nu$  but also on the  $N_{\rm C}$  preceding symbols  $q_{\nu-1}$, ... , $q_{\nu-N_{\rm C}} $.   $N_{\rm C}$  is referred to as the order  of the code.

Typical for a symbol-wise coding is that

  • the symbol duration  $T$  of the encoder signal (and of the transmitted signal) matches the bit duration  $T_{\rm B}$  of the binary source signal, and

coding and decoding do not lead to major time delays, which are unavoidable when block codes are used.

The pseudo multilevel codes  – better known as Partial Response Codes  – are of special importance.

In the following, only pseudo ternary codes   ⇒   level number  $M = 3$  are considered, which can be described by the block diagram corresponding to the left graph. In the right graph an equivalent circuit is given, which is very suitable for an analysis of these codes.

Block diagram and equivalent circuit of a pseudo ternary encoder

One can see from the two representations:

  • The pseudo ternary coder can be split into the nonlinear precoder and a linear coding network if – as shown in the right equivalent diagram – the delay by  $N_{\rm C} \cdot T$  and the weighting by  $K_{\rm C}$  are drawn twice for clarity.
  • The nonlinear precoder  obtains the precoded symbols  $b_\nu$, which are also binary, by a modulo–2 addition (antivalence ) between the symbols  $q_\nu$  and  $K_{\rm C} \cdot b_{\nu-N_{\rm C}} $: 
$$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}.$$
  • Like the source symbols  $q_\nu$,  the symbols  $b_\nu$  are statistically independent of each other. Thus, the precoder does not add any redundancy. However, it allows a simpler realization of the decoder and prevents error propagation after a transmission error.
  • The actual recoding from binary  $(M_q = 2)$  to ternary  $(M = M_c = 3)$  is done by the linear coding network  by the conventional subtraction
$$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},$$
which can be described by the following  impulse response  or  transfer function  with respect to the input signal  $b(t)$  and the input signal  $c(t)$: 
$$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}. $$
  • The relative code redundancy is the same for all pseudo ternary codes. Substituting $M_q=2$,  $M_c=3$  and  $T_c =T_q$  into the  general definition equation,  we obtain
$$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{Conclusion:}$  If the NRZ rectangle is assumed for the basic transmission pulse $g_s(t)$, the transmitted signal of all pseudoternary codes is:

$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g_s ( t - \nu \cdot T)\hspace{0.05cm}.$$

This is both ternary   ⇒   $a_\nu \in \{-1, \ 0, +1\}$ and redundant   ⇒   statistical ties between the $a_\nu$.

Properties of the AMI code


The individual pseudo ternary codes differ in the  $N_{\rm C}$  and  $K_{\rm C}$ parameters.

The best-known representative is the first-order bipolar code with the code parameters  $N_{\rm C} = 1$  and  $K_{\rm C} = 1$, which is also known as the AMI code (from: Alternate Mark Inversion). This is used, for example, with  ISDN  (Integrated Services Digital Networks) on the so-called $S_0$ interface.

Signals with AMI and HDB3 coding

The graph above shows the binary source signal  $q(t)$. The second and third diagrams show:

  • the likewise binary signal  $b(t)$  after the precoder, and
  • the encoder signal  $c(t) = s(t)$  of the AMI code.


One can see the simple AMI coding principle:

  • Each binary value "–1" of $q(t)$   ⇒   symbol  $\rm L$  is encoded by the ternary amplitude coefficient  $a_\nu = 0$. 
  • The binary value "+1" of  $q(t)$   ⇒   symbol  $\rm H$  is alternately represented by  $a_\nu = +1$  and  $a_\nu = -1$. 

This ensures that the AMI-coded signal does not contain any long "+1"– or "–1" sequences, which would lead to problems with a channel free of the same signal.

On the other hand, the occurrence of long zero sequences is quite possible, where no clock information is transmitted over a longer period of time.
To avoid this second problem, some modified AMI codes have been developed, for example the B6ZS code  and the HDB3 code:

  • In the HDB3 code  (green curve in the above graphic), four consecutive zeros in the AMI-coded signal are replaced by a subsequence that violates the AMI coding rule.
  • In the gray shaded area, this is the sequence "+ 0 0 +", since the last symbol before the replacement was a "minus".
  • This limits the number of consecutive zeros to  $3$  for the HDB3 code and to  $5$ for the  B6ZS Code
  • The decoder detects this code violation and replaces "+ 0 0 +" with "0 0 0 0" again.

Power-spectral density of the AMI code


The frequency response of the linear code network of a pseudo ternary code is generally:

$$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}.$$

This gives the power-spectral density (PSD) amplitude coefficients  $(K$  and  $\alpha$  are abbreviations according to the above equation$)$:

$$ {\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 ] $$
Power-spectral density of the AMI code
$$ \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}.$$

In particular, for the power-spectral density (PSD) of the AMI code $(N_{\rm C} = K_{\rm C} = 1)$, we obtain:

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

The graph shows

  • the PSD  ${\it \Phi}_a(f)$  of the amplitude coefficients (red curve), and
  • the PSD  ${\it \Phi}_s(f)$  of the total transmitted signal (blue), valid for NRZ rectangular pulses.


One recognizes from this representation

  • the equality of the AMI code, since  ${\it \Phi}_a(f = 0) = {\it \Phi}_s(f = 0) = 0$. 
  • the power  $P_{\rm S} = s_0^2/2$  of the AMI-coded transmitted signal (integral over  ${\it \Phi}_s(f)$  from  $- \infty$  to  $+\infty$).


Notes:


Properties of the duobinary code


Power-spectral density of the duobinary code

The duobinary code is defined by the code parameters  $N_{\rm C} = 1$  and  $K_{\rm C} = -1$.  This gives the power-spectral density (PSD) of the amplitude coefficients or the PSD of the transmitted signal:

$${\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}.$$

The graph shows the power-spectral density

  • of the amplitude coefficients   ⇒   ${\it \Phi}_a(f)$  as a red curve,
  • of the total transmitted signal   ⇒   ${\it \Phi}_s(f)$  as a blue curve.

In the second graph, the signals  $q(t)$,  $b(t)$  and  $c(t) = s(t)$  are sketched. We refer here again to the  Signals, ACF and PSD of pseudo ternary codes, which also clarifies the properties of the duobinary code.

Signals in duobinary coding



From these illustrations it is clear:

  • In the duobinary code, any number of symbols with the same polarity ("+1" or "–1") can directly succeed each other.
  • Therefore,  ${\it \Phi}_a(f = 0)=1$  and  ${\it \Phi}_s(f = 0) = 1/2 \cdot s_0^2 \cdot T$.
  • In contrast, for the duobinary code, the alternating sequence " ... , +1, –1, +1, –1, +1, ... " does not occur, which is particularly disturbing with respect to intersymbol interference.
  • Therefore, in the duobinary code:  ${\it \Phi}_s(f = 1/(2T) = 0$.
  • The power-spectral density  ${\it \Phi}_s(f)$  of the pseudoternary duobinary code is identical to the PSD with redundancy-free binary coding at half rate $($symbol duration  $2T)$.


Error probability of the pseudo ternary codes


Eye diagrams for AMI, duobinary and 4B3T coding

The graph shows the  eye diagrams  (without noise) when using

  • AMI code (left)
  • and duobinary code (center)
  • compared to the 4B3T code (right).


The same assumptions apply as on the section  Error probability of the 4B3T codes. In particular:

  • Cosine rolloff characteristics of the overall frequency response (of transmitter and receiver) with rolloff factor $r = 0.8$.


The results can be interpreted as follows:

  • One can see in the left graph that for the AMI code the horizontal lines at  $+s_0$  and  $-s_0$  are missing (equal signal freedom!), while for the duobinary code (middle graph) no transitions from  $+s_0$  to  $-s_0$  (and vice versa) are possible. With the 4B3T code, you can see clearly more lines in the eye diagram than in the two left pictures. The redundancy-free ternary code would give almost the same result.
  • On the page quoted above, the symbol error probability of the 4B3T code for the power parameter  $10 \cdot \lg \hspace{0.05cm}(s_0^2 \cdot T/N_0) = 13 \ \rm dB$  (valid for peak limitation!) was calculated as follows:
$${ \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}.$$
  • Using a pseudo ternary code results in a larger error probability because here the noise rms value is not reduced compared to redundancy-free binary coding:
$${ \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}.$$
  • When the Nyquist condition is satisfied, the AMI and duobinary codes do not differ in terms of error probability despite completely different eye diagrams.


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