Aufgabe 2.7: AMI-Code
Die Grafik zeigt das Blockschaltbild zur AMI–Codierung, wobei von den binären bipolaren Amplitudenkoeffizienten q_{\nu} ∈ \{–1, +1\} am Eingang ausgegangen wird. Diese Umcodierung erfolgt zweistufig:
- Im ersten Teil des Blockschaltbildes wird bei jedem Taktschritt ein binär–vorcodiertes Symbol b_{\nu} aus der Modulo–2–Addition von q_{\nu} und b_{\nu -1} erzeugt. Es gilt b_{\nu} ∈ \{–1, +1\}.
- Danach wird durch eine herkömmliche Subtraktion der aktuelle Amplitudenkoeffizient des ternären Sendesignals s(t) bestimmt. Dabei gilt:
- a_\nu = {1}/{2} \cdot \left [ b_\nu - b_{\nu-1} \right ] \hspace{0.05cm}.
Aufgrund der AMI–Codierung wird sichergestellt, dass keine langen „+1”– bzw. „–1”–Sequenzen entstehen. Um auch lange Nullfolgen zu vermeiden, wurden auch modifizierte AMI–Codes entwickelt:
- Beim HDB3–Code werden je vier aufeinanderfolgende Nullen durch eine gezielte Verletzung der AMI–Codierregel markiert.
- Beim B6ZS–Code werden sechs aufeinanderfolgende Nullen durch eine gezielte Verletzung der AMI–Codierregel markiert.
Das Leistungsdichtespektrum {\it \Phi}_{a}(f) der Amplitudenkoeffizienten soll aus den diskreten AKF–Werten \varphi_{a}(\lambda) = {\E}\big[a_{\nu} \cdot a_{\nu + \lambda}\big] ermittelt werden. Die Fouriertransformation lautet in diskreter Darstellung:
- {\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 T} \hspace{0.05cm}.
Hinweise:
- Die Aufgabe gehört zum Kapitel Symbolweise Codierung mit Pseudoternärcodes.
- Sie können die Ergebnisse mit dem interaktiven Applet Signale, AKF und LDS der Pseudoternärcodes überprüfen.
Fragebogen
Musterlösung
- Es gilt b_{\nu} = +1, falls sich q_{\nu} und b_{\nu – 1} unterscheiden, andernfalls ist b_{\nu} = -1 zu setzen.
- Mit dem Startwert b_{0} = -1 erhält man:
- b_1\hspace{0.15cm}\underline { = +1}, \hspace{0.2cm} b_2 = +1, \hspace{0.2cm}b_3 = -1, \hspace{0.2cm}b_4 = +1, \hspace{0.2cm}b_5 = +1, \hspace{0.2cm}b_6 = -1\hspace{0.05cm},
- b_7 = +1, \hspace{0.2cm} b_8 = +1, \hspace{0.2cm}b_9 = +1, \hspace{0.2cm}b_{10} = +1, \hspace{0.2cm}b_{11} \hspace{0.15cm}\underline {= +1}, \hspace{0.2cm}b_{12} \hspace{0.15cm}\underline {= -1}\hspace{0.05cm}.
(2) Die AMI–Codierung liefert die folgenden Amplitudenkoeffizienten:
- a_1\hspace{0.15cm}\underline { = +1}, \hspace{0.2cm} a_2 = 0, \hspace{0.2cm}a_3 = -1, \hspace{0.2cm}a_4 = +1, \hspace{0.2cm}a_5 = 0, \hspace{0.2cm}a_6 = -1\hspace{0.05cm},
- a_7 = +1, \hspace{0.2cm} a_8 = 0, \hspace{0.2cm}a_9 = 0, \hspace{0.2cm}a_{10} = 0, \hspace{0.2cm}a_{11}\hspace{0.15cm}\underline { = 0}, \hspace{0.2cm}a_{12} \hspace{0.15cm}\underline {= -1}\hspace{0.05cm}.
Zu diesem Ergebnis kommt man über die Gleichung a_{\nu} = (b_{\nu} - b_{\nu –1})/2 oder durch direkte Anwendung der AMI–Codierregel:
- Ein Quellensymbol q_{\nu} = -1 führt stets zu a_{\nu} = 0.
- Die Quellensymbole q_{\nu} = +1 führen alternierend zu a_{\nu} = +1 und a_{\nu} = -1.
(3) Richtig ist der Lösungsvorschlag 1:
- Der AMI–Code liefert im Bereich zwischen \nu = 8 und \nu = 11 vier aufeinanderfolgende Nullen.
- Beim HDB3–Code würden diese vier Symbole mit „+ 0 0 +” markiert. Dadurch wird zur Kenntlichmachung die AMI–Regel bewusst verletzt.
- Dagegen ersetzt der B6ZS–Code nur Nullfolgen über sechs Symbole.
(4) Unter der Annahme gleichwahrscheinlicher Binärwerte ±1 erhält man {\Pr}(a_{\nu} = 0) = {\Pr}(q_{\nu} = -1)\hspace{0.15cm}\underline{ = 1/2} und aus Symmetriegründen
- {\Pr}(a_{\nu} = +1) = {\Pr}(a_{\nu} = -1) \hspace{0.15cm}\underline{ = 1/4}.
(5) Mit den unter (4) berechneten Wahrscheinlichkeiten erhält man:
- {\rm E}\big[a_\nu \big] = \ {1}/{4} \cdot (+1) +{1}/{2} \cdot 0+ {1}/{4} \cdot (-1)\hspace{0.15cm}\underline {= 0}\hspace{0.05cm},
- {\rm E}\big[a_\nu^2 \big] = \ {1}/{4} \cdot (+1)^2 +{1}/{2} \cdot 0^2 + {1}/{4} \cdot (-1)^2 \hspace{0.15cm}\underline {= 0.5} \hspace{0.05cm}.
(6) Der AKF–Wert bei \lambda = 0 ist gleich dem quadratischen Mittelwert der Amplitudenkoeffizienten:
- \varphi_a(\lambda = 0) = {\rm E}[a_\nu^2] \hspace{0.15cm}\underline {= 0.5} \hspace{0.05cm}.
- Da die Ordnung des AMI–Codes N = 1 ist, gilt für \lambda > 1: \varphi_a(\lambda > 1) = {\rm E}[a_\nu^2] \hspace{0.15cm}\underline {= 0} \hspace{0.05cm}.
- Der AKF–Wert \varphi_{a}(\lambda = 1) muss durch Mittelung bestimmt werden: \varphi_a(\lambda = 1) = {\rm E}[a_\nu \cdot a_{\nu+1} \cdot {\rm Pr}(a_\nu \cap a_{\nu+1})] \hspace{0.05cm}.
- Von den neun Kombinationsmöglichkeiten für a_{\nu} \cdot a_{\nu +1} liefern nur vier einen von Null verschiedenen Wert. In den anderen Fällen ist entweder a_{\nu} = 0 oder a_{\nu +1} = 0.
Da beim AMI–Code aber auch
- {\rm Pr}[(a_\nu = +1) \cap (a_{\nu+1}= +1)] = \ 0 \hspace{0.05cm},
- {\rm Pr}[(a_\nu = -1) \cap (a_{\nu+1}= -1)] = \ 0
zutrifft, erhält man mit
- {\rm Pr}[(a_\nu = +1) \cap (a_{\nu+1}= -1)] = \ {\rm Pr}(a_\nu = +1)\cdot {\rm Pr}(a_{\nu+1} = -1 | a_\nu = +1) = {1}/{4}\cdot{1}/{2} ={1}/{8} \hspace{0.05cm},
- {\rm Pr}[(a_\nu = -1) \cap (a_{\nu+1}= +1)] = \ {\rm Pr}(a_\nu = -1)\cdot {\rm Pr}(a_{\nu+1} = +1 | a_\nu = -1) = {1}/{4}\cdot {1}/{2} = {1}/{8}
als Endergebnis (da die AKF stets eine gerade Funktion ist):
- \varphi_{a}(\lambda = +1) = \varphi_{a}(\lambda = –1) = –0.25.
- Hierbei ist berücksichtigt, dass nach a_{\nu} = +1 mit gleicher Wahrscheinlichkeit a_{\nu +1} = +1 und a_{\nu +1} = -1 folgt.
- Damit lautet das Ergebnis:
- \varphi_a(\lambda = 0)\hspace{0.15cm}\underline {= 0.5} \hspace{0.05cm},
- \varphi_a(\lambda = 1)\hspace{0.15cm}\underline {= -0.25} \hspace{0.05cm},
- \varphi_a(\lambda = 2)\hspace{0.15cm}\underline {= 0}.
Die Grafik zeigt
- die diskrete AKF \varphi_{a}(\lambda) der Amplitudenkoeffizienten und
- die AKF \varphi_{s}(\tau) des Sendesignals unter der Voraussetzung von NRZ–Rechteckimpulsen und AMI-Codierung.
Dabei ist die blau gezeichnete AKF \varphi_{s}(\tau) das Ergebnis der (diskreten) Faltung zwischen der diskreten AKF \varphi_{a}(\lambda) – rot gezeichnet – und der dreieckförmigen Energie–AKF des Sendegrundimpulses.
(7) Aus der angegebenen Gleichung erhält man unter Berücksichtigung der in (6) berechneten diskreten AKF-Werte
- \varphi_{a}(\lambda = 0) = 1/2,
- \varphi_{a}(|\lambda| = 1) = -1/4,
- \varphi_{a}(|\lambda| > 1) = 0
das folgende Ergebnis:
- {\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 T} = \varphi_a(\lambda = 0) + 2 \cdot \varphi_a(\lambda = 1 )\cdot\cos ( 2 \pi f \hspace{0.02cm} \lambda T) = \ {1}/{2} \cdot \left [ 1 - \cos ( 2 \pi f \hspace{0.02cm} T)\right ] = \sin^2 ( \pi f \hspace{0.02cm} T) \hspace{0.05cm}.
Insbesondere gilt:
- {\it \Phi}_a(f = 0) \hspace{0.15cm}\underline {= 0},
- {\it \Phi}_a(f = {1}/({2T})) = \sin^2 ({\pi}/{2})\hspace{0.15cm}\underline {= 1} \hspace{0.05cm}.