Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

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

From LNTwww
Line 361: Line 361:
 
*The first version was created in 2010 by  [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Stefan_M.C3.BCller_.28Diplomarbeit_LB_2010.29|Stefan Müller]]    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  [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Stefan_M.C3.BCller_.28Diplomarbeit_LB_2010.29|Stefan Müller]]    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  [[Biographies_and_Bibliographies/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]  as part of her bachelor thesis  (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".
 
*In 2020 the program was redesigned by  [[Biographies_and_Bibliographies/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]  as part of her bachelor thesis  (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  [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]  in the context of a working student activity.  Translation using DEEPL.com.
+
*Last revision and English version 2021 by  [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]  in the context of a working student activity.   
  
  

Revision as of 20:12, 21 March 2023

Open Applet in new Tab   Deutsche Version Öffnen


Applet Description


Das Applet behandelt die Eigenschaften der bekanntesten Pseudoternärcodes, nämlich:

  1.   Bipolarcode erster Ordnung bzw.  AMI–Code  (von: Alternate Mark Inversion),  gekennzeichnet durch die Parameter  NC=1, KC=+1,
  2.   Duobinärcode,  (DUOB),  Codeparameter:  NC=1, KC=1,
  3.   Bipolarcode zweiter Ordnung  (BIP2),  Codeparameter:  NC=2, KC=+1.


Am Eingang liegt die redundanzfreie binäre bipolare Quellensymbolfolge  qν {+1,1}   ⇒   Rechtecksignal  q(t)  an.  Verdeutlicht wird die Generierung

  • der binär–vorcodierten Folge  bν {+1,1},  dargestellt durch das ebenfalls redundanzfreie binäre bipolare Rechtecksignal  b(t),
  • der pseudoternären Codefolge  cν {+1, 0,1},  dargestellt durch das redundante ternäre bipolare Rechtecksignal  c(t),
  • das gleichermaßen redundante ternäre Sendesignal  s(t), gekennzeichnet durch die Amplitudenkoeffizienten  aν,  und den (Sende–) Grundimpuls  g(t):
s(t)=+ν=aνg(tνT).

Der Grundimpuls  g(t)  –  im Applet  "Rechteck",  "Nyquist" und  "Wurzel–Nyquist"  –  bestimmt nicht nur die Form des Sendesignals, sondern auch den Verlauf

  • der Autokorrelationsfunktion  (AKF)  φs(τ)  und
  • des zugehörigen Leistungsdichtespektrums  (LDS)  Φs(f).


Das Applet zeigt auch, dass das gesamte Leistungsdichtespektrum  Φs(f) aufgeteilt werden kann in den Anteil  Φa(f), der die statistischen Bindungen der Amplitudenkoeffizienten  aν   berücksichtigt, und das Energiedichtespektrum Φg(f)=|G(f)|2, gekennzeichnet durch die Impulsform  g(t).

Anmerkung:   Im Applet wird kein Unterschied zwischen den Codersymbolen  cν{+1, 0,1}  und den Amplitudenkoeffizienten  aν{+1, 0,1}  gemacht.  Dabei sollte nicht vergessen werden, dass die  aν  stets Zahlenwerte sind, während für die Codersymbole auch die Notation  cν{Plus, Null, Minus}  zulässig wäre.

Theoretical Background

Allgemeine Beschreibung der Pseudoternärcodes

Bei der symbolweisen Codierung wird mit jedem ankommenden Quellensymbol  qν  ein Codesymbol  cν  erzeugt, das außer vom aktuellen Eingangssymbol  qν  auch von den  NC  vorangegangenen Symbolen  qν1, ... , qνNC  abhängt.  NC  bezeichnet man als die Ordnung  des Codes.

Blockschaltbild und Ersatzschaltbild eines Pseudoternärcodierers

Typisch für eine symbolweise Codierung ist, dass

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

Besondere Bedeutung besitzen Pseudomehrstufencodes  – besser bekannt unter der englischen Bezeichnung Partial Response Codes

  • Im Folgenden werden ausschließlich Pseudoternärcodes   ⇒   Stufenzahl  M=3  betrachtet, die durch das Blockschaltbild entsprechend der linken Grafik beschreibbar sind. 
  • In der rechten Grafik ist ein Ersatzschaltbild angegeben, das für eine Analyse dieser Codes sehr gut geeignet ist.


Man erkennt aus den beiden Darstellungen:

  • Der Pseudoternärcodierer kann in den nichtlinearen Vorcodierer und ein lineares Codiernetzwerk aufgespalten werden, wenn man – wie im rechten Ersatzschaltbild dargestellt – die Verzögerung um  NCT  und die Gewichtung mit  KC  zur Verdeutlichung zweimal zeichnet.
  • Der nichtlineare Vorcodierer  gewinnt durch eine Modulo–2–Addition  ("Antivalenz")  zwischen den Symbolen  qν  und  KCbνNC  die vorcodierten Symbole  bν, die ebenfalls binär sind:
qν{1,+1},KC{1,+1}bν{1,+1}.
  • Die Symbole  bν  sind wie die Quellensymbole  qν  statistisch voneinander unabhängig.  Der Vorcodierer fügt also keine Redundanz hinzu.  Er gestattet aber eine einfachere Realisierung des Decoders und verhindert eine Fehlerfortpflanzung nach einem Übertragungsfehler.
  • Die eigentliche Umcodierung von binär  (Mq=2)  auf ternär  (M=Mc=3)  bewirkt das lineare Codiernetzwerk  durch die herkömmliche Subtraktion
c(t)=1/2[b(t)KCb(tNCT)]{1, 0,+1},
das durch folgende  Impulsantwort  bzw.  Übertragungsfunktion  bezüglich dem Eingangssignal  b(t)  und dem Ausgangssignal  c(t)  beschrieben werden kann:
hC(t)=1/2[δ(t)KCδ(tNCT)]      HC(f)=1/2[1KCej2πNCT].
  • Die relative Coderedundanz ist für alle Pseudoternärcodes gleich. Setzt man in die  allgemeine Definitionsgleichung  Mq=2,  Mc=3  und  Tc=Tq  ein, so erhält man
rc=1RqRc=1TcTqlog2(Mq)log2(Mc)=1TcTqlog2(Mc)rc=11/log2(3)36.9%.

Das  Sendesignal aller Pseudoternärcodes  wird im Folgenden stets wie folgt dargestellt:

s(t)=+ν=aνg(tνT).
  • Die Eigenschaft des aktuellen Pseudoternärcodes spiegelt sich in den statistischen Bindungen zwischen den  aν  wider.  In allen Fällen gilt  aν{1, 0,+1}.
  • Der Sendegrundimpuls  g(t)  stellt zum einen die erforderliche Energie bereit, hat aber auch Einfluss auf die statistischen Bindungen innerhalb des Signals.
  • Im Programm ausgewählt werden kann neben dem NRZ–Rechteckimpuls  gR(t)
  • der Nyquistimpuls   ⇒   Impulsantwort des Cosinus–Rolloff–Tiefpasses mit Rolloff–Faktor r:
gNyq(t)=const.cos(πrt/T)1(2rt/T)2si(πt/T)      GNyq(f),
  • der Wurzel–Nyquistimpuls   ⇒   Impulsantwort des Wurzel–Cosinus–Rolloff–Tiefpasses mit Rolloff–Faktor r:
gNyq(t)      GNyq(f)=const.GNyq(f).



Eigenschaften des AMI-Codes

Die Pseudoternärcodes unterscheiden sich in den Parametern  NC  und  KC.  Der bekannteste Vertreter ist der  Bipolarcode erster Ordnung  mit den Codeparametern  NC=1  und  KC=1, der auch unter der Bezeichnung  AMI–Code  (von: Alternate Mark Inversion) bekannt ist.

AMI– und HDB3–Codierung, jeweils dargestellt mit Rechtecksignalen

Dieser wird zum Beispiel bei  ISDN  (Integrated Services Digital Networks) auf der so genannten  S0–Schnittstelle eingesetzt.

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

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


Man erkennt das einfache AMI–Codierprinzip:

  • Jeder Binärwert "-1" von  q(t)   ⇒   Symbol  L  wird durch den ternären Koeffizienten  aν=0  codiert.
  • Der Binärwert "+1" von  q(t)   ⇒   Symbol  H  wird alternierend mit  aν=+1  und  aν=1  dargestellt.

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

Dagegen ist das Auftreten langer Nullfolgen durchaus möglich, bei denen über einen längeren Zeitraum keine Taktinformation übertragen wird.

Um dieses zweite Problem zu vermeiden, wurden einige modifizierte AMI–Codes entwickelt, zum Beispiel der B6ZS–Code  und der HDB3–Code:

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



Zur AKF–Berechnung eines Digitalsignals

In der Versuchsdurchführung werden einige Größen und Zusamenhänge verwendet, die hier kurz eräutert werden sollen:

  •   Das (zeitlich unbegrenzte) Digitalsignal beinhaltet sowohl die Quellenstatistik (Amplitudenkoeffizienten  aν)  als auch die Sendeimpulsform  g(t):
s(t)=+ν=aνg(tνT).
  •   Ist  s(t)  die Musterfunktion eines stationären und ergodischen Zufallsprozesses, so gilt für die  Autokorrelationsfunktion  (AKF):
φs(τ)=E[s(t)s(t+τ)]=+λ=1/Tφa(λ)φgs(τλT).
  •   Diese Gleichung beschreibt die Faltung der diskreten AKF  φa(λ)=E[aνaν+λ]  der Amplitudenkoeffizienten mit der Energie–AKF des Grundimpulses:
φg(τ)=+g(t)g(t+τ)dt.
  • Der Punkt soll darauf hinweisen, dass  φg(τ)  die Einheit einer Energie besitzt, während  φs(τ)  eine Leistung angibt und  φa(λ)  dimensionslos ist.


Zur LDS-Berechnung eines Digitalsignals

Die Entsprechungsgröße zur AKF ist im Frequenzbereich das Leistungsdichtespektrum  (LDS)  Φs(f), das mit  φs(τ)  über das Fourierintegral fest verknüpft ist:

φs(τ)Φs(f)=+φs(τ)ej2πfτdτ.
  • Das Leistungsdichtespektrum  Φs(f)  kann unter Berücksichtigung der Dimensionsbereinigung  (1/T)  als Produkt zweier Funktionen dargestellt werden:
Φs(f)=Φa(f)1/T|Gs(f)|2.
  • Der erste Term  Φa(f)  ist dimensionslos und beschreibt die spektrale Formung des Sendesignals durch die statistischen Bindungen der Quelle:
φa(λ)Φa(f)=+λ=φa(λ)ej2πfλT=φa(0)+2λ=1φa(λ)cos(2πfλT).
  • Φg(f)  berücksichtigt die spektrale Formung durch  g(t). Je schmaler dieser ist, desto breiter ist  |G(f)|2  und um so größer ist damit der Bandbreitenbedarf:
φg(τ)Φg(f)=|G(f)|2.
  • Das Energiedichtespektrum Φg(f)  hat die Einheit  Ws/Hz  und das Leistungsdichtespektrum  Φs(f)  nach der Division durch den Symbolabstand  T  die Einheit  W/Hz.



Leistungsdichtespektrum des AMI-Codes

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

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

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

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

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

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

Die Grafik zeigt

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


Man erkennt aus dieser Darstellung

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


Hinweise:

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


Eigenschaften des Duobinärcodes

Leistungsdichtespektrum des Duobinärcodes

Der Duobinärcode ist durch die Codeparameter  NC=1  und  KC=1  festgelegt. Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten bzw. für das LDS des Sendesignals:

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

Die Grafik zeigt das Leistungsdichtespektrum

  • der Amplitudenkoeffizienten   ⇒   Φa(f)  als rote Kurve,
  • des gesamten Sendsignals   ⇒   Φs(f)  als blaue Kurve.

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

Signale bei Duobinärcodierung



Aus diesen Darstellungen geht hervor:

  • Beim Duobinärcode können beliebig viele Symbole mit gleicher Polarität ("+1" bzw. "–1") direkt aufeinanderfolgen.
  • Deshalb gilt  Φa(f=0)=1  und  Φs(f=0)=1/2s20T.
  • Dagegen tritt beim Duobinärcode die alternierende Folge " ... , +1, –1, +1, –1, +1, ... " nicht auf, die hinsichtlich Impulsinterferenzen besonders störend ist.
  • Deshalb gilt beim Duobinärcode:  Φs(f=1/(2T)=0.
  • Das Leistungsdichtespektrum  Φs(f)  des pseudoternären Duobinärcodes ist identisch mit dem LDS bei redundanzfreier Binärcodierung mit halber Rate (Symboldauer  2T).



Exercises


  • First, select the number  (1, 2,... )  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  AMI  code using the source symbol sequence  C  assuming  b0=+1.

  • The modulo–2 addition can also be taken as "antivalence".  It holds  bν=+1,  if  qν  and  bν1  differ, otherwise set  bν=1 :
  b1=(q1=+1) XOR (b0=+1)=1,  b2=(q2=1) XOR (b1=1)=1,  b3=(q3=1) XOR (b2=1)=1,
  b4=(q4=+1) XOR (b3=1)=+1,  b5=(q5=+1) XOR (b4=+1)=1,  b6=(q6=+1) XOR (b5=1)=+1,  b7=b8=...=1.
  • With the initial condition  b0=1  we get the negated sequence:  b4=b6=1.  All others  bν=+1.


(2)  Let  b0=+1.  Consider the AMI encoded sequence  cν  of the source symbol sequence  C  and give their amplitude coefficients  aν

  • It holds:  a1=0.5(b1b0)=1a2=0.5(b2b1)=0a3=0.5(b3b2)=0a4=+1a5=1a6=+1a7=1a8=a9=...=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ν ?

  • Each binary value  "–1"  of   q(t)   ⇒   symbol  L  is encoded by the ternary coefficient  aν=0.  Any number of  aν=0  can be consecutive.
  • The binary value  "+1"  of   q(t)   ⇒   symbol  H  is represented alternatively with   aν=+1  and  aν=1 , starting with  aν=1,  if  b0=+1.
  • From the source symbol sequence  A   ⇒   qν+1  the code symbol sequence  +1,1,+1,1,... . Long sequences  aν+1  or   aν1  are shot out.


(4)  Continue with  AMI  coding.  Interpret the autocorrelation function  φa(λ)  of the amplitude coefficients and the power density spectrum  Φa(f).

  • The discrete ACF  φa(λ)  of the amplitude coefficients is only defined for integer  λ  values.   With AMI coding  (NC=1)  holds:   For  |λ|>1   ⇒   all  φa(λ)=0.
  • φa(λ=0)  is equal to the root mean square of the amplitude coefficients   ⇒   φa(λ=0)=Pr(aν=+1)(+1)2+Pr(aν=1)(1)2=0.5.
  • Only the combinations  (+1,1)  and  (1,+1)  contribute to the expected value  E[aνaν+1]   Result:  φa(λ=±1)=E[aνaν+1]=0.25.
  • The power density spectrum  Φa(f)  is the Fourier transform of the discrete ACF  φa(λ).  Result:  Φa(f)=1/2[1cos(2πfT)]=sin2(πfT).
  • From   Φ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  φs(τ)  of the transmission signal and the PDS  Φs(f).

  • φs(τ)  results from the convolution of the discrete AKF  φa(λ)  with  φg(τ).   For rectangular pulses  (duration T):  The energy–AKF  φg(τ)  is a triangle of duration  2T.
  • It holds  φs(τ=0)=φa(λ=0)=0.5, φs(±T)=φa(1)=0.25, , φs(±2T)=φa(2)=0.  Between these discrete values, φs(τ)  is always linear.
  • The PDS  Φs(f)  is obtained from  Φa(f)=sin2(πfT)  by multiplying with  Φg(f)=sinc2(fT).  This does not change anything at the zeros of  Φa(f) .


(6)  What changes with respect to  s(t)φs(τ)  and  Φs(f)  with the  Nyquist  pulse?  Vary the roll–off factor here in the range  0r1.

  • A single Nyquist pulse can be represented with the source symbol sequence  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=ν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  Φg(f)  is constant in the range  |f|<1/2T.  Accordingly, the energy–ACF  φg(τ)  has a  sinc  shape.
  • On the other hand, for larger  r  the zeros of  φg(τ)  are no longer equidistant, since although  G(f)  satisfies the first Nyquist criterion, it does not  Φ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  Root raised cosine  pulse instead of the Nyquist pulse.  Interpret the results.

  • In the special case  r=0  the results are as in  (6)Φg(f)  is constant in the range  |f|<1/2T  and outside zero;  φg(τ)  has a  sinc  shape.
  • Also for larger  r  the zeros of  φg(τ)  are eqidistant  (but not  sinc  shaped)   ⇒   Φ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ν)  and the amplitude coefficients  (aν)  with the  duobinary  coding   (source symbol sequence  Cb0=+1).

  • b1=(q1=+1) XOR (¯b0=1)=+1,  b2=(q2=1) XOR (¯b1=1)=1,  b3=...=b7=+1,  b8=b10=...=1b9=b11=...=+1.
  • a1=0.5(b1+b0)=+1a2=0.5(b2+b1)=0a3=0.5(b3+b2)=0a4=...=a7=+1a8=a9=...=0.
  • With the starting condition  b0=1  we get again the negated sequence:     a1=1a2=a3=0a4=...=a7=1a8=a9=...=0.


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

  • The discrete ACF values are  φa(λ=0)=+0.5φa(λ=1)=+0.25φa(λ=2)=0   ⇒   Φa(f)=1/2[1+cos(2πfT)]=cos2(πfT).
  • Unlike the AMI coding, the encoded sequences  aν+1  and   aν1  are possible here   ⇒   For the Duobinary code holds  Φa(f=0)=1 (0).
  • As with the AMI code, the "long zero sequence"   ⇒   aν0  is possible, which can again lead to synchronization problems.
  • Excluded are the combinations  aν=+1, aν+1=1  and   aν=1, aν+1=+1,  recognizable by the PDS value  Φa(f=1/(2T))=0.
  • Such direct transitions  aν=+1   ⇒   aν+1=1  resp.   aν=1   ⇒   aν+1=+1  lead to large intersymbol interference and thus to a higher error rate.


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

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


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

  • For  AMI:   φa(λ=±1)=0.25, φa(λ=±2)=0.   For  BIP2:   φa(λ=±1)=0, φa(λ=±2)=0.25.  In both cases:  φa(λ=0)=0.5.
  • From the  AMI power density spectrum  Φa(f)=sin2(πfT)  follows for  BIP2Φa(f)=sin2(2πfT)  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  BIP2  as in the  Duobinary  code.
  • Consider and interpret also the functions  φs(τ)  and  Φs(f)  for the pulses "rectangle", "Nyquist" and "Root raised cosine".


Applet Manual

Bildschirmabzug (deutsche Version, heller Hintergrund)


    (A)     Theme (veränderbare grafische Oberflächengestaltung)

  • Dark:   schwarzer Hintergrund  (wird von den Autoren empfohlen)
  • Bright:   weißer Hintergrund  (empfohlen für Beamer und Ausdrucke)
  • Deuteranopia:   für Nutzer mit ausgeprägter Grün–Sehschwäche
  • Protanopia:   für Nutzer mit ausgeprägter Rot–Sehschwäche

    (B)     Zugrundeliegendes Blockschaltbild

    (C)     Auswahl des Pseudoternörcodes:
                   AMI–Code, Duobinärcode, Bipolarcode 2. Ordnung

    (D)     Auswahl des Grundimpulses  g(t):
                   Rechteckimpuls, Nyquistimpuls, Wurzel–Nyquistimpuls

    (E)     Rolloff–Faktor (Frequenzbereich) für "Nyquist" und "Wurzel–Nyquist"

    (F)     Einstellung von  34=12  Bit der Quellensymbolfolge

    (G)     Auswahl einer drei voreingestellten Quellensymbolfolgen

    (H)     Zufällige binäre Quellensymbolfolge

    ( I )     Schrittweise Verdeutlichung der Pseudoternärcodierung

    (J)     Ergebnis der Pseudoternärcodierung:  Signale  q(t)b(t)c(t)s(t)

    (K)     Löschen der Signalverläufe im Grafikbereich  M

    (L)     Skizzen für Autokorrelationsfunktion & Leistungsdichtespektrum

    (M)     Grafikbereich:  Quellensignal  q(t), Signal  b(t)  nach Vorcodierung,
                   Codersignal  c(t)  mit Rechtecken, Sendesignal  s(t)  gemäß  g(t)

    (N)     Bereich für Übungen:  Aufgabenauswahl, Fragen, Musterlösung

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