Difference between revisions of "Applets:Principle of Pseudo-Ternary Coding"

From LNTwww
m (Text replacement - "”" to """)
 
(13 intermediate revisions by 4 users not shown)
Line 4: Line 4:
 
==Applet Description==
 
==Applet Description==
 
<br>
 
<br>
Das Applet behandelt die Eigenschaften der bekanntesten Pseudoternärcodes, nämlich:
+
The applet covers the properties of the best known pseudo-ternary codes, namely:
#&nbsp; Bipolarcode erster Ordnung bzw.&nbsp; $\rm AMI$&ndash;Code&nbsp; (von: ''Alternate Mark Inversion''),&nbsp; gekennzeichnet durch die Parameter&nbsp; $N_{\rm C} = 1, \ K_{\rm C} = +1$,
+
#&nbsp; First-order bipolar code,&nbsp; $\rm AMI$ code&nbsp; (from: ''Alternate Mark Inversion''),&nbsp; characterized by the parameters&nbsp; $N_{\rm C} = 1, \ K_{\rm C} = +1$,
#&nbsp; Duobinärcode,&nbsp; $(\rm DUOB)$,&nbsp; Codeparameter:&nbsp; $N_{\rm C} = 1, \ K_{\rm C} = -1$,
+
#&nbsp; Duobinary code,&nbsp; $(\rm DUOB)$,&nbsp; code parameters:&nbsp; $N_{\rm C} = 1, \ K_{\rm C} = -1$,
#&nbsp; Bipolarcode zweiter Ordnung&nbsp; $(\rm BIP2)$,&nbsp; Codeparameter:&nbsp; $N_{\rm C} = 2, \ K_{\rm C} = +1$.
+
#&nbsp; Second order bipolar code&nbsp; $(\rm BIP2)$,&nbsp; code parameters:&nbsp; $N_{\rm C} = 2, \ K_{\rm C} = +1$.
  
  
Am Eingang liegt die redundanzfreie binäre bipolare Quellensymbolfolge&nbsp; $\langle \hspace{0.05cm}q_\nu \hspace{0.05cm}\rangle \ \in \{+1, -1\}$ &nbsp; &rArr; &nbsp; Rechtecksignal&nbsp; $q(t)$&nbsp; an.&nbsp; Verdeutlicht wird die Generierung
+
At the input is the redundancy-free binary bipolar source symbol sequence&nbsp; $\langle \hspace{0.05cm}q_\nu \hspace{0.05cm}\rangle \ \in \{+1, -1\}$ &nbsp; &rArr; &nbsp; rectangular signal&nbsp; $q(t)$&nbsp; an.&nbsp; Illustrating the generation.
*der binär&ndash;vorcodierten Folge&nbsp; $\langle \hspace{0.05cm}b_\nu \hspace{0.05cm}\rangle \ \in \{+1, -1\}$,&nbsp; dargestellt durch das ebenfalls redundanzfreie binäre bipolare Rechtecksignal&nbsp; $b(t)$,
+
*of the binary&ndash;precoded sequence&nbsp; $\langle \hspace{0.05cm}b_\nu \hspace{0.05cm}\rangle \ \in \{+1, -1\}$,&nbsp; represented by the also redundancy-free binary bipolar rectangular signal&nbsp; $b(t)$,
*der pseudoternären Codefolge&nbsp; $\langle \hspace{0.05cm}c_\nu \hspace{0.05cm}\rangle \ \in \{+1,\ 0, -1\}$,&nbsp; dargestellt durch das redundante ternäre bipolare Rechtecksignal&nbsp; $c(t)$,
+
*the pseudo-ternary code sequence&nbsp; $\langle \hspace{0.05cm}c_\nu \hspace{0.05cm}\rangle \ \in \{+1,\ 0, -1\}$,&nbsp; represented by the redundant ternary bipolar rectangular signal&nbsp; $c(t)$,
*das gleichermaßen redundante ternäre Sendesignal&nbsp; $s(t)$, gekennzeichnet durch die Amplitudenkoeffizienten&nbsp; $a_\nu $,&nbsp; und den (Sende&ndash;) Grundimpuls&nbsp; $g(t)$:
+
*the equally redundant ternary transmitted signal&nbsp; $s(t)$, characterized by the amplitude coefficients&nbsp; $a_\nu $,&nbsp; and the (transmitted&ndash;) base impulse&nbsp; $g(t)$:
 
:$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g( t - \nu \cdot T)\hspace{0.05cm}.$$
 
:$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g( t - \nu \cdot T)\hspace{0.05cm}.$$
 
          
 
          
Der Grundimpuls&nbsp; $g(t)$&nbsp; &ndash;&nbsp; im Applet&nbsp; &bdquo;Rechteck",&nbsp; &bdquo;Nyquist" und&nbsp; &bdquo;Wurzel&ndash;Nyquist"&nbsp; &ndash;&nbsp; bestimmt nicht nur die Form des Sendesignals, sondern auch den Verlauf
+
The base impulse&nbsp; $g(t)$&nbsp; &ndash;&nbsp; in the applet&nbsp; "Rectangle",&nbsp; "Nyquist" and&nbsp; "Root&ndash;Nyquist"&nbsp; &ndash;&nbsp; determines not only the shape of the transmitted signal, but also the course of
* der Autokorrelationsfunktion&nbsp; $\rm (AKF)$&nbsp; $\varphi_s (\tau)$&nbsp; und
+
* of the auto-correlation function&nbsp; $\rm (ACF)$&nbsp; $\varphi_s (\tau)$&nbsp; and
* des zugehörigen Leistungsdichtespektrums&nbsp; $\rm (LDS)$&nbsp; ${\it \Phi}_s (f)$.
+
* of the associated power spectral density&nbsp; $\rm (PSD)$&nbsp; ${\it \Phi}_s (f)$.
  
  
Das Applet zeigt auch, dass das gesamte Leistungsdichtespektrum&nbsp; ${\it \Phi}_s (f)$ aufgeteilt werden kann in den Anteil&nbsp; ${\it \Phi}_a (f)$, der die statistischen Bindungen der Amplitudenkoeffizienten&nbsp; $a_\nu$ &nbsp; berücksichtigt, und das Energiedichtespektrum $ {\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f) = |G(f)|^2 $, gekennzeichnet durch die Impulsform&nbsp; $g(t)$.
+
The applet also shows that the total power spectral density&nbsp; ${\it \Phi}_s (f)$ can be split into the part&nbsp; ${\it \Phi}_a (f)$ that takes into account the statistical relations of the amplitude coefficients&nbsp; $a_\nu$ &nbsp; and the energy spectral density $ {\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f) = |G(f)|^2 $, characterized by the shape&nbsp; $g(t)$.
  
''Anmerkung'': &nbsp; Im Applet wird kein Unterschied zwischen den Codersymbolen&nbsp; $c_\nu \in \{+1,\ 0, -1\}$&nbsp; und den Amplitudenkoeffizienten&nbsp; $a_\nu \in \{+1,\ 0, -1\}$&nbsp; gemacht.&nbsp; Dabei sollte nicht vergessen werden, dass die&nbsp; $a_\nu$&nbsp; stets Zahlenwerte sind, während für die Codersymbole auch die Notation&nbsp; $c_\nu \in \{\text{Plus},\ \text{Null},\  \text{Minus}\}$&nbsp; zulässig wäre.
+
''Note'' &nbsp; In the applet, no distinction is made between the encoder symbols&nbsp; $c_\nu \in \{+1,\ 0, -1\}$&nbsp; and the amplitude coefficients&nbsp; $a_\nu \in \{+1,\ 0, -1\}$&nbsp; . &nbsp; It should be remembered that the&nbsp; $a_\nu$&nbsp; are always numerical values, while for the encoder symbols also the notation&nbsp; $c_\nu \in \{\text{plus},\ \text{zero},\  \text{minus}\}$&nbsp; would be admissible.
  
 
==Theoretical Background==
 
==Theoretical Background==
  
=== Allgemeine Beschreibung der Pseudoternärcodes ===
+
== General description of the pseudo-multilevel codes ==
 +
<br>
 +
In symbolwise coding,&nbsp; each incoming source symbol &nbsp;$q_\nu$&nbsp; generates an encoder 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&nbsp; "order"&nbsp; of the code.<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.
+
Typical for symbolwise coding is that
 +
*the symbol duration &nbsp;$T$&nbsp; of the encoded signal&nbsp; (and of the transmitted signal)&nbsp; matches the bit duration &nbsp;$T_{\rm B}$&nbsp; of the binary source signal,&nbsp; and
  
[[File:P_ID1343__Dig_T_2_4_S1_v1.png|right|frame|Blockschaltbild und Ersatzschaltbild eines Pseudoternärcodierers|class=fit]]
+
*encoding and decoding do not lead to major time delays,&nbsp; which are unavoidable when block codes are used.<br><br>
  
Typisch für eine symbolweise Codierung ist, dass
+
The&nbsp; "pseudo-multilevel codes"&nbsp; &ndash; better known as&nbsp; "partial response codes"&nbsp; &ndash;&nbsp; are of special importance.&nbsp; In the following,&nbsp; only&nbsp; "pseudo-ternary codes" &nbsp; &rArr; &nbsp;  level number &nbsp;$M = 3$&nbsp; are considered.&nbsp;  
*die Symboldauer &nbsp;$T$&nbsp; des Codersignals (und des Sendesignals) mit der Bitdauer &nbsp;$T_{\rm B}$&nbsp; des binären Quellensignals übereinstimmt, und
+
*These can be described by the block diagram corresponding to the left graph.&nbsp;  
*Codierung und Decodierung nicht zu größeren Zeitverzögerungen führen, die bei Verwendung von Blockcodes unvermeidbar sind.<br><br>
+
*In the right graph an equivalent circuit is given,&nbsp; which is very suitable for an analysis of these codes.
  
Besondere Bedeutung besitzen ''Pseudomehrstufencodes''&nbsp; &ndash; besser bekannt unter der englischen Bezeichnung ''Partial Response Codes''.&nbsp;
+
[[File:EN_Dig_T_2_4_S1_v23.png|right|frame|Block diagram&nbsp; (above)&nbsp; and equivalent circuit&nbsp; (below)&nbsp; of a pseudo-ternary encoder|class=fit]]
 
*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.&nbsp;
 
*In der rechten Grafik ist ein Ersatzschaltbild angegeben, das für eine Analyse dieser Codes sehr gut geeignet ist.
 
  
  
Man erkennt aus den beiden Darstellungen:
+
One can see from the two representations:
*Der Pseudoternärcodierer kann in den nichtlinearen Vorcodierer und ein lineares Codiernetzwerk aufgespalten werden, wenn man &ndash; wie im rechten  Ersatzschaltbild  dargestellt &ndashdie 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 encoder can be split into the&nbsp; "non-linear pre-encoder"&nbsp; and the&nbsp; "linear coding network",&nbsp; if the delay by &nbsp;$N_{\rm C} \cdot T$&nbsp; and the weighting by &nbsp;$K_{\rm C}$&nbsp; are drawn twice for clarity&nbsp; &ndash; as shown in the right equivalent figure.
  
*Der ''nichtlineare Vorcodierer''&nbsp; gewinnt durch eine Modulo&ndash;2&ndash;Addition&nbsp; (&bdquo;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&nbsp; "non-linear pre-encoder"&nbsp; obtains the precoded symbols &nbsp;$b_\nu$,&nbsp; which are also binary,&nbsp; by a modulo&ndash;2 addition&nbsp; ("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.&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>
+
*Like the source symbols &nbsp;$q_\nu$,&nbsp; the symbols &nbsp;$b_\nu$&nbsp; are statistically independent of each other.&nbsp; Thus,&nbsp; the pre-encoder does not add any redundancy.&nbsp; However,&nbsp; 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 encoding from binary &nbsp;$(M_q = 2)$&nbsp; to ternary &nbsp;$(M = M_c = 3)$&nbsp; is done by the&nbsp; "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;[[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 Ausgangssignal &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; resp. &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 output 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;[[Digitalsignalübertragung/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 redundancy is the same for all pseudo-ternary codes.&nbsp; Substituting&nbsp; $M_q=2$, &nbsp;$M_c=3$&nbsp; and &nbsp;$T_c =T_q$&nbsp; into the &nbsp;[[Digital_Signal_Transmission/Redundancy-Free_Coding#Symbolwise_coding_vs._blockwise_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=   
Das&nbsp; $\text{Sendesignal aller Pseudoternärcodes}$&nbsp; wird im Folgenden stets wie folgt dargestellt:
+
The&nbsp; $\text{transmitted signal of all pseudo-ternary codes}$&nbsp; is always represented as follows:
 
:$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g( t - \nu \cdot T)\hspace{0.05cm}.$$
 
:$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g( t - \nu \cdot T)\hspace{0.05cm}.$$
*Die Eigenschaft des aktuellen Pseudoternärcodes spiegelt sich in den statistischen Bindungen zwischen den&nbsp; $a_\nu$&nbsp; wider.&nbsp; In allen Fällen gilt&nbsp; $a_\nu \in \{-1, \ 0, +1\}$.
+
*The property of the current pseudo-ternary code is reflected in the statistical bonds between the&nbsp; $a_\nu$&nbsp; In all cases&nbsp; $a_\nu \in \{-1, \ 0, +1\}$.
*Der Sendegrundimpuls&nbsp; $g(t)$&nbsp; stellt zum einen die erforderliche Energie bereit, hat aber auch Einfluss auf die statistischen Bindungen innerhalb des Signals.
+
*The basic transmitting pulse&nbsp; $g(t)$&nbsp; provides on the one hand the required energy, but has also influence on the statistical bonds within the signal.
*Im Programm ausgewählt werden kann neben dem NRZ&ndash;Rechteckimpuls&nbsp; $g_{\rm R}(t)$:&nbsp;  
+
*In addition to the NRZ rectangular pulse&nbsp; $g_{\rm R}(t)$ can be selected in the program:&nbsp;  
:*der Nyquistimpuls&nbsp;&nbsp; &rArr; &nbsp; Impulsantwort des Cosinus&ndash;Rolloff&ndash;Tiefpasses mit Rolloff&ndash;Faktor $r$:
+
:*the Nyquist impulse&nbsp;&nbsp; &rArr; &nbsp; impulse response of the raised cosine low-pass with rolloff factor $r$:
 
:$$g_{\rm Nyq}(t)={\rm const.} \cdot \frac{\cos(\pi \cdot r\cdot t/T)}{1-(2\cdot r\cdot  t/T)^2} \cdot {\rm si}(\pi \cdot  t/T) \ \ \ \circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\ \ \ G_{\rm Nyq}(f),$$
 
:$$g_{\rm Nyq}(t)={\rm const.} \cdot \frac{\cos(\pi \cdot r\cdot t/T)}{1-(2\cdot r\cdot  t/T)^2} \cdot {\rm si}(\pi \cdot  t/T) \ \ \ \circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\ \ \ G_{\rm Nyq}(f),$$
 
    
 
    
:*der Wurzel&ndash;Nyquistimpuls&nbsp;&nbsp; &rArr; &nbsp; Impulsantwort des  Wurzel&ndash;Cosinus&ndash;Rolloff&ndash;Tiefpasses mit Rolloff&ndash;Faktor $r$:  
+
:*the root Nyquist impulse&nbsp;&nbsp; &rArr; &nbsp; impulse response of the root raised cosine low-pass with rolloff factor $r$:  
 
:$$g_{\sqrt{\rm Nyq} }(t)\ \ \ \circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\ \ \ G_{\sqrt{\rm Nyq} }(f)={\rm const.} \cdot \sqrt{G_{\rm Nyq}(f)} .$$ }}
 
:$$g_{\sqrt{\rm Nyq} }(t)\ \ \ \circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\ \ \ G_{\sqrt{\rm Nyq} }(f)={\rm const.} \cdot \sqrt{G_{\rm Nyq}(f)} .$$ }}
 
<br><br>
 
<br><br>
  
=== Eigenschaften des AMI-Codes===
+
== Properties of the AMI code==
 +
<br>
 +
The individual pseudo-ternary codes differ in the &nbsp;$N_{\rm C}$&nbsp; and &nbsp;$K_{\rm C}$ parameters.&nbsp; The best-known representative is the&nbsp; '''first-order bipolar code'''&nbsp; with the code parameters
 +
:*&nbsp;$N_{\rm C} = 1$,&nbsp;
 +
:*&nbsp;$K_{\rm C} = 1$,
 +
 
 +
 
 +
which is also known as&nbsp;  '''AMI code'''&nbsp;  (from: "Alternate Mark Inversion").&nbsp; This is used e.g. with &nbsp;[[Examples_of_Communication_Systems/Allgemeine_Beschreibung_von_ISDN|"ISDN"]]&nbsp; ("Integrated Services Digital Networks")&nbsp; on the so-called&nbsp; $S_0$&nbsp; interface.
  
Die Pseudoternärcodes unterscheiden sich in den Parametern &nbsp;$N_{\rm C}$&nbsp; und &nbsp;$K_{\rm C}$.&nbsp; Der bekannteste Vertreter ist der&nbsp; '''Bipolarcode erster Ordnung'''&nbsp; mit den Codeparametern &nbsp;$N_{\rm C} = 1$&nbsp; und &nbsp;$K_{\rm C} = 1$, der auch unter der Bezeichnung&nbsp; '''AMI&ndash;Code'''&nbsp;  (von: ''Alternate Mark Inversion'') bekannt ist.
+
[[File:EN_Dig_T_2_4_S2a.png|right|frame|Signals with AMI coding and HDB3 coding|class=fit]]
 +
*The graph above shows the binary source signal &nbsp;$q(t)$.
 +
 +
*The second and third diagrams show:
 +
:* the likewise binary signal &nbsp;$b(t)$&nbsp; after the pre-encoder,&nbsp; and
  
[[File:P_ID1346__Dig_T_2_4_S2a_v1.png|right|frame|AMI&ndash; und HDB3&ndash;Codierung, jeweils dargestellt mit Rechtecksignalen|class=fit]]
+
:* the encoded signal &nbsp;$c(t) = s(t)$&nbsp; of the AMI code.
Dieser wird zum Beispiel bei &nbsp;[[Beispiele_von_Nachrichtensystemen/Allgemeine_Beschreibung_von_ISDN|ISDN]]&nbsp; (''Integrated Services Digital Networks'') auf der so genannten&nbsp; $S_0$&ndash;Schnittstelle eingesetzt.  
 
  
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.
 
  
 +
One can see the simple AMI encoding principle:
 +
#Each binary value&nbsp; "&ndash;1"&nbsp; of the source signal&nbsp; $q(t)$  &nbsp; &rArr; &nbsp;  symbol &nbsp;$\rm L$&nbsp; is encoded by the ternary amplitude coefficient &nbsp;$a_\nu = 0$.&nbsp; <br><br>
 +
#The binary value&nbsp; "+1"&nbsp; of the source signal&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>
  
Man erkennt das einfache AMI&ndash;Codierprinzip:
+
This ensures that the AMI encoded signal does not contain any &nbsp; "long sequences"<br>  
*Jeder Binärwert &bdquo;-1" von&nbsp; $q(t)$  &nbsp; &rArr; &nbsp;  Symbol &nbsp;$\rm L$&nbsp; wird durch den ternären Koeffizienten &nbsp;$a_\nu = 0$&nbsp; codiert.<br>
+
* &nbsp; $ \langle c_\nu \rangle = \langle \text{...}, +1, +1, +1, +1, +1, \text{...}\rangle$ &nbsp; resp.
*Der Binärwert &bdquo;+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>
+
* &nbsp; $ \langle c_\nu \rangle = \langle \text{...}, -1, -1, -1, -1, -1, \text{...}\rangle$,
  
Damit wird sichergestellt, dass im AMI&ndash;codierten Signal keine langen &bdquo;+1"&ndash; und auch keine keine langen &bdquo;&ndash;1"&ndash;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.
+
which would lead to problems with a DC-free channel.  
  
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:
+
On the other hand,&nbsp; the occurrence of long zero sequences is quite possible,&nbsp; where no clock information is transmitted over a longer period of time.
*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>
+
<br clear = all>
 +
To avoid this second problem,&nbsp; some modified AMI codes have been developed, for example the&nbsp; "B6ZS code"&nbsp; and the&nbsp; "HDB3 code":
 +
*In the&nbsp; '''HDB3 code'''&nbsp; (green curve in the graphic),&nbsp; four consecutive zeros in the AMI encoded signal are replaced by a subsequence that violates the AMI encoding rule.<br>
  
*Im grau hinterlegten Bereich ist dies die Folge &bdquo;+ 0 0 +", da das letzte Symbol vor der Ersetzung ein &bdquo;Minus" war.<br>
+
*In the gray shaded area,&nbsp; this is the sequence&nbsp; "$+\ 0\ 0\ +$",&nbsp; since the last symbol before the replacement was a&nbsp; "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$ &nbsp; 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 &bdquo;+ 0 0 +" wieder durch &bdquo;0 0 0 0".<br>
+
 +
*The decoder detects this code violation and replaces "$+\ 0\ 0\ +$" with "$0\ 0\ 0\ 0$" again.<br>  
 
<br><br>
 
<br><br>
=== Zur AKF–Berechnung eines Digitalsignals ===
+
=== Calculating the ACF of a digital signal ===
In der Versuchsdurchführung werden einige Größen und Zusamenhänge verwendet, die hier kurz eräutert werden sollen:
+
In the execution of the experiment some quantities and correlations are used, which shall be briefly explained here:
  
*&nbsp; Das (zeitlich unbegrenzte) Digitalsignal beinhaltet sowohl die Quellenstatistik $($Amplitudenkoeffizienten &nbsp;$a_\nu$)&nbsp; als auch die Sendeimpulsform &nbsp;$g(t)$:
+
*&nbsp; The (time-unlimited) digital signal includes both the source statistics $($amplitude coefficients &nbsp;$a_\nu$)&nbsp; and the transmitted pulse shape &nbsp;$g(t)$:
 
:$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g ( t - \nu \cdot T)\hspace{0.05cm}.$$
 
:$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g ( t - \nu \cdot T)\hspace{0.05cm}.$$
  
*&nbsp; Ist&nbsp; $s(t)$&nbsp; die Musterfunktion eines stationären und ergodischen Zufallsprozesses, so gilt für die &nbsp;[[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Zufallsprozesse_.281.29|Autokorrelationsfunktion]]&nbsp; $\rm (AKF)$:  
+
*&nbsp; If&nbsp; $s(t)$&nbsp; is the pattern function of a stationary and ergodic random process, then for the &nbsp;[[Theory_of_Stochastic_Signals/Auto-Correlation_Function#Random_processes|"Auto-Correlation Function"]]&nbsp; $\rm (ACF)$:  
 
:$$\varphi_s(\tau) = {\rm E}\big [s(t) \cdot s(t + \tau)\big ] =  \sum_{\lambda = -\infty}^{+\infty}{1}/{T}
 
:$$\varphi_s(\tau) = {\rm E}\big [s(t) \cdot s(t + \tau)\big ] =  \sum_{\lambda = -\infty}^{+\infty}{1}/{T}
 
\cdot \varphi_a(\lambda)\cdot\varphi^{^{\bullet} }_{gs}(\tau -
 
\cdot \varphi_a(\lambda)\cdot\varphi^{^{\bullet} }_{gs}(\tau -
 
\lambda \cdot T)\hspace{0.05cm}.$$
 
\lambda \cdot T)\hspace{0.05cm}.$$
  
*&nbsp; Diese Gleichung beschreibt die Faltung der diskreten AKF&nbsp; $\varphi_a(\lambda) = {\rm E}\big [ a_\nu \cdot a_{\nu + \lambda}\big]$&nbsp; der Amplitudenkoeffizienten mit der Energie&ndash;AKF des Grundimpulses:  
+
*&nbsp; This equation describes the convolution of the discrete ACF&nbsp; $\varphi_a(\lambda) = {\rm E}\big [ a_\nu \cdot a_{\nu + \lambda}\big]$&nbsp; of the amplitude coefficients with the energy&ndash;ACF of the base impulse:  
  
 
:$$\varphi^{^{\bullet} }_{g}(\tau) =
 
:$$\varphi^{^{\bullet} }_{g}(\tau) =
Line 121: Line 133:
 
\tau)\,{\rm d} t \hspace{0.05cm}.$$
 
\tau)\,{\rm d} t \hspace{0.05cm}.$$
  
*Der Punkt soll darauf hinweisen, dass&nbsp; $\varphi^{^{\bullet} }_{g}(\tau)$&nbsp; die Einheit einer Energie besitzt, während&nbsp; $\varphi_s(\tau)$&nbsp; eine Leistung angibt und&nbsp; $\varphi_a(\lambda)$&nbsp; dimensionslos ist.
+
*The point is to indicate that&nbsp; $\varphi^{^{\bullet} }_{g}(\tau)$&nbsp; has the unit of an energy, while&nbsp; $\varphi_s(\tau)$&nbsp; indicates a power and&nbsp; $\varphi_a(\lambda)$&nbsp; is dimensionless.
 
<br>
 
<br>
=== Zur LDS-Berechnung eines Digitalsignals ===
+
=== Calculating the PSD of a digital signal ===
Die Entsprechungsgröße zur AKF ist im Frequenzbereich das [[Stochastische_Signaltheorie/Leistungsdichtespektrum_(LDS)#Theorem_von_Wiener-Chintchine|Leistungsdichtespektrum]]&nbsp; $\rm (LDS)$&nbsp; ${\it \Phi}_s(f)$, das mit&nbsp; $\varphi_s(\tau)$&nbsp; über das Fourierintegral fest verknüpft ist:<br>
+
The corresponding quantity to the ACF in the frequency domain is the [[Theory_of_Stochastic_Signals/Power-Spectral_Density#Wiener-Khintchine_Theorem|"Power Spectral Density"]]&nbsp; $\rm (PSD)$&nbsp; ${\it \Phi}_s(f)$, which is fixedly related to&nbsp; $\varphi_s(\tau)$&nbsp; via the Fourier integral:<br>
 
:$$\varphi_s(\tau) \hspace{0.4cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet \hspace{0.4cm}
 
:$$\varphi_s(\tau) \hspace{0.4cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet \hspace{0.4cm}
 
   {\it \Phi}_s(f)  =  \int_{-\infty}^{+\infty} \varphi_s(\tau) \cdot
 
   {\it \Phi}_s(f)  =  \int_{-\infty}^{+\infty} \varphi_s(\tau) \cdot
 
   {\rm e}^{- {\rm j}\hspace{0.05cm} 2 \pi  f \hspace{0.02cm} \tau}
 
   {\rm e}^{- {\rm j}\hspace{0.05cm} 2 \pi  f \hspace{0.02cm} \tau}
 
   \,{\rm d} \tau  \hspace{0.05cm}.$$
 
   \,{\rm d} \tau  \hspace{0.05cm}.$$
*Das Leistungsdichtespektrum &nbsp;${\it \Phi}_s(f)$&nbsp; kann unter Berücksichtigung der Dimensionsbereinigung&nbsp; $(1/T)$&nbsp; als Produkt zweier Funktionen dargestellt werden:
+
*The power spectral density &nbsp;${\it \Phi}_s(f)$&nbsp; can be represented as a product of two functions, taking into account the dimensional adjustment&nbsp; $(1/T)$&nbsp;:
 
:$${\it \Phi}_s(f) =  {\it \Phi}_a(f) \cdot  {1}/{T} \cdot
 
:$${\it \Phi}_s(f) =  {\it \Phi}_a(f) \cdot  {1}/{T} \cdot
 
|G_s(f)|^2 \hspace{0.05cm}.$$
 
|G_s(f)|^2 \hspace{0.05cm}.$$
*Der erste Term &nbsp;${\it \Phi}_a(f)$&nbsp; ist dimensionslos und beschreibt die spektrale Formung des Sendesignals durch die statistischen Bindungen der Quelle:<br>
+
*The first term &nbsp;${\it \Phi}_a(f)$&nbsp; is dimensionless and describes the spectral shaping of the transmitted signal by the statistical relations of the source:<br>
 
:$$\varphi_a(\lambda) \hspace{0.4cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet \hspace{0.4cm}{\it \Phi}_a(f) =  \sum_{\lambda =
 
:$$\varphi_a(\lambda) \hspace{0.4cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet \hspace{0.4cm}{\it \Phi}_a(f) =  \sum_{\lambda =
 
-\infty}^{+\infty}\varphi_a(\lambda)\cdot {\rm e}^{- {\rm
 
-\infty}^{+\infty}\varphi_a(\lambda)\cdot {\rm e}^{- {\rm
Line 139: Line 151:
 
1}^{\infty}\varphi_a(\lambda)\cdot\cos ( 2 \pi  f  
 
1}^{\infty}\varphi_a(\lambda)\cdot\cos ( 2 \pi  f  
 
\lambda T) \hspace{0.05cm}.$$
 
\lambda T) \hspace{0.05cm}.$$
*${\it \Phi^{^{\hspace{0.08cm}\bullet}}_{g}}(f)$&nbsp; berücksichtigt die spektrale Formung durch &nbsp;$g(t)$. Je schmaler dieser ist, desto breiter ist &nbsp;$\vert G(f) \vert^2$&nbsp; und um so größer ist damit der Bandbreitenbedarf:  
+
*${\it \Phi^{^{\hspace{0.08cm}\bullet}}_{g}}(f)$&nbsp; takes into account the spectral shaping by &nbsp;$g(t)$. The narrower this is, the wider &nbsp;$\vert G(f) \vert^2$&nbsp; and thus the larger the bandwidth requirement:  
 
:$$\varphi^{^{\hspace{0.05cm}\bullet}}_{g}(\tau) \hspace{0.4cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet \hspace{0.4cm}
 
:$$\varphi^{^{\hspace{0.05cm}\bullet}}_{g}(\tau) \hspace{0.4cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet \hspace{0.4cm}
 
   {\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)  = |G(f)|^2
 
   {\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)  = |G(f)|^2
 
   \hspace{0.05cm}.$$
 
   \hspace{0.05cm}.$$
*Das Energiedichtespektrum ${\it \Phi^{^{\hspace{0.08cm}\bullet}}_{g}}(f)$&nbsp; hat die Einheit &nbsp;$\rm Ws/Hz$&nbsp; und  das Leistungsdichtespektrum&nbsp; ${\it \Phi_{s}}(f)$&nbsp; nach der Division durch den Symbolabstand &nbsp;$T$&nbsp; die Einheit &nbsp;$\rm W/Hz$.  
+
*The energy spectral density ${\it \Phi^{^{\hspace{0.08cm}\bullet}}_{g}}(f)$&nbsp; has the unit &nbsp;$\rm Ws/Hz$&nbsp; and the power spectral density&nbsp; ${\it \Phi_{s}}(f)$&nbsp; after division by the symbol spacing &nbsp;$T$&nbsp; has the unit &nbsp;$\rm W/Hz$.  
  
  
Line 149: Line 161:
  
  
===  Leistungsdichtespektrum des AMI-Codes===
+
==  Power-spectral density of the AMI code==
 
+
<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 161: Line 173:
 
\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&nbsp; $\rm (PSD)$&nbsp; of the 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 172: Line 184:
 
\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,&nbsp; for the power-spectral density of the AMI code&nbsp; $(N_{\rm C} = K_{\rm C} = 1)$,&nbsp; 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&nbsp; (red curve),&nbsp; 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&nbsp; (blue),&nbsp; valid for NRZ rectangular pulses.<br>
 +
 
  
 +
One recognizes from this representation
 +
*that the AMI code has no DC component,&nbsp; since &nbsp;${\it \Phi}_a(f = 0) = {\it \Phi}_s(f = 0) = 0$,&nbsp; <br>
  
Man erkennt aus dieser Darstellung
+
*the power &nbsp;$P_{\rm S} = s_0^2/2$&nbsp; of the AMI-coded transmitted signal&nbsp; $($integral over &nbsp;${\it \Phi}_s(f)$&nbsp; from &nbsp;$- \infty$&nbsp; to &nbsp;$+\infty)$.
*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$).
 
  
  
''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&nbsp; (German language)&nbsp; SWF applet &nbsp;[[Applets:Pseudoternaercodierung|"Signals, ACF, and PSD of pseudo-ternary codes"]]&nbsp; to clarify the topic discussed here.
  
=== Eigenschaften des Duobinärcodes ===
 
  
[[File:P_ID1348__Dig_T_2_4_S3b_v1.png|right|frame|Leistungsdichtespektrum des Duobinärcodes|right|class=fit]]
+
== Properties of the duobinary code ==
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:
+
<br>
 +
The&nbsp; '''duobinary code'''&nbsp; 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&nbsp; $\rm (PSD)$&nbsp; of the amplitude coefficients and the PSD of the transmitted signal:
 +
[[File:P_ID1348__Dig_T_2_4_S3b_v1.png|right|frame|Power-spectral density of the duobinary code|right|class=fit]]
  
 
:$${\it \Phi}_a(f) ={1}/{2} \cdot \big [1 + \cos
 
:$${\it \Phi}_a(f) ={1}/{2} \cdot \big [1 + \cos
Line 205: Line 220:
 
   (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 the second graph,&nbsp; 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; (German language)&nbsp; SWF applet &nbsp;[[Applets:Pseudoternaercodierung|"Signals, ACF, and PSD of pseudo-ternary codes"]],&nbsp; which also clarifies the duobinary code.
 +
 
 +
[[File:P_ID1349__Dig_T_2_4_S3a_v2.png|left|frame|Signals in duobinary coding|class=fit]] 
 +
<br><br><br><br><br><br>From these illustrations it is clear:
 +
*In the duobinary code,&nbsp; any number of symbols with same polarity&nbsp; ("+1"&nbsp; or&nbsp; "&ndash;1")&nbsp; can directly succeed each other &nbsp; &rArr;  &nbsp; ${\it \Phi}_a(f = 0)=1$,&nbsp; ${\it \Phi}_s(f = 0) = 1/2 \cdot s_0^2 \cdot T$.<br>
 +
 
 +
*In contrast,&nbsp; for the duobinary code,&nbsp; the alternating sequence&nbsp;  "... , +1, &ndash;1, +1, &ndash;1, +1, ..."&nbsp;  does not occur,&nbsp; which is particularly disturbing with respect to intersymbol interference.&nbsp; Therefore,&nbsp; in the duobinary code: &nbsp;${\it \Phi}_s(f = 1/(2T) = 0$.<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.
+
*The power-spectral density &nbsp;${\it \Phi}_s(f)$&nbsp; of the pseudo-ternary duobinary code is identical to the PSD with redundancy-free binary coding at half rate $($symbol duration &nbsp;$2T)$.<br>
[[File:P_ID1349__Dig_T_2_4_S3a_v2.png|left|frame|Signale bei Duobinärcodierung|class=fit]] 
 
<br><br>Aus diesen Darstellungen geht hervor:
 
*Beim Duobinärcode können beliebig viele Symbole mit gleicher Polarität (&bdquo;+1" bzw. &bdquo;&ndash;1") 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, ... "  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>
 
<br clear= all>
  
Line 236: Line 253:
  
 
{{BlueBox|TEXT=
 
{{BlueBox|TEXT=
'''(2)'''&nbsp; Let&nbsp; $b_0 = +1$.&nbsp; Consider the AMI code sequence&nbsp; $\langle c_\nu \rangle$&nbsp; of the source symbol sequence&nbsp; $\rm C$&nbsp; and give their amplitude coefficients&nbsp; $a_\nu$.&nbsp; }}
+
'''(2)'''&nbsp; Let&nbsp; $b_0 = +1$.&nbsp; Consider the AMI encoded sequence&nbsp; $\langle c_\nu \rangle$&nbsp; of the source symbol sequence&nbsp; $\rm C$&nbsp; and give their amplitude coefficients&nbsp; $a_\nu$.&nbsp; }}
  
 
*It holds:&nbsp; $a_1= 0.5 \cdot (b_1-b_0) = -1$,&nbsp; $a_2= 0.5 \cdot (b_2-b_1) =0$,&nbsp; $a_3= 0. 5 \cdot (b_3-b_2) =0$,&nbsp; $a_4= +1$,&nbsp; $a_5= -1$,&nbsp; $a_6= +1$,&nbsp; $a_7= -1$,&nbsp; $a_8= a_9 = \text{...} = 0$.   
 
*It holds:&nbsp; $a_1= 0.5 \cdot (b_1-b_0) = -1$,&nbsp; $a_2= 0.5 \cdot (b_2-b_1) =0$,&nbsp; $a_3= 0. 5 \cdot (b_3-b_2) =0$,&nbsp; $a_4= +1$,&nbsp; $a_5= -1$,&nbsp; $a_6= +1$,&nbsp; $a_7= -1$,&nbsp; $a_8= a_9 = \text{...} = 0$.   
Line 245: Line 262:
 
'''(3)'''&nbsp; Now consider the AMI coding for several random sequences.&nbsp; What rules can be derived from these experiments for the amplitude coefficients&nbsp; $a_\nu$ ?}}
 
'''(3)'''&nbsp; Now consider the AMI coding for several random sequences.&nbsp; What rules can be derived from these experiments for the amplitude coefficients&nbsp; $a_\nu$ ?}}
  
*Each binary value&nbsp; &bdquo;&ndash;1"&nbsp; of &nbsp; $q(t)$ &nbsp; &rArr; &nbsp; symbol &nbsp;$\rm L$&nbsp; is encoded by the ternary coefficient &nbsp;$a_\nu = 0$.&nbsp; Any number of &nbsp;$a_\nu = 0$&nbsp; can be consecutive.  
+
*Each binary value&nbsp; "&ndash;1"&nbsp; of &nbsp; $q(t)$ &nbsp; &rArr; &nbsp; symbol &nbsp;$\rm L$&nbsp; is encoded by the ternary coefficient &nbsp;$a_\nu = 0$.&nbsp; Any number of &nbsp;$a_\nu = 0$&nbsp; can be consecutive.  
*The binary value&nbsp; &bdquo;+1"&nbsp; of &nbsp; $q(t)$ &nbsp; &rArr; &nbsp; symbol &nbsp;$\rm H$&nbsp; is  represented alternatively with &nbsp; $a_\nu = +1$&nbsp; and &nbsp;$a_\nu = -1$&nbsp;, starting with&nbsp; $a_\nu = -1$,&nbsp; if&nbsp; $b_0 = +1$.
+
*The binary value&nbsp; "+1"&nbsp; of &nbsp; $q(t)$ &nbsp; &rArr; &nbsp; symbol &nbsp;$\rm H$&nbsp; is  represented alternatively with &nbsp; $a_\nu = +1$&nbsp; and &nbsp;$a_\nu = -1$&nbsp;, starting with&nbsp; $a_\nu = -1$,&nbsp; if&nbsp; $b_0 = +1$.
 
*From the source symbol sequence&nbsp; $\rm A$ &nbsp; &rArr; &nbsp; $\langle \hspace{0.05cm}q_\nu \equiv +1 \hspace{0.05cm}\rangle$&nbsp; the code symbol sequence&nbsp; $+1, -1, +1, -1, \text{...}$&nbsp;. Long sequences&nbsp; $\langle \hspace{0.05cm}a_\nu \equiv +1 \hspace{0.05cm}\rangle$&nbsp; or &nbsp; $\langle \hspace{0.05cm}a_\nu \equiv -1 \hspace{0.05cm}\rangle$&nbsp; are shot out.
 
*From the source symbol sequence&nbsp; $\rm A$ &nbsp; &rArr; &nbsp; $\langle \hspace{0.05cm}q_\nu \equiv +1 \hspace{0.05cm}\rangle$&nbsp; the code symbol sequence&nbsp; $+1, -1, +1, -1, \text{...}$&nbsp;. Long sequences&nbsp; $\langle \hspace{0.05cm}a_\nu \equiv +1 \hspace{0.05cm}\rangle$&nbsp; or &nbsp; $\langle \hspace{0.05cm}a_\nu \equiv -1 \hspace{0.05cm}\rangle$&nbsp; are shot out.
  
Line 298: Line 315:
 
*The discrete ACF values are&nbsp; $\varphi_a(\lambda = 0) = +0.5$,&nbsp; $\varphi_a(\lambda = 1) = +0.25$,&nbsp; $\varphi_a(\lambda = 2) = 0$ &nbsp; &rArr; &nbsp; ${\it \Phi}_a(f) = {1}/{2} \cdot \big [1 + \cos (2\pi f T)\big ] = \cos^2
 
*The discrete ACF values are&nbsp; $\varphi_a(\lambda = 0) = +0.5$,&nbsp; $\varphi_a(\lambda = 1) = +0.25$,&nbsp; $\varphi_a(\lambda = 2) = 0$ &nbsp; &rArr; &nbsp; ${\it \Phi}_a(f) = {1}/{2} \cdot \big [1 + \cos (2\pi f T)\big ] = \cos^2
 
   (\pi f T)\hspace{0.05cm}.$
 
   (\pi f T)\hspace{0.05cm}.$
*Unlike the AMI coding, the code sequences&nbsp; $\langle \hspace{0.05cm}a_\nu \equiv +1 \hspace{0.05cm}\rangle$&nbsp; and &nbsp; $\langle \hspace{0.05cm}a_\nu \equiv -1 \hspace{0.05cm}\rangle$&nbsp; are  possible here &nbsp; &rArr; &nbsp; For the Duobinary code holds&nbsp; ${\it \Phi}_a(f= 0) = 1 \ (\ne 0).$
+
*Unlike the AMI coding, the encoded sequences&nbsp; $\langle \hspace{0.05cm}a_\nu \equiv +1 \hspace{0.05cm}\rangle$&nbsp; and &nbsp; $\langle \hspace{0.05cm}a_\nu \equiv -1 \hspace{0.05cm}\rangle$&nbsp; are  possible here &nbsp; &rArr; &nbsp; For the Duobinary code holds&nbsp; ${\it \Phi}_a(f= 0) = 1 \ (\ne 0).$
 
*As with the AMI code, the "long zero sequence" &nbsp; &rArr; &nbsp; $\langle \hspace{0.05cm}a_\nu \equiv 0 \hspace{0.05cm}\rangle$&nbsp; is possible, which can again lead to synchronization problems.
 
*As with the AMI code, the "long zero sequence" &nbsp; &rArr; &nbsp; $\langle \hspace{0.05cm}a_\nu \equiv 0 \hspace{0.05cm}\rangle$&nbsp; is possible, which can again lead to synchronization problems.
 
*Excluded are the combinations&nbsp; $a_\nu = +1, \ a_{\nu+1} = -1$&nbsp; and &nbsp; $a_\nu = -1, \ a_{\nu+1} = +1$,&nbsp; recognizable by the PDS value&nbsp; ${\it \Phi}_a(f= 1/(2T)) = 0.$     
 
*Excluded are the combinations&nbsp; $a_\nu = +1, \ a_{\nu+1} = -1$&nbsp; and &nbsp; $a_\nu = -1, \ a_{\nu+1} = +1$,&nbsp; recognizable by the PDS value&nbsp; ${\it \Phi}_a(f= 1/(2T)) = 0.$     
Line 306: Line 323:
 
{{BlueBox|TEXT=
 
{{BlueBox|TEXT=
 
'''(10)'''&nbsp; Compare the coding results of second order bipolar code&nbsp; $\rm (BIP2)$&nbsp; and first order bipolar code&nbsp; $\rm (AMI)$&nbsp; for different source symbol sequences. }}
 
'''(10)'''&nbsp; Compare the coding results of second order bipolar code&nbsp; $\rm (BIP2)$&nbsp; and first order bipolar code&nbsp; $\rm (AMI)$&nbsp; for different source symbol sequences. }}
*For a single rectangular pulse &nbsp; &rArr; &nbsp; source symbol sequence&nbsp; $\rm B$&nbsp; both codes result in the same code sequence and the same coder signal&nbsp; $c(t)$ &nbsp; &rArr; &nbsp; also an isolated pulse.
+
*For a single rectangular pulse &nbsp; &rArr; &nbsp; source symbol sequence&nbsp; $\rm B$&nbsp; both codes result in the same encoded sequence and the same encoded signal&nbsp; $c(t)$ &nbsp; &rArr; &nbsp; also an isolated pulse.
 
*The  "Permanent&ndash;One sequence"&nbsp; $\rm A$&nbsp; now results&nbsp; $\langle c_\nu \rangle = \langle -1, -1, +1, +1, -1, -1, +1, +1, \text{. ..}\rangle $&nbsp; instead of &nbsp; $\langle c_\nu \rangle = \langle -1, +1, -1, +1, -1, +1, \text{...}\rangle $.
 
*The  "Permanent&ndash;One sequence"&nbsp; $\rm A$&nbsp; now results&nbsp; $\langle c_\nu \rangle = \langle -1, -1, +1, +1, -1, -1, +1, +1, \text{. ..}\rangle $&nbsp; instead of &nbsp; $\langle c_\nu \rangle = \langle -1, +1, -1, +1, -1, +1, \text{...}\rangle $.
 
*The simple decoding algorithm of the AMI code&nbsp; $($the ternary&nbsp; $0$&nbsp; becomes the binary&nbsp; $-1$,&nbsp; the ternary&nbsp; $\pm 1$&nbsp; becomes the binary&nbsp; $+1)$&nbsp; cannot be applied to&nbsp; $\rm BIP2$&nbsp;.
 
*The simple decoding algorithm of the AMI code&nbsp; $($the ternary&nbsp; $0$&nbsp; becomes the binary&nbsp; $-1$,&nbsp; the ternary&nbsp; $\pm 1$&nbsp; becomes the binary&nbsp; $+1)$&nbsp; cannot be applied to&nbsp; $\rm BIP2$&nbsp;.
Line 317: Line 334:
 
*Zero at&nbsp; $f=0$:&nbsp; At most two&nbsp; $+1$&nbsp; directly follow each other, and also at most only two&nbsp; $-1$.&nbsp; In the AMI code&nbsp; $+1$&nbsp; and&nbsp; $-1$&nbsp; occur only in isolation.  
 
*Zero at&nbsp; $f=0$:&nbsp; At most two&nbsp; $+1$&nbsp; directly follow each other, and also at most only two&nbsp; $-1$.&nbsp; In the AMI code&nbsp; $+1$&nbsp; and&nbsp; $-1$&nbsp; occur only in isolation.  
 
*Next zero at&nbsp; $f=1/(2T)$:&nbsp; The infinitely long&nbsp; $(+1, -1)$&nbsp; sequence is excluded in&nbsp; $\rm BIP2$&nbsp; as in the&nbsp; $\rm Duobinary$&nbsp; code.
 
*Next zero at&nbsp; $f=1/(2T)$:&nbsp; The infinitely long&nbsp; $(+1, -1)$&nbsp; sequence is excluded in&nbsp; $\rm BIP2$&nbsp; as in the&nbsp; $\rm Duobinary$&nbsp; code.
*Consider and interpret also the functions&nbsp; $\varphi_s(\tau)$&nbsp; and&nbsp; ${\it \Phi}_s(f)$&nbsp; for the pulses &bdquo;rectangle", &bdquo;Nyquist" and &bdquo;Root raised cosine".
+
*Consider and interpret also the functions&nbsp; $\varphi_s(\tau)$&nbsp; and&nbsp; ${\it \Phi}_s(f)$&nbsp; for the pulses "rectangle", "Nyquist" and "Root raised cosine".
  
  
 
==Applet Manual==
 
==Applet Manual==
[[File:BS_Pseudoternär.png|right|600px|frame|Bildschirmabzug (deutsche Version, heller Hintergrund)]]
+
[[File:BS_Pseudoternär.png|right|600px|frame|Screenshot (German version, light background)]]
 
<br>
 
<br>
&nbsp; &nbsp; '''(A)''' &nbsp; &nbsp; Theme (veränderbare grafische Oberflächengestaltung)
+
&nbsp; &nbsp; '''(A)''' &nbsp; &nbsp; Theme (changeable graphical user interface design)
:* Dark: &nbsp; schwarzer Hintergrund&nbsp; (wird von den Autoren empfohlen)
+
:* Dark: &nbsp; dark background&nbsp; (recommended by the authors)
:*  Bright: &nbsp; weißer Hintergrund&nbsp; (empfohlen für Beamer und Ausdrucke)
+
:*  Bright: &nbsp; white background&nbsp; (recommended for beamers and printouts)
:*  Deuteranopia: &nbsp; für Nutzer mit ausgeprägter Grün&ndash;Sehschwäche
+
:*  Deuteranopia: &nbsp; for users with pronounced green visual impairment
:*  Protanopia: &nbsp; für Nutzer mit ausgeprägter Rot&ndash;Sehschwäche
+
:*  Protanopia: &nbsp; for users with pronounced red visual impairment
  
&nbsp; &nbsp; '''(B)''' &nbsp; &nbsp; Zugrundeliegendes Blockschaltbild
+
&nbsp; &nbsp; '''(B)''' &nbsp; &nbsp; Underlying block diagram
  
&nbsp; &nbsp; '''(C)''' &nbsp; &nbsp; Auswahl des Pseudoternörcodes:  
+
&nbsp; &nbsp; '''(C)''' &nbsp; &nbsp; Selection of the pseudoternary code:  
<br>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; AMI&ndash;Code, Duobinärcode, Bipolarcode 2. Ordnung  
+
<br>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; AMI&ndash;code, duobinary code, 2nd order bipolar code.   
  
&nbsp; &nbsp; '''(D)''' &nbsp; &nbsp; Auswahl des Grundimpulses&nbsp; $g(t)$:
+
&nbsp; &nbsp; '''(D)''' &nbsp; &nbsp; Selection of the base pulse&nbsp; $g(t)$:
<br>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Rechteckimpuls, Nyquistimpuls, Wurzel&ndash;Nyquistimpuls  
+
<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Rectangular pulse, Nyquist pulse, Root&ndash;Nyquist pulse.  
  
&nbsp; &nbsp; '''(E)''' &nbsp; &nbsp; Rolloff&ndash;Faktor (Frequenzbereich) für &bdquo;Nyquist" und &bdquo;Wurzel&ndash;Nyquist"  
+
&nbsp; &nbsp; '''(E)''' &nbsp; &nbsp; Rolloff&ndash;factor (frequency range) for "Nyquist" and "Root&ndash;Nyquist"  
  
&nbsp; &nbsp; '''(F)''' &nbsp; &nbsp; Einstellung von&nbsp; $3 \cdot 4 = 12$&nbsp; Bit der Quellensymbolfolge
+
&nbsp; &nbsp; '''(F)''' &nbsp; &nbsp; Setting of&nbsp; $3 \cdot 4 = 12$&nbsp; Bit of source symbol sequence.
  
&nbsp; &nbsp; '''(G)''' &nbsp; &nbsp; Auswahl einer drei voreingestellten Quellensymbolfolgen
+
&nbsp; &nbsp; '''(G)'''' &nbsp; &nbsp; Selection of one of three preset source symbol sequences.
  
&nbsp; &nbsp; '''(H)''' &nbsp; &nbsp; Zufällige binäre Quellensymbolfolge
+
&nbsp; &nbsp; '''(H)''' &nbsp; &nbsp; Random binary source symbol sequence.
  
&nbsp; &nbsp; '''( I )''' &nbsp; &nbsp; Schrittweise Verdeutlichung der Pseudoternärcodierung
+
&nbsp; &nbsp; '''( I )''' &nbsp; &nbsp; Stepwise elucidation of pseudoternary coding.
  
&nbsp; &nbsp; '''(J)''' &nbsp; &nbsp; Ergebnis der Pseudoternärcodierung:&nbsp; Signale&nbsp; $q(t)$,&nbsp; $b(t)$,&nbsp; $c(t)$,&nbsp; $s(t)$
+
&nbsp; &nbsp; '''(J)''' &nbsp; &nbsp; Result of pseudoternary coding:&nbsp; Signals&nbsp; $q(t)$,&nbsp; $b(t)$,&nbsp; $c(t)$,&nbsp; $s(t)$
  
&nbsp; &nbsp; '''(K)''' &nbsp; &nbsp; Löschen der Signalverläufe im Grafikbereich&nbsp; $\rm M$
+
&nbsp; &nbsp; '''(K)''' &nbsp; &nbsp; Deleting the signal waveforms in the graphics area&nbsp; $\rm M$
  
&nbsp; &nbsp; '''(L)''' &nbsp; &nbsp; Skizzen für Autokorrelationsfunktion & Leistungsdichtespektrum
+
&nbsp; &nbsp; '''(L)''' &nbsp; &nbsp; Sketches for autocorrelation function & power spectral density.
  
&nbsp; &nbsp; '''(M)''' &nbsp; &nbsp; Grafikbereich:&nbsp; Quellensignal&nbsp; $q(t)$, Signal&nbsp; $b(t)$&nbsp; nach Vorcodierung, <br>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  Codersignal&nbsp; $c(t)$&nbsp; mit Rechtecken, Sendesignal&nbsp; $s(t)$&nbsp; gemäß&nbsp; $g(t)$  
+
&nbsp; &nbsp; '''(M)''' &nbsp; &nbsp; Graphics area: &nbsp; Source signal&nbsp; $q(t)$, signal&nbsp; $b(t)$&nbsp; after precoding, <br>&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; encoder signal&nbsp; $c(t)$&nbsp; with rectangles, transmission signal&nbsp; $s(t)$&nbsp; according to&nbsp; $g(t)$  
  
&nbsp; &nbsp; '''(N)''' &nbsp; &nbsp; Bereich für Übungen:&nbsp; Aufgabenauswahl, Fragen, Musterlösung
+
&nbsp; &nbsp; '''(N)''' &nbsp; &nbsp; Area for exercises:&nbsp; Exercise selection, questions, sample solution.
 
<br clear=all>
 
<br clear=all>
 
==About the Authors==
 
==About the Authors==
 
This interactive calculation tool was designed and implemented at the&nbsp; [https://www.ei.tum.de/en/lnt/home/ Institute for Communications Engineering]&nbsp; at the&nbsp; [https://www.tum.de/en Technical University of Munich].  
 
This interactive calculation tool was designed and implemented at the&nbsp; [https://www.ei.tum.de/en/lnt/home/ Institute for Communications Engineering]&nbsp; at the&nbsp; [https://www.tum.de/en Technical University of Munich].  
 
*The first version was created in 2010 by&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Stefan_M.C3.BCller_.28Diplomarbeit_LB_2010.29|Stefan Müller]]&nbsp; &nbsp; as part of his diploma thesis with “FlashMX – Actionscript” (Supervisor: [[Biographies_and_Bibliographies/An_LNTwww_beteiligte_Mitarbeiter_und_Dozenten#Prof._Dr.-Ing._habil._G.C3.BCnter_S.C3.B6der_.28am_LNT_seit_1974.29|Günter Söder]]).  
 
*The first version was created in 2010 by&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Stefan_M.C3.BCller_.28Diplomarbeit_LB_2010.29|Stefan Müller]]&nbsp; &nbsp; as part of his diploma thesis with “FlashMX – Actionscript” (Supervisor: [[Biographies_and_Bibliographies/An_LNTwww_beteiligte_Mitarbeiter_und_Dozenten#Prof._Dr.-Ing._habil._G.C3.BCnter_S.C3.B6der_.28am_LNT_seit_1974.29|Günter Söder]]).  
*In 2020 the program was redesigned by&nbsp; [[Biographies_and_Bibliographies/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]&nbsp; as part of her bachelor thesis&nbsp; (Supervisor: [[Biographies_and_Bibliographies/Beteiligte_der_Professur_Leitungsgebundene_%C3%9Cbertragungstechnik#Tasn.C3.A1d_Kernetzky.2C_M.Sc._.28bei_L.C3.9CT_seit_2014.29|Tasnád Kernetzky]] ) via &bdquo;HTML5".
+
*In 2020 the program was redesigned by&nbsp; [[Biographies_and_Bibliographies/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]&nbsp; as part of her bachelor thesis&nbsp; (Supervisor: [[Biographies_and_Bibliographies/Beteiligte_der_Professur_Leitungsgebundene_%C3%9Cbertragungstechnik#Tasn.C3.A1d_Kernetzky.2C_M.Sc._.28bei_L.C3.9CT_seit_2014.29|Tasnád Kernetzky]] ) via "HTML5".
*Last revision and English version 2021 by&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]&nbsp; in the context of a working student activity.&nbsp; Translation using DEEPL.com.
+
*Last revision and English version 2021 by&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]&nbsp; in the context of a working student activity.&nbsp;  
  
  

Latest revision as of 18:26, 14 April 2023

Open Applet in new Tab   Deutsche Version Öffnen


Applet Description


The applet covers the properties of the best known pseudo-ternary codes, namely:

  1.   First-order bipolar code,  $\rm AMI$ code  (from: Alternate Mark Inversion),  characterized by the parameters  $N_{\rm C} = 1, \ K_{\rm C} = +1$,
  2.   Duobinary code,  $(\rm DUOB)$,  code parameters:  $N_{\rm C} = 1, \ K_{\rm C} = -1$,
  3.   Second order bipolar code  $(\rm BIP2)$,  code parameters:  $N_{\rm C} = 2, \ K_{\rm C} = +1$.


At the input is the redundancy-free binary bipolar source symbol sequence  $\langle \hspace{0.05cm}q_\nu \hspace{0.05cm}\rangle \ \in \{+1, -1\}$   ⇒   rectangular signal  $q(t)$  an.  Illustrating the generation.

  • of the binary–precoded sequence  $\langle \hspace{0.05cm}b_\nu \hspace{0.05cm}\rangle \ \in \{+1, -1\}$,  represented by the also redundancy-free binary bipolar rectangular signal  $b(t)$,
  • the pseudo-ternary code sequence  $\langle \hspace{0.05cm}c_\nu \hspace{0.05cm}\rangle \ \in \{+1,\ 0, -1\}$,  represented by the redundant ternary bipolar rectangular signal  $c(t)$,
  • the equally redundant ternary transmitted signal  $s(t)$, characterized by the amplitude coefficients  $a_\nu $,  and the (transmitted–) base impulse  $g(t)$:
$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g( t - \nu \cdot T)\hspace{0.05cm}.$$

The base impulse  $g(t)$  –  in the applet  "Rectangle",  "Nyquist" and  "Root–Nyquist"  –  determines not only the shape of the transmitted signal, but also the course of

  • of the auto-correlation function  $\rm (ACF)$  $\varphi_s (\tau)$  and
  • of the associated power spectral density  $\rm (PSD)$  ${\it \Phi}_s (f)$.


The applet also shows that the total power spectral density  ${\it \Phi}_s (f)$ can be split into the part  ${\it \Phi}_a (f)$ that takes into account the statistical relations of the amplitude coefficients  $a_\nu$   and the energy spectral density $ {\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f) = |G(f)|^2 $, characterized by the shape  $g(t)$.

Note   In the applet, no distinction is made between the encoder symbols  $c_\nu \in \{+1,\ 0, -1\}$  and the amplitude coefficients  $a_\nu \in \{+1,\ 0, -1\}$  .   It should be remembered that the  $a_\nu$  are always numerical values, while for the encoder symbols also the notation  $c_\nu \in \{\text{plus},\ \text{zero},\ \text{minus}\}$  would be admissible.

Theoretical Background

General description of the pseudo-multilevel codes


In symbolwise coding,  each incoming source symbol  $q_\nu$  generates an encoder 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 symbolwise coding is that

  • the symbol duration  $T$  of the encoded signal  (and of the transmitted signal)  matches the bit duration  $T_{\rm B}$  of the binary source signal,  and
  • encoding 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. 

  • These 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  (above)  and equivalent circuit  (below)  of a pseudo-ternary encoder


One can see from the two representations:

  • The pseudo-ternary encoder can be split into the  "non-linear pre-encoder"  and the  "linear coding network",  if the delay by  $N_{\rm C} \cdot T$  and the weighting by  $K_{\rm C}$  are drawn twice for clarity  – as shown in the right equivalent figure.
  • The  "non-linear pre-encoder"  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 pre-encoder does not add any redundancy.  However,  it allows a simpler realization of the decoder and prevents error propagation after a transmission error.
  • The actual encoding 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"  resp.  "transfer function"  with respect to the input signal  $b(t)$  and the output 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 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}.$$

The  $\text{transmitted signal of all pseudo-ternary codes}$  is always represented as follows:

$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g( t - \nu \cdot T)\hspace{0.05cm}.$$
  • The property of the current pseudo-ternary code is reflected in the statistical bonds between the  $a_\nu$  In all cases  $a_\nu \in \{-1, \ 0, +1\}$.
  • The basic transmitting pulse  $g(t)$  provides on the one hand the required energy, but has also influence on the statistical bonds within the signal.
  • In addition to the NRZ rectangular pulse  $g_{\rm R}(t)$ can be selected in the program: 
  • the Nyquist impulse   ⇒   impulse response of the raised cosine low-pass with rolloff factor $r$:
$$g_{\rm Nyq}(t)={\rm const.} \cdot \frac{\cos(\pi \cdot r\cdot t/T)}{1-(2\cdot r\cdot t/T)^2} \cdot {\rm si}(\pi \cdot t/T) \ \ \ \circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\ \ \ G_{\rm Nyq}(f),$$
  • the root Nyquist impulse   ⇒   impulse response of the root raised cosine low-pass with rolloff factor $r$:
$$g_{\sqrt{\rm Nyq} }(t)\ \ \ \circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\ \ \ G_{\sqrt{\rm Nyq} }(f)={\rm const.} \cdot \sqrt{G_{\rm Nyq}(f)} .$$



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$, 
  •  $K_{\rm C} = 1$,


which is also known as  AMI code  (from: "Alternate Mark Inversion").  This is used e.g. with  "ISDN"  ("Integrated Services Digital Networks")  on the so-called  $S_0$  interface.

Signals with AMI coding 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 pre-encoder,  and
  • the encoded signal  $c(t) = s(t)$  of the AMI code.


One can see the simple AMI encoding principle:

  1. Each binary value  "–1"  of the source signal  $q(t)$   ⇒   symbol  $\rm L$  is encoded by the ternary amplitude coefficient  $a_\nu = 0$. 

  2. The binary value  "+1"  of the source signal  $q(t)$   ⇒   symbol  $\rm H$  is alternately represented by  $a_\nu = +1$  and  $a_\nu = -1$. 

This ensures that the AMI encoded signal does not contain any   "long sequences"

  •   $ \langle c_\nu \rangle = \langle \text{...}, +1, +1, +1, +1, +1, \text{...}\rangle$   resp.
  •   $ \langle c_\nu \rangle = \langle \text{...}, -1, -1, -1, -1, -1, \text{...}\rangle$,


which would lead to problems with a DC-free channel.

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 graphic),  four consecutive zeros in the AMI encoded signal are replaced by a subsequence that violates the AMI encoding 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.



Calculating the ACF of a digital signal

In the execution of the experiment some quantities and correlations are used, which shall be briefly explained here:

  •   The (time-unlimited) digital signal includes both the source statistics $($amplitude coefficients  $a_\nu$)  and the transmitted pulse shape  $g(t)$:
$$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g ( t - \nu \cdot T)\hspace{0.05cm}.$$
  •   If  $s(t)$  is the pattern function of a stationary and ergodic random process, then for the  "Auto-Correlation Function"  $\rm (ACF)$:
$$\varphi_s(\tau) = {\rm E}\big [s(t) \cdot s(t + \tau)\big ] = \sum_{\lambda = -\infty}^{+\infty}{1}/{T} \cdot \varphi_a(\lambda)\cdot\varphi^{^{\bullet} }_{gs}(\tau - \lambda \cdot T)\hspace{0.05cm}.$$
  •   This equation describes the convolution of the discrete ACF  $\varphi_a(\lambda) = {\rm E}\big [ a_\nu \cdot a_{\nu + \lambda}\big]$  of the amplitude coefficients with the energy–ACF of the base impulse:
$$\varphi^{^{\bullet} }_{g}(\tau) = \int_{-\infty}^{+\infty} g ( t ) \cdot g ( t + \tau)\,{\rm d} t \hspace{0.05cm}.$$
  • The point is to indicate that  $\varphi^{^{\bullet} }_{g}(\tau)$  has the unit of an energy, while  $\varphi_s(\tau)$  indicates a power and  $\varphi_a(\lambda)$  is dimensionless.


Calculating the PSD of a digital signal

The corresponding quantity to the ACF in the frequency domain is the "Power Spectral Density"  $\rm (PSD)$  ${\it \Phi}_s(f)$, which is fixedly related to  $\varphi_s(\tau)$  via the Fourier integral:

$$\varphi_s(\tau) \hspace{0.4cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet \hspace{0.4cm} {\it \Phi}_s(f) = \int_{-\infty}^{+\infty} \varphi_s(\tau) \cdot {\rm e}^{- {\rm j}\hspace{0.05cm} 2 \pi f \hspace{0.02cm} \tau} \,{\rm d} \tau \hspace{0.05cm}.$$
  • The power spectral density  ${\it \Phi}_s(f)$  can be represented as a product of two functions, taking into account the dimensional adjustment  $(1/T)$ :
$${\it \Phi}_s(f) = {\it \Phi}_a(f) \cdot {1}/{T} \cdot |G_s(f)|^2 \hspace{0.05cm}.$$
  • The first term  ${\it \Phi}_a(f)$  is dimensionless and describes the spectral shaping of the transmitted signal by the statistical relations of the source:
$$\varphi_a(\lambda) \hspace{0.4cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet \hspace{0.4cm}{\it \Phi}_a(f) = \sum_{\lambda = -\infty}^{+\infty}\varphi_a(\lambda)\cdot {\rm e}^{- {\rm j}\hspace{0.05cm} 2 \pi f \hspace{0.02cm} \lambda \hspace{0.02cm}T} = \varphi_a(0) + 2 \cdot \sum_{\lambda = 1}^{\infty}\varphi_a(\lambda)\cdot\cos ( 2 \pi f \lambda T) \hspace{0.05cm}.$$
  • ${\it \Phi^{^{\hspace{0.08cm}\bullet}}_{g}}(f)$  takes into account the spectral shaping by  $g(t)$. The narrower this is, the wider  $\vert G(f) \vert^2$  and thus the larger the bandwidth requirement:
$$\varphi^{^{\hspace{0.05cm}\bullet}}_{g}(\tau) \hspace{0.4cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet \hspace{0.4cm} {\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f) = |G(f)|^2 \hspace{0.05cm}.$$
  • The energy spectral density ${\it \Phi^{^{\hspace{0.08cm}\bullet}}_{g}}(f)$  has the unit  $\rm Ws/Hz$  and the power spectral density  ${\it \Phi_{s}}(f)$  after division by the symbol spacing  $T$  has the unit  $\rm W/Hz$.



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  $\rm (PSD)$  of the 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 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

  • that the AMI code has no DC component,  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:

  • The PSD of the HDB3 and B6ZS codes differs only slightly from that of the AMI code.


Properties 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  $\rm (PSD)$  of the amplitude coefficients and the PSD of the transmitted signal:

Power-spectral density of the duobinary code
$${\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  (German language)  SWF applet  "Signals, ACF, and PSD of pseudo-ternary codes",  which also clarifies the duobinary code.

Signals in duobinary coding







From these illustrations it is clear:

  • In the duobinary code,  any number of symbols with same polarity  ("+1"  or  "–1")  can directly succeed each other   ⇒   ${\it \Phi}_a(f = 0)=1$,  ${\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 pseudo-ternary duobinary code is identical to the PSD with redundancy-free binary coding at half rate $($symbol duration  $2T)$.



Exercises


  • First, select the number  $(1,\ 2, \text{...} \ )$  of the task to be processed.  The number  "$0$"  corresponds to a "Reset":  Same setting as at program start.
  • A task description is displayed.  The parameter values are adjusted.  Solution after pressing "Show Solution".


(1)  Consider and interpret the binary pre–coding of the  $\text{AMI}$  code using the source symbol sequence  $\rm C$  assuming  $b_0 = +1$.

  • The modulo–2 addition can also be taken as "antivalence".  It holds  $b_{\nu} = +1$,  if  $q_{\nu}$  and  $b_{\nu - 1}$  differ, otherwise set  $b_{\nu} = -1$ :
  $b_1 = (q_1 = +1)\ {\rm XOR}\ (b_0= +1) = -1,\ \ b_2 = (q_2 = -1)\ {\rm XOR}\ (b_1= -1) = -1,\ \ b_3 = (q_3 = -1)\ {\rm XOR}\ (b_2= -1) = -1,$
  $b_4 = (q_4 = +1)\ {\rm XOR}\ (b_3= -1) = +1,\ \ b_5 = (q_5 = +1)\ {\rm XOR}\ (b_4= +1) = -1,\ \ b_6 = (q_6 = +1)\ {\rm XOR}\ (b_5= -1) = +1,\ \ b_7 = b_8 = \text{...} = -1.$
  • With the initial condition  $b_0 = -1$  we get the negated sequence:  $b_4 = b_6 =-1$.  All others  $b_\nu = +1$.


(2)  Let  $b_0 = +1$.  Consider the AMI encoded sequence  $\langle c_\nu \rangle$  of the source symbol sequence  $\rm C$  and give their amplitude coefficients  $a_\nu$. 

  • It holds:  $a_1= 0.5 \cdot (b_1-b_0) = -1$,  $a_2= 0.5 \cdot (b_2-b_1) =0$,  $a_3= 0. 5 \cdot (b_3-b_2) =0$,  $a_4= +1$,  $a_5= -1$,  $a_6= +1$,  $a_7= -1$,  $a_8= a_9 = \text{...} = 0$.
  • In contrast to the pre–coding, the conventional addition (subtraction) is to be applied here and not the modulo–2 addition.


(3)  Now consider the AMI coding for several random sequences.  What rules can be derived from these experiments for the amplitude coefficients  $a_\nu$ ?

  • Each binary value  "–1"  of   $q(t)$   ⇒   symbol  $\rm L$  is encoded by the ternary coefficient  $a_\nu = 0$.  Any number of  $a_\nu = 0$  can be consecutive.
  • The binary value  "+1"  of   $q(t)$   ⇒   symbol  $\rm H$  is represented alternatively with   $a_\nu = +1$  and  $a_\nu = -1$ , starting with  $a_\nu = -1$,  if  $b_0 = +1$.
  • From the source symbol sequence  $\rm A$   ⇒   $\langle \hspace{0.05cm}q_\nu \equiv +1 \hspace{0.05cm}\rangle$  the code symbol sequence  $+1, -1, +1, -1, \text{...}$ . Long sequences  $\langle \hspace{0.05cm}a_\nu \equiv +1 \hspace{0.05cm}\rangle$  or   $\langle \hspace{0.05cm}a_\nu \equiv -1 \hspace{0.05cm}\rangle$  are shot out.


(4)  Continue with  AMI  coding.  Interpret the autocorrelation function  $\varphi_a(\lambda)$  of the amplitude coefficients and the power density spectrum  ${\it \Phi}_a(f)$.

  • The discrete ACF  $\varphi_a(\lambda)$  of the amplitude coefficients is only defined for integer  $\lambda$  values.   With AMI coding  $(N_{\rm C}=1)$  holds:   For  $|\lambda| > 1$   ⇒   all  $\varphi_a(\lambda)= 0$.
  • $\varphi_a(\lambda = 0)$  is equal to the root mean square of the amplitude coefficients   ⇒   $\varphi_a(\lambda = 0) = {\rm Pr}(a_\nu = +1) \cdot (+1)^2 + {\rm Pr}(a_\nu = -1) \cdot (-1)^2 = 0.5.$
  • Only the combinations  $(+1, -1)$  and  $(-1, +1)$  contribute to the expected value  ${\rm E}\big [a_\nu \cdot a_{\nu+1}\big]$   Result:  $\varphi_a(\lambda = \pm 1)={\rm E}\big [a_\nu \cdot a_{\nu+1}\big]=-0.25.$
  • The power density spectrum  ${\it \Phi}_a(f)$  is the Fourier transform of the discrete ACF  $\varphi_a(\lambda)$.  Result:  ${\it \Phi}_a(f) = {1}/{2} \cdot \big [1 - \cos (2\pi f T)\big ] = \sin^2 (\pi f T)\hspace{0.05cm}.$
  • From   ${\it \Phi}_a(f = 0) = 0$  follows:   The AMI code is especially interesting for channels over which no DC component can be transmitted.


(5)  We consider further AMI coding and rectangular pulses.  Interpret the ACF  $\varphi_s(\tau)$  of the transmission signal and the PDS  ${\it \Phi}_s(f)$.

  • $\varphi_s(\tau)$  results from the convolution of the discrete AKF  $\varphi_a(\lambda)$  with  $\varphi^{^{\hspace{0.05cm}\bullet}}_{g}(\tau)$.   For rectangular pulses  $($duration $T)$:  The energy–AKF  $\varphi^{^{\hspace{0.05cm}\bullet}}_{g}(\tau)$  is a triangle of duration  $2T$.
  • It holds  $\varphi_s(\tau = 0)= \varphi_a(\lambda = 0) =0.5, \ \varphi_s(\pm T)= \varphi_a( 1) =-0. 25,\ , \ \varphi_s( \pm 2T)= \varphi_a(2) =0.$  Between these discrete values, $\varphi_{s}(\tau)$  is always linear.
  • The PDS  ${\it \Phi}_s(f)$  is obtained from  ${\it \Phi}_a(f) = \sin^2(\pi f T)$  by multiplying with  ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f) = {\rm sinc}^2(f T).$  This does not change anything at the zeros of  ${\it \Phi}_a(f)$ .


(6)  What changes with respect to  $s(t)$,  $\varphi_s(\tau)$  and  ${\it \Phi}_s(f)$  with the  $\rm Nyquist$  pulse?  Vary the roll–off factor here in the range  $0 \le r \le 1$.

  • A single Nyquist pulse can be represented with the source symbol sequence  $\rm B$  in the  $s(t)$  range.  You can see equidistant zero crossings in the distance  $T$.
  • Also, for any AMI random sequence, the signal values  $s(t=\nu \cdot T)$  for each  $r$  correspond exactly to their nominal positions.  Outside these points, there are deviations.
  • In the special case  $r=0$  the energy–LDS  ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)$  is constant in the range  $|f|<1/2T$.  Accordingly, the energy–ACF  ${\it \varphi}^{^{\hspace{0.08cm}\bullet}}_{g}(\tau)$  has a  $\rm sinc$  shape.
  • On the other hand, for larger  $r$  the zeros of  ${\it \varphi}^{^{\hspace{0.08cm}\bullet}}_{g}(\tau)$  are no longer equidistant, since although  $G(f)$  satisfies the first Nyquist criterion, it does not  ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)= [G(f)]^2$.
  • The main advantage of the Nyquist pulse is the much smaller bandwidth.  Here only the frequency range  $|f| < (1+r)/(2T)$  has to be provided.


(7)  Repeat the last experiment using the  $\text{Root raised cosine}$  pulse instead of the Nyquist pulse.  Interpret the results.

  • In the special case  $r=0$  the results are as in  (6). ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)$  is constant in the range  $|f|<1/2T$  and outside zero;  ${\it \varphi}^{^{\hspace{0.08cm}\bullet}}_{g}(\tau)$  has a  $\rm sinc$  shape.
  • Also for larger  $r$  the zeros of  ${\it \varphi}^{^{\hspace{0.08cm}\bullet}}_{g}(\tau)$  are eqidistant  (but not  $\rm sinc$  shaped)   ⇒   ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)= [G(f)]^2$  satisfies the first Nyquist criterion.
  • On the other hand, $G(f)$  does not satisfy the first Nyquist criterion  $($except for  $r=0)$.  Intersymbol interference occurs already at the transmitter   ⇒   signal  $s(t)$.
  • But this is also not a fundamental problem.  By using an identically shaped reception filter like  $G(f)$  intersymbol interference at the decider is avoided.


(8)  Consider and check the pre–coding  $(b_\nu)$  and the amplitude coefficients  $(a_\nu)$  with the  $\rm duobinary$  coding   $($source symbol sequence  $\rm C$,  $b_0 = +1)$.

  • $b_1 = (q_1 = +1)\ {\rm XOR}\ (\overline{b_0}= -1) = +1,\ \ b_2 = (q_2 = -1)\ {\rm XOR}\ (\overline{b_1}= -1) = -1,\ \ b_3 = \text{...} =b_7 = +1,$  $b_8 = b_{10} = \text{...} =-1$,  $b_9 =b_{11} = \text{...}= +1$.
  • $a_1= 0.5 \cdot (b_1+b_0) = +1$,  $a_2= 0.5 \cdot (b_2+b_1) =0$,  $a_3= 0.5 \cdot (b_3+b_2) = 0$,  $a_4= \text{...}= a_7=+1$,  $a_8=a_9= \text{...}= 0$.
  • With the starting condition  $b_0 = -1$  we get again the negated sequence:     $a_1= -1$,  $a_2= a_3= 0$,  $a_4= \text{...}= a_7=-1$,  $a_8=a_9= \text{...}= 0$.


(9)  Now consider the Duobinary coding for several random sequences.  What rules can be derived from these experiments for the amplitude coefficients  $a_\nu$?

  • The discrete ACF values are  $\varphi_a(\lambda = 0) = +0.5$,  $\varphi_a(\lambda = 1) = +0.25$,  $\varphi_a(\lambda = 2) = 0$   ⇒   ${\it \Phi}_a(f) = {1}/{2} \cdot \big [1 + \cos (2\pi f T)\big ] = \cos^2 (\pi f T)\hspace{0.05cm}.$
  • Unlike the AMI coding, the encoded sequences  $\langle \hspace{0.05cm}a_\nu \equiv +1 \hspace{0.05cm}\rangle$  and   $\langle \hspace{0.05cm}a_\nu \equiv -1 \hspace{0.05cm}\rangle$  are possible here   ⇒   For the Duobinary code holds  ${\it \Phi}_a(f= 0) = 1 \ (\ne 0).$
  • As with the AMI code, the "long zero sequence"   ⇒   $\langle \hspace{0.05cm}a_\nu \equiv 0 \hspace{0.05cm}\rangle$  is possible, which can again lead to synchronization problems.
  • Excluded are the combinations  $a_\nu = +1, \ a_{\nu+1} = -1$  and   $a_\nu = -1, \ a_{\nu+1} = +1$,  recognizable by the PDS value  ${\it \Phi}_a(f= 1/(2T)) = 0.$
  • Such direct transitions  $a_\nu = +1$   ⇒   $a_{\nu+1} = -1$  resp.   $a_\nu = -1$   ⇒   $a_{\nu+1} = +1$  lead to large intersymbol interference and thus to a higher error rate.


(10)  Compare the coding results of second order bipolar code  $\rm (BIP2)$  and first order bipolar code  $\rm (AMI)$  for different source symbol sequences.

  • For a single rectangular pulse   ⇒   source symbol sequence  $\rm B$  both codes result in the same encoded sequence and the same encoded signal  $c(t)$   ⇒   also an isolated pulse.
  • The "Permanent–One sequence"  $\rm A$  now results  $\langle c_\nu \rangle = \langle -1, -1, +1, +1, -1, -1, +1, +1, \text{. ..}\rangle $  instead of   $\langle c_\nu \rangle = \langle -1, +1, -1, +1, -1, +1, \text{...}\rangle $.
  • The simple decoding algorithm of the AMI code  $($the ternary  $0$  becomes the binary  $-1$,  the ternary  $\pm 1$  becomes the binary  $+1)$  cannot be applied to  $\rm BIP2$ .


(11)  View and interpret the various ACF and LDS graphs of the  $\rm BIP2$  compared to the  $\rm AMI$  code.

  • For  $\rm AMI$:   $\varphi_a(\lambda = \pm 1) = -0.25, \ \varphi_a(\lambda = \pm 2) = 0$.   For  $\rm BIP2$:   $\varphi_a(\lambda = \pm 1) = 0, \ \varphi_a(\lambda = \pm 2) = -0.25$.  In both cases:  $\varphi_a(\lambda = 0) = 0.5$.
  • From the  $\rm AMI$ power density spectrum  ${\it \Phi}_a(f) = \sin^2 (\pi \cdot f T)$  follows for  $\rm BIP2$:  ${\it \Phi}_a(f) = \sin^2 (2\pi \cdot f T)$  by compression with respect to the  $f$–axis.
  • Zero at  $f=0$:  At most two  $+1$  directly follow each other, and also at most only two  $-1$.  In the AMI code  $+1$  and  $-1$  occur only in isolation.
  • Next zero at  $f=1/(2T)$:  The infinitely long  $(+1, -1)$  sequence is excluded in  $\rm BIP2$  as in the  $\rm Duobinary$  code.
  • Consider and interpret also the functions  $\varphi_s(\tau)$  and  ${\it \Phi}_s(f)$  for the pulses "rectangle", "Nyquist" and "Root raised cosine".


Applet Manual

Screenshot (German version, light background)


    (A)     Theme (changeable graphical user interface design)

  • Dark:   dark background  (recommended by the authors)
  • Bright:   white background  (recommended for beamers and printouts)
  • Deuteranopia:   for users with pronounced green visual impairment
  • Protanopia:   for users with pronounced red visual impairment

    (B)     Underlying block diagram

    (C)     Selection of the pseudoternary code:
                 AMI–code, duobinary code, 2nd order bipolar code.

    (D)     Selection of the base pulse  $g(t)$:
                  Rectangular pulse, Nyquist pulse, Root–Nyquist pulse.

    (E)     Rolloff–factor (frequency range) for "Nyquist" and "Root–Nyquist"

    (F)     Setting of  $3 \cdot 4 = 12$  Bit of source symbol sequence.

    (G)'     Selection of one of three preset source symbol sequences.

    (H)     Random binary source symbol sequence.

    ( I )     Stepwise elucidation of pseudoternary coding.

    (J)     Result of pseudoternary coding:  Signals  $q(t)$,  $b(t)$,  $c(t)$,  $s(t)$

    (K)     Deleting the signal waveforms in the graphics area  $\rm M$

    (L)     Sketches for autocorrelation function & power spectral density.

    (M)     Graphics area:   Source signal  $q(t)$, signal  $b(t)$  after precoding,
                 encoder signal  $c(t)$  with rectangles, transmission signal  $s(t)$  according to  $g(t)$

    (N)     Area for exercises:  Exercise selection, questions, sample solution.

About the Authors

This interactive calculation tool was designed and implemented at the  Institute for Communications Engineering  at the  Technical University of Munich.

  • The first version was created in 2010 by  Stefan Müller    as part of his diploma thesis with “FlashMX – Actionscript” (Supervisor: Günter Söder).
  • In 2020 the program was redesigned by  Carolin Mirschina  as part of her bachelor thesis  (Supervisor: Tasnád Kernetzky ) via "HTML5".
  • Last revision and English version 2021 by  Carolin Mirschina  in the context of a working student activity. 


The conversion of this applet to HTML 5 was financially supported by  "Studienzuschüsse"  (Faculty EI of the TU Munich).  We thank.

Once again: Open Applet in new Tab

Open Applet in new Tab   Deutsche Version Öffnen