Applets:Zur Verdeutlichung der Pseudoternärcodes: Unterschied zwischen den Versionen
Höfler (Diskussion | Beiträge) K (Textersetzung - „Biografien_und_Bibliografien/Beteiligte_der_Professur_Leitungsgebundene_%C3%9Cbertragungstechnik#Tasn.C3.A1d_Kernetzky.2C_M.Sc._.28bei_L.C3.9CT_seit_2014.29“ durch „Biografien_und_Bibliografien/An_LNTwww_beteiligte_LÜT-Angehörige#Dr.-Ing._Tasn.C3.A1d_Kernetzky_.28bei_L.C3.9CT_von_2014-2022.29“) |
|||
Zeile 361: | Zeile 361: | ||
Dieses interaktive Berechnungstool wurde am [http://www.lnt.ei.tum.de/startseite Lehrstuhl für Nachrichtentechnik] der [https://www.tum.de/ Technischen Universität München] konzipiert und realisiert. | Dieses interaktive Berechnungstool wurde am [http://www.lnt.ei.tum.de/startseite Lehrstuhl für Nachrichtentechnik] der [https://www.tum.de/ Technischen Universität München] konzipiert und realisiert. | ||
*Die erste Version wurde 2010 von [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Stefan_M.C3.BCller_.28Diplomarbeit_LB_2010.29|Stefan Müller]] im Rahmen seiner Diplomarbeit (LB) mit „FlashMX–Actionscript” erstellt (Betreuer: [[Biografien_und_Bibliografien/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]]). | *Die erste Version wurde 2010 von [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Stefan_M.C3.BCller_.28Diplomarbeit_LB_2010.29|Stefan Müller]] im Rahmen seiner Diplomarbeit (LB) mit „FlashMX–Actionscript” erstellt (Betreuer: [[Biografien_und_Bibliografien/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]]). | ||
− | * 2020 wurde das Programm von [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]] im Rahmen einer Werkstudententätigkeit auf „HTML5” umgesetzt und neu gestaltet (Betreuer: [[Biografien_und_Bibliografien/ | + | * 2020 wurde das Programm von [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]] im Rahmen einer Werkstudententätigkeit auf „HTML5” umgesetzt und neu gestaltet (Betreuer: [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_LÜT-Angehörige#Dr.-Ing._Tasn.C3.A1d_Kernetzky_.28bei_L.C3.9CT_von_2014-2022.29|Tasnád Kernetzky]]). |
Aktuelle Version vom 26. Oktober 2023, 11:14 Uhr
Applet in neuem Tab öffnen Open English Version
Inhaltsverzeichnis
Programmbeschreibung
Das Applet behandelt die Eigenschaften der bekanntesten Pseudoternärcodes, nämlich:
- Bipolarcode erster Ordnung bzw. $\rm AMI$–Code (von: Alternate Mark Inversion), gekennzeichnet durch die Parameter $N_{\rm C} = 1, \ K_{\rm C} = +1$,
- Duobinärcode, $(\rm DUOB)$, Codeparameter: $N_{\rm C} = 1, \ K_{\rm C} = -1$,
- Bipolarcode zweiter Ordnung $(\rm BIP2)$, Codeparameter: $N_{\rm C} = 2, \ K_{\rm C} = +1$.
Am Eingang liegt die redundanzfreie binäre bipolare Quellensymbolfolge $\langle \hspace{0.05cm}q_\nu \hspace{0.05cm}\rangle \ \in \{+1, -1\}$ ⇒ Rechtecksignal $q(t)$ an. Verdeutlicht wird die Generierung
- der binär–vorcodierten Folge $\langle \hspace{0.05cm}b_\nu \hspace{0.05cm}\rangle \ \in \{+1, -1\}$, dargestellt durch das ebenfalls redundanzfreie binäre bipolare Rechtecksignal $b(t)$,
- der pseudoternären Codefolge $\langle \hspace{0.05cm}c_\nu \hspace{0.05cm}\rangle \ \in \{+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_\nu $, und den (Sende–) Grundimpuls $g(t)$:
- $$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g( t - \nu \cdot T)\hspace{0.05cm}.$$
Der Grundimpuls $g(t)$ – im Applet „Rechteck”, „Nyquist” und „Wurzel–Nyquist” – bestimmt nicht nur die Form des Sendesignals, sondern auch den Verlauf
- der Autokorrelationsfunktion $\rm (AKF)$ $\varphi_s (\tau)$ und
- des zugehörigen Leistungsdichtespektrums $\rm (LDS)$ ${\it \Phi}_s (f)$.
Das Applet zeigt auch, dass das gesamte Leistungsdichtespektrum ${\it \Phi}_s (f)$ aufgeteilt werden kann in den Anteil ${\it \Phi}_a (f)$, der die statistischen Bindungen der Amplitudenkoeffizienten $a_\nu$ berücksichtigt, und das Energiedichtespektrum $ {\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f) = |G(f)|^2 $, gekennzeichnet durch die Impulsform $g(t)$.
Anmerkung: Im Applet wird kein Unterschied zwischen den Codersymbolen $c_\nu \in \{+1,\ 0, -1\}$ und den Amplitudenkoeffizienten $a_\nu \in \{+1,\ 0, -1\}$ gemacht. Dabei sollte nicht vergessen werden, dass die $a_\nu$ stets Zahlenwerte sind, während für die Codersymbole auch die Notation $c_\nu \in \{\text{Plus},\ \text{Null},\ \text{Minus}\}$ zulässig wäre.
Theoretischer Hintergrund
Allgemeine Beschreibung der Pseudoternärcodes
Bei der symbolweisen Codierung wird mit jedem ankommenden Quellensymbol $q_\nu$ ein Codesymbol $c_\nu$ erzeugt, das außer vom aktuellen Eingangssymbol $q_\nu$ auch von den $N_{\rm C}$ vorangegangenen Symbolen $q_{\nu-1}$, ... , $q_{\nu-N_{\rm C}} $ abhängt. $N_{\rm C}$ bezeichnet man als die Ordnung des Codes.
Typisch für eine symbolweise Codierung ist, dass
- die Symboldauer $T$ des Codersignals (und des Sendesignals) mit der Bitdauer $T_{\rm B}$ des binären Quellensignals übereinstimmt, und
- Codierung und Decodierung nicht zu größeren Zeitverzögerungen führen, die bei Verwendung von Blockcodes unvermeidbar sind.
Besondere Bedeutung besitzen 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 $N_{\rm C} \cdot T$ und die Gewichtung mit $K_{\rm C}$ zur Verdeutlichung zweimal zeichnet.
- Der nichtlineare Vorcodierer gewinnt durch eine Modulo–2–Addition („Antivalenz”) zwischen den Symbolen $q_\nu$ und $K_{\rm C} \cdot b_{\nu-N_{\rm C}} $ die vorcodierten Symbole $b_\nu$, die ebenfalls binär sind:
- $$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}.$$
- Die Symbole $b_\nu$ sind wie die Quellensymbole $q_\nu$ statistisch voneinander unabhängig. Der Vorcodierer fügt also keine Redundanz hinzu. Er gestattet aber eine einfachere Realisierung des Decoders und verhindert eine Fehlerfortpflanzung nach einem Übertragungsfehler.
- Die eigentliche Umcodierung von binär $(M_q = 2)$ auf ternär $(M = M_c = 3)$ bewirkt das lineare Codiernetzwerk durch die herkömmliche Subtraktion
- $$c(t) ={1}/{2} \cdot \big [b(t) - K_{\rm C} \cdot b(t- N_{\rm C}\cdot T)\big] \in \{-1, \ 0, +1\}\hspace{0.05cm},$$
- das durch folgende Impulsantwort bzw. Übertragungsfunktion bezüglich dem Eingangssignal $b(t)$ und dem Ausgangssignal $c(t)$ beschrieben werden kann:
- $$h_{\rm C}(t) = {1}/{2} \cdot \big [\delta(t) - K_{\rm C} \cdot \delta(t- N_{\rm C}\cdot T)\big] \ \ \ \circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\ \ \ H_{\rm C}(f) ={1}/{2} \cdot \left [1 - K_{\rm C} \cdot {\rm e}^{- {\rm j}\hspace{0.05cm}\cdot\hspace{0.05cm} 2\pi \hspace{0.05cm}\cdot \hspace{0.05cm}N_{\rm C}\hspace{0.05cm}\cdot \hspace{0.05cm}T}\right]\hspace{0.05cm}. $$
- Die relative Coderedundanz ist für alle Pseudoternärcodes gleich. Setzt man in die allgemeine Definitionsgleichung $M_q=2$, $M_c=3$ und $T_c =T_q$ ein, so erhält man
- $$r_c = 1- \frac{R_q}{R_c} = 1- \frac{T_c}{T_q} \cdot \frac{{\rm log_2}\hspace{0.05cm} (M_q)}{{\rm log_2} \hspace{0.05cm}(M_c)} = 1- \frac{T_c}{T_q \cdot {\rm log_2} \hspace{0.05cm}(M_c)}\hspace{0.5cm}\Rightarrow \hspace{0.5cm} r_c = 1 -1/\log_2\hspace{0.05cm}(3) \approx 36.9 \%\hspace{0.05cm}.$$
Das $\text{Sendesignal aller Pseudoternärcodes}$ wird im Folgenden stets wie folgt dargestellt:
- $$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 $a_\nu$ wider. In allen Fällen gilt $a_\nu \in \{-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 $g_{\rm R}(t)$:
- der Nyquistimpuls ⇒ Impulsantwort des Cosinus–Rolloff–Tiefpasses mit Rolloff–Faktor $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),$$
- der Wurzel–Nyquistimpuls ⇒ Impulsantwort des Wurzel–Cosinus–Rolloff–Tiefpasses mit Rolloff–Faktor $r$:
- $$g_{\sqrt{\rm Nyq} }(t)\ \ \ \circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\ \ \ G_{\sqrt{\rm Nyq} }(f)={\rm const.} \cdot \sqrt{G_{\rm Nyq}(f)} .$$
Eigenschaften des AMI-Codes
Die Pseudoternärcodes unterscheiden sich in den Parametern $N_{\rm C}$ und $K_{\rm C}$. Der bekannteste Vertreter ist der Bipolarcode erster Ordnung mit den Codeparametern $N_{\rm C} = 1$ und $K_{\rm C} = 1$, der auch unter der Bezeichnung AMI–Code (von: Alternate Mark Inversion) bekannt ist.
Dieser wird zum Beispiel bei ISDN (Integrated Services Digital Networks) auf der so genannten $S_0$–Schnittstelle eingesetzt.
Die Grafik zeigt oben das binäre Quellensignal $q(t)$. Im zweiten und dritten Diagramm sind dargestellt:
- das ebenfalls binäre Signal $b(t)$ nach dem Vorcodierer, und
- das Codersignal $c(t) = s(t)$ des AMI–Codes.
Man erkennt das einfache AMI–Codierprinzip:
- Jeder Binärwert „-1” von $q(t)$ ⇒ Symbol $\rm L$ wird durch den ternären Koeffizienten $a_\nu = 0$ codiert.
- Der Binärwert „+1” von $q(t)$ ⇒ Symbol $\rm H$ wird alternierend mit $a_\nu = +1$ und $a_\nu = -1$ dargestellt.
Damit wird sichergestellt, dass im AMI–codierten Signal keine langen „+1”– 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_\nu$) als auch die Sendeimpulsform $g(t)$:
- $$s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g ( t - \nu \cdot T)\hspace{0.05cm}.$$
- Ist $s(t)$ die Musterfunktion eines stationären und ergodischen Zufallsprozesses, so gilt für die Autokorrelationsfunktion $\rm (AKF)$:
- $$\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}.$$
- Diese Gleichung beschreibt die Faltung der diskreten AKF $\varphi_a(\lambda) = {\rm E}\big [ a_\nu \cdot a_{\nu + \lambda}\big]$ der Amplitudenkoeffizienten mit der Energie–AKF des Grundimpulses:
- $$\varphi^{^{\bullet} }_{g}(\tau) = \int_{-\infty}^{+\infty} g ( t ) \cdot g ( t + \tau)\,{\rm d} t \hspace{0.05cm}.$$
- Der Punkt soll darauf hinweisen, dass $\varphi^{^{\bullet} }_{g}(\tau)$ die Einheit einer Energie besitzt, während $\varphi_s(\tau)$ eine Leistung angibt und $\varphi_a(\lambda)$ dimensionslos ist.
Zur LDS-Berechnung eines Digitalsignals
Die Entsprechungsgröße zur AKF ist im Frequenzbereich das Leistungsdichtespektrum $\rm (LDS)$ ${\it \Phi}_s(f)$, das mit $\varphi_s(\tau)$ über das Fourierintegral fest verknüpft ist:
- $$\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}.$$
- Das Leistungsdichtespektrum ${\it \Phi}_s(f)$ kann unter Berücksichtigung der Dimensionsbereinigung $(1/T)$ als Produkt zweier Funktionen dargestellt werden:
- $${\it \Phi}_s(f) = {\it \Phi}_a(f) \cdot {1}/{T} \cdot |G_s(f)|^2 \hspace{0.05cm}.$$
- Der erste Term ${\it \Phi}_a(f)$ ist dimensionslos und beschreibt die spektrale Formung des Sendesignals durch die statistischen Bindungen der Quelle:
- $$\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)$ berücksichtigt die spektrale Formung durch $g(t)$. Je schmaler dieser ist, desto breiter ist $\vert G(f) \vert^2$ und um so größer ist damit der Bandbreitenbedarf:
- $$\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}.$$
- Das Energiedichtespektrum ${\it \Phi^{^{\hspace{0.08cm}\bullet}}_{g}}(f)$ hat die Einheit $\rm Ws/Hz$ und das Leistungsdichtespektrum ${\it \Phi_{s}}(f)$ nach der Division durch den Symbolabstand $T$ die Einheit $\rm W/Hz$.
Leistungsdichtespektrum des AMI-Codes
Der Frequenzgang des linearen Codiernetzwerks eines Pseudoternärcodes lautet allgemein:
- $$H_{\rm C}(f) = {1}/{2} \cdot \big [1 - K_{\rm C} \cdot {\rm e}^{-{\rm j}\hspace{0.03cm}\cdot \hspace{0.03cm} 2\pi\hspace{0.03cm}\cdot \hspace{0.03cm}f \hspace{0.03cm}\cdot \hspace{0.03cm} N_{\rm C}\hspace{0.03cm}\cdot \hspace{0.03cm}T} \big] ={1}/{2} \cdot \big [1 - K \cdot {\rm e}^{-{\rm j}\hspace{0.03cm}\cdot \hspace{0.03cm} \alpha} \big ]\hspace{0.05cm}.$$
Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten $(K$ und $\alpha$ sind Abkürzungen entsprechend obiger Gleichung$)$:
- $$ {\it \Phi}_a(f) = | H_{\rm C}(f)|^2 = \frac{\big [1 - K \cos (\alpha) + {\rm j}\cdot K \sin (\alpha) \big ] \big [1 - K \cos (\alpha) - {\rm j}\cdot K \sin (\alpha) \big ] }{4} = \text{...} = {1}/{4} \cdot \big [2 - 2 \cdot K \cdot \cos (\alpha) \big ] $$
- $$ \Rightarrow \hspace{0.3cm}{\it \Phi}_a(f) = | H_{\rm C}(f)|^2 = {1}/{2} \cdot \big [1 - K_{\rm C} \cdot \cos (2\pi f N_{\rm C} T)\big ] \hspace{0.4cm}\bullet\!\!-\!\!\!-\!\!\!-\!\!\circ \hspace{0.4cm} \varphi_a(\lambda \cdot T)\hspace{0.05cm}.$$
Insbesondere erhält man für das Leistungsdichtespektrum (LDS) des AMI–Codes $(N_{\rm C} = K_{\rm C} = 1)$:
- $${\it \Phi}_a(f) = {1}/{2} \cdot \big [1 - \cos (2\pi f T)\big ] = \sin^2 (\pi f T)\hspace{0.05cm}.$$
Die Grafik zeigt
- das LDS ${\it \Phi}_a(f)$ der Amplitudenkoeffizienten (rote Kurve), und
- das LDS ${\it \Phi}_s(f)$ des gesamten Sendesignals (blau), gültig für NRZ–Rechteckimpulse.
Man erkennt aus dieser Darstellung
- die Gleichsignalfreiheit des AMI–Codes, da ${\it \Phi}_a(f = 0) = {\it \Phi}_s(f = 0) = 0$ ist,
- die Leistung $P_{\rm S} = s_0^2/2$ des AMI–codierten Sendesignals (Integral über ${\it \Phi}_s(f)$ von $- \infty$ bis $+\infty$).
Hinweise:
- Das LDS von HDB3– und B6ZS–Code weicht von dem des AMI–Codes nur unwesentlich ab.
- Die hier behandelte Thematik können Sie sich mit dem interaktiven Applet Signale, AKF und LDS der Pseudoternärcodes verdeutlichen.
Eigenschaften des Duobinärcodes
Der Duobinärcode ist durch die Codeparameter $N_{\rm C} = 1$ und $K_{\rm C} = -1$ festgelegt. Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten bzw. für das LDS des Sendesignals:
- $${\it \Phi}_a(f) ={1}/{2} \cdot \big [1 + \cos (2\pi f T)\big ] = \cos^2 (\pi f T)\hspace{0.05cm},$$
- $$ {\it \Phi}_s(f) = s_0^2 \cdot T \cdot \cos^2 (\pi f T)\cdot {\rm si}^2 (\pi f T)= s_0^2 \cdot T \cdot {\rm si}^2 (2 \pi f T) \hspace{0.05cm}.$$
Die Grafik zeigt das Leistungsdichtespektrum
- der Amplitudenkoeffizienten ⇒ ${\it \Phi}_a(f)$ als rote Kurve,
- des gesamten Sendsignals ⇒ ${\it \Phi}_s(f)$ als blaue Kurve.
In der zweiten Grafik sind die Signale $q(t)$, $b(t)$ und $c(t) = s(t)$ skizziert. Wir verweisen hier wieder auf das Applet Signale, AKF und LDS der Pseudoternärcodes, das auch die Eigenschaften des Duobinärcodes verdeutlicht.
Aus diesen Darstellungen geht hervor:
- Beim Duobinärcode können beliebig viele Symbole mit gleicher Polarität („+1” bzw. „–1”) direkt aufeinanderfolgen.
- Deshalb gilt ${\it \Phi}_a(f = 0)=1$ und ${\it \Phi}_s(f = 0) = 1/2 \cdot s_0^2 \cdot T$.
- Dagegen tritt beim Duobinärcode die alternierende Folge „ ... , +1, –1, +1, –1, +1, ... ” nicht auf, die hinsichtlich Impulsinterferenzen besonders störend ist.
- Deshalb gilt beim Duobinärcode: ${\it \Phi}_s(f = 1/(2T) = 0$.
- Das Leistungsdichtespektrum ${\it \Phi}_s(f)$ des pseudoternären Duobinärcodes ist identisch mit dem LDS bei redundanzfreier Binärcodierung mit halber Rate $($Symboldauer $2T)$.
Versuchsdurchführung
- Wählen Sie zunächst die Nummer (1, 2, ... ) der zu bearbeitenden Aufgabe.
- Eine Aufgabenbeschreibung wird angezeigt. Die Parameterwerte sind angepasst.
- Lösung nach Drücken von „Musterlösung”.
- Die Nummer 0 entspricht einem „Reset”: Einstellung wie beim Programmstart.
(1) Betrachten und interpretieren Sie die binäre Vorcodierung beim AMI–Code anhand der Quellensymbolfolge $\rm C$ unter der Annahme $b_0 = +1$.
- Die Modulo–2–Addition kann auch als Antivalenz aufgefasst werden. Es gilt $b_{\nu} = +1$, falls sich $q_{\nu}$ und $b_{\nu – 1}$ unterscheiden, andernfalls ist $b_{\nu} = -1$ zu setzen:
- $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.$
- Mit der Startbedingung $b_0 = -1$ ergibt sich die negierte Folge: $b_4 = b_6 =-1$. Alle anderen $b_\nu = +1$.
(2) Es gelte $b_0 = +1$. Betrachten Sie die AMI–Coderfolge $\langle c_\nu \rangle$ der Quellensymbolfolge $\rm C$ und geben Sie deren Ampltitudenkoeffizienten $a_\nu$ an.
- Es gilt: $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$.
- Im Gegensatz zur Vorcodierung ist hier die herkömmliche Addition (Subtraktion) anzuwenden und nicht die Modulo–2– Addition.
(3) Betrachten Sie nun die AMI–Codierung für mehrere Zufallsfolgen. Welche Regeln lassen sich aus diesen Versuchen für die Ampltitudenkoeffizienten $a_\nu$ ableiten?
- Jeder Binärwert „–1” von $q(t)$ ⇒ Symbol $\rm L$ wird durch den ternären Koeffizienten $a_\nu = 0$ codiert. Es können beliebig viele $a_\nu = 0$ aufeinanderfolgen.
- Der Binärwert „+1” von $q(t)$ ⇒ Symbol $\rm H$ wird alternierend mit $a_\nu = +1$ und $a_\nu = -1$ dargestellt, beginnend mit $a_\nu = -1$, falls $b_0 = +1$.
- Aus der Quellensymbolfolge $\rm A$ ⇒ $\langle \hspace{0.05cm}q_\nu \equiv +1 \hspace{0.05cm}\rangle$ wird die Codesymbolfolge $+1, -1, +1, -1, \text{...}$ . Lange Folgen $\langle \hspace{0.05cm}a_\nu \equiv +1 \hspace{0.05cm}\rangle$ bzw. $\langle \hspace{0.05cm}a_\nu \equiv -1 \hspace{0.05cm}\rangle$ sind ausgeschossen.
(4) Weiterhin AMI–Codierung. Interpretieren Sie die Autokorrelationsfunktion $\varphi_a(\lambda)$ der Amplitudenkoeffizienten und das Leistungsdichtespektrum $\Phi_a(f)$.
- Die diskrete AKF $\varphi_a(\lambda)$ der Amplitudenkoeffizienten ist nur für ganzzahlige $\lambda$–Werte definiert. Beim AMI–Code $(N_{\rm C}=1)$ sind für $|\lambda| > 1$ alle $\varphi_a(\lambda)= 0$.
- $\varphi_a(\lambda = 0)$ ist gleich dem quadratischen Mittelwert der Amplitudenkoeffizienten ⇒ $\varphi_a(\lambda = 0) = {\rm Pr}(a_\nu = +1) \cdot (+1)^2 + {\rm Pr}(a_\nu = -1) \cdot (-1)^2 = 0.5.$
- Zum Erwartungswert ${\rm E}\big [a_\nu \cdot a_{\nu+1}\big]$ tragen nur die Kombinationen $(+1, -1)$ und $(-1, +1)$ bei. Ergebnis: $\varphi_a(\lambda = \pm 1)={\rm E}\big [a_\nu \cdot a_{\nu+1}\big]=-0.25.$
- Das Leistungsdichtespektrum ${\it \Phi}_a(f)$ ist die Fouriertransformierte der diskreten AKF $\varphi_a(\lambda)$. Das Ergebnis ist ${\it \Phi}_a(f) = {1}/{2} \cdot \big [1 - \cos (2\pi f T)\big ] = \sin^2 (\pi f T)\hspace{0.05cm}.$
- Aus der Gleichsignalfreiheit ⇒ ${\it \Phi}_a(f = 0) = 0$ folgt: Der AMI–Code ist insbesondere für Kanäle interessant, über die kein Gleichanteil übertragen werden kann.
(5) Wir betrachten weiter die AMI–Codierung und den Rechteckimpuls. Interpretieren Sie die AKF $\varphi_s(\tau)$ des Sendesignals und das LDS ${\it \Phi}_s(f)$.
- $\varphi_s(\tau)$ ergibt sich aus der Faltung der diskreten AKF $\varphi_a(\lambda)$ mit $\varphi^{^{\hspace{0.05cm}\bullet}}_{g}(\tau)$. Beim Rechteckimpuls $($Dauer $T)$ ist die Energie–AKF $\varphi^{^{\hspace{0.05cm}\bullet}}_{g}(\tau)$ ein Dreieck der Dauer $2T$.
- Es gilt $\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.$ Zwischen diesen diskreten Werten verläuft $\varphi_{s}(\tau)$ stets linear.
- Das LDS ${\it \Phi}_s(f)$ ergibt sich aus ${\it \Phi}_a(f) = \sin^2(\pi f T)$ durch Multiplikation mit ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f) = {\rm si}^2(\pi f T).$ An den Nullstellen von ${\it \Phi}_a(f)$ ändert sich dadurch nichts.
(6) Was ändert sich bezüglich $s(t)$, $\varphi_s(\tau)$ und ${\it \Phi}_s(f)$ mit dem Nyquistimpuls? Variieren Sie hierbei den Rolloff–Faktor im Bereich $0 \le r \le 1$.
- Ein einzelner Nyquistimpuls kann mit der Quellensymbolfolge $\rm B$ im $s(t)$–Bereich dargestellt werden. Man erkennt die äquidistanten Nulldurchgänge im Abstand $T$.
- Auch bei jeder AMI–Zufallsfolge entsprechen die Signalwerte $s(t=\nu \cdot T)$ für jedes $r$ genau ihren Solllagen. Außerhalb dieser Punkte gibt es Abweichungen.
- Im Sonderfall $r=0$ ist das Energie–LDS ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)$ im Bereich $|f|<1/2T$ konstant. Dementsprechend hat die Energie–AKF ${\it \varphi}^{^{\hspace{0.08cm}\bullet}}_{g}(\tau)$ einen $\rm si$–förmigen Verlauf.
- Bei größerem $r$ sind dagegen die Nullstellen von ${\it \varphi}^{^{\hspace{0.08cm}\bullet}}_{g}(\tau)$ nicht mehr äqidistant, da zwar $G(f)$ das erste Nyquistkriterium erfüllt, aber nicht ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)= [G(f)]^2$.
- Der wesentliche Vorteil des Nyquistimpulses ist die deutlich kleinere Bandbreite. Hier muss nur der Frequenzbereich $|f| < (1+r)/(2T)$ bereitgestellt werden.
(7) Wiederholen Sie den letzten Versuch mit dem Wurzel–Nyquistimpuls anstelle des Nyquistimpulses und interpretieren Sie die Ergebnisse.
- Im Sonderfall $r=0$ sind die Ergebnisse wie in (6). ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)$ ist im Bereich $|f|<1/2T$ konstant, außerhalb Null; ${\it \varphi}^{^{\hspace{0.08cm}\bullet}}_{g}(\tau)$ hat einen $\rm si$–förmigen Verlauf.
- Auch bei größerem $r$ sind die Nullstellen von ${\it \varphi}^{^{\hspace{0.08cm}\bullet}}_{g}(\tau)$ äqidistant (aber nicht $\rm si$–förmig) ⇒ ${\it \Phi}^{^{\hspace{0.08cm}\bullet}}_{g}(f)= [G(f)]^2$ erfüllt das erste Nyquistkriterium.
- Dagegen erfüllt $G(f)$ das erste Nyquistkriterium nicht $($außer für $r=0)$. Es kommt vielmehr bereits beim Sendesignal $s(t)$ zu Impulsinterferenzen.
- Dies ist aber auch kein grundlegendes Problem. Durch ein formgleiches Empfangsfilter wie $G(f)$ werden Impulsinterferenzen vor dem Entscheider vermieden.
(8) Betrachten und kontrollieren Sie die Vorcodierung $(b_\nu)$ und die Amplitudenoeffizienten $a_\nu$ beim Duobinärcode $($Quellensymbolfolge $\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$.
- Mit der Startbedingung $b_0 = -1$ ergibt sich wieder die negierte Folge: $a_1= -1$, $a_2= a_3= 0$, $a_4= \text{...}= a_7=-1$, $a_8=a_9= \text{...}= 0$.
(9) Betrachten Sie nun die Duobinärodierung für mehrere Zufallsfolgen. Welche Regeln lassen sich aus diesen Versuchen für die Ampltitudenkoeffizienten $a_\nu$ ableiten?
- Die diskreten AKF–Werte sind $\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}.$
- Im Gegensatz zur AMI–Codierung sind hier längere $+1$–Folgen und $-1$–Folgen möglich ⇒ der Duobinärcode ist nicht gleichsignalfrei: ${\it \Phi}_a(f= 0) = 1 \ (\ne 0).$
- Ebenso wie beim AMI–Code sind auch hier längere Nullfolgen möglich, was wieder zu Synchronisationsproblemen führen kann.
- Ausgeschlossen sind jedoch die Kombinationen $a_\nu = +1, \ a_{\nu+1} = -1$ und $a_\nu = -1, \ a_{\nu+1} = +1$, erkennbar am LDS–Wert ${\it \Phi}_a(f= 1/(2T)) = 0.$
- Solche direkten Übergänge $a_\nu = +1$ ⇒ $a_{\nu+1} = -1$ bzw. $a_\nu = -1$ ⇒ $a_{\nu+1} = +1$ führen zu großen Impulsinterferenzen und damit zu einer höheren Fehlerrate.
(10) Vergleichen Sie die Codierergebnisse von Bipolarcode zweiter Ordnung $\rm (BIP2)$ und AMI–Code für verschiedene Quellensymbolfolgen.
- Bei einem einzelnen $+1$–Impuls ⇒ Quellensymbolfolge $\rm B$ führen beide Codes zum gleichen Codersignal. Es ergibt sich jeweils ebenfalls ein Einzelimpuls.
- Bei der Dauer–Eins–Folge $\rm A$ ergibt sich nun die Coderfolge $\langle c_\nu \rangle = \langle -1, -1, +1, +1, -1, -1, +1, +1, \text{...}\rangle $ statt $\langle c_\nu \rangle = \langle -1, +1, -1, +1, -1, +1, -1, +1, \text{...}\rangle $.
- Der einfache Decodieralgorithmus des AMI–Codes $($die ternäre $0$ wird zur binären $-1$, die ternären $\pm 1$ zur binären $+1)$ lässt sich bei $\rm BIP2$ nicht anwenden.
(11) Betrachten und interpretieren Sie die verschiedenen AKF– und LDS–Grafiken des $\rm BIP2$ im Vergleich zum AMI–Code.
- Bei $\rm AMI$ ist $\varphi_a(\lambda = \pm 1) = -0.25, \ \varphi_a(\lambda = \pm 2) = 0$. Für $\rm BIP2$ gilt $\varphi_a(\lambda = \pm 1) = 0, \ \varphi_a(\lambda = \pm 2) = -0.25$. In beiden Fällen ist $\varphi_a(\lambda = 0) = 0.5$.
- Aus dem $\rm AMI$–LDS ${\it \Phi}_a(f) = \sin^2 (\pi \cdot f T)$ folgt das $\rm BIP2$–LDS ${\it \Phi}_a(f) = \sin^2 (2\pi \cdot f T)$ durch Stauchung hinsichtlich $f$–Achse.
- Nullstelle bei $f=0$: Es folgen höchstens zwei $+1$ direkt aufeinander, und auch maximal nur zwei $-1$. Beim AMI–Code treten $+1$ und $-1$ nur isoliert auf.
- Nächste Nullstelle bei $f=1/(2T)$: Die unendlich lange $(+1, -1)$–Folge ist bei diesem Code ebenso wie beim Duobinärcode ausgeschlossen.
- Betrachten und interpretieren Sie auch die Funktionen $\varphi_s(\tau)$ und ${\it \Phi}_s(f)$ für die Impulse „Rechteck”, „Nyquist” und „Wurzel–Nyquist”.
Zur Handhabung des Applets
(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 $3 \cdot 4 = 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 $\rm 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
Über die Autoren
Dieses interaktive Berechnungstool wurde am Lehrstuhl für Nachrichtentechnik der Technischen Universität München konzipiert und realisiert.
- Die erste Version wurde 2010 von Stefan Müller im Rahmen seiner Diplomarbeit (LB) mit „FlashMX–Actionscript” erstellt (Betreuer: Günter Söder).
- 2020 wurde das Programm von Carolin Mirschina im Rahmen einer Werkstudententätigkeit auf „HTML5” umgesetzt und neu gestaltet (Betreuer: Tasnád Kernetzky).
Die Umsetzung dieses Applets auf HTML 5 wurde durch die Exzellenzinitiative der TU München finanziell unterstützt. Wir bedanken uns.