Digitalsignalübertragung/Symbolweise Codierung mit Pseudoternärcodes: Unterschied zwischen den Versionen
Ayush (Diskussion | Beiträge) |
Ayush (Diskussion | Beiträge) |
||
Zeile 140: | Zeile 140: | ||
(2 \pi f T) \hspace{0.05cm}.</math> | (2 \pi f T) \hspace{0.05cm}.</math> | ||
− | [[Datei:P_ID1348__Dig_T_2_4_S3b_v1.png|Leistungsdichtespektrum des Duobinärcodes|right|class=fit]] | + | <br>[[Datei:P_ID1348__Dig_T_2_4_S3b_v1.png|Leistungsdichtespektrum des Duobinärcodes|right|class=fit]]<br> |
Die Grafik zeigt das Leistungsdichtespektrum | Die Grafik zeigt das Leistungsdichtespektrum | ||
Zeile 148: | Zeile 148: | ||
In der Grafik am Seitenende sind die Signale <i>q</i>(<i>t</i>), <i>b</i>(<i>t</i>) und <i>c</i>(<i>t</i>) = <i>s</i>(<i>t</i>) skizziert. | In der Grafik am Seitenende sind die Signale <i>q</i>(<i>t</i>), <i>b</i>(<i>t</i>) und <i>c</i>(<i>t</i>) = <i>s</i>(<i>t</i>) skizziert. | ||
− | <br><br>Aus beiden Darstellungen geht hervor: | + | <br><br><br>Aus beiden Darstellungen geht hervor: |
*Beim Duobinärcode können beliebig viele Symbole mit gleicher Polarität („+1” bzw. „–1”) direkt aufeinanderfolgen. Deshalb gilt <i>Φ<sub>a</sub></i>(<i>f</i> = 0) = 1 und <i>Φ<sub>s</sub></i>(<i>f</i> = 0) = <i>s</i><sub>0</sub><sup>2</sup> · <i>T</i>.<br> | *Beim Duobinärcode können beliebig viele Symbole mit gleicher Polarität („+1” bzw. „–1”) direkt aufeinanderfolgen. Deshalb gilt <i>Φ<sub>a</sub></i>(<i>f</i> = 0) = 1 und <i>Φ<sub>s</sub></i>(<i>f</i> = 0) = <i>s</i><sub>0</sub><sup>2</sup> · <i>T</i>.<br> | ||
*Dagegen tritt hier die alternierende Folge ... , +1, –1, +1, –1, +1, ... nicht auf, die hinsichtlich Impulsinterferenzen besonders störend ist. Beim Duobinärcode gilt deshalb <i>Φ<sub>s</sub></i>(<i>f</i> = 1/(2<i>T</i>) = 0.<br> | *Dagegen tritt hier die alternierende Folge ... , +1, –1, +1, –1, +1, ... nicht auf, die hinsichtlich Impulsinterferenzen besonders störend ist. Beim Duobinärcode gilt deshalb <i>Φ<sub>s</sub></i>(<i>f</i> = 1/(2<i>T</i>) = 0.<br> |
Version vom 21. Dezember 2016, 17:16 Uhr
Inhaltsverzeichnis
Allgemeine Beschreibung von Partial Response Codes (1)
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 abhängt. NC 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 TB des binären Quellensignals übereinstimmt,
- Codierung und Decodierung nicht zu größeren Zeitverzögerungen führen, die bei Verwendung von Blockcodes unvermeidbar sind.
Besondere Bedeutung besitzen die Pseudomehrstufencodes – besser bekannt unter der englischen Bezeichnung Partial Response Codes.
Im Folgenden werden ausschließlich die Pseudoternärcodes mit der 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.
Die Bildbeschreibung folgt auf der nächsten Seite.
Allgemeine Beschreibung von Partial Response Codes (2)
Die Beschreibung des Partial Response Coders wird fortgesetzt:
Man erkennt aus den beiden Darstellungen (Blockschaltbild links, Ersatzschaltbild rechts):
- Der Pseudoternärcoder kann in den nichtlinearen Vorcodierer und ein lineares Codiernetzwerk aufgespalten werden, wenn man die Verzögerung um NC · T und die Gewichtung mit KC zur Verdeutlichung zweimal zeichnet.
- Der nichtlineare Vorcodierer gewinnt durch eine Modulo–2–Addition (Antivalenz) zwischen den Symbolen qν und KC · bν–Nc die vorcodierten Symbole bν, 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ν sind wie die Quellensymbole qν statistisch voneinander unabhängig. Durch den Vorcodierer wird also keine Redundanz hinzugefügt. Er gestattet aber eine einfache Realisierung des Decoders und verhindert eine Fehlerfortpflanzung nach einem Übertragungsfehler.
- Die eigentliche Umcodierung von binär auf ternär bewirkt das lineare Codiernetzwerk durch die herkömmliche Subtraktion
- \[c(t) ={1}/{2} \cdot \left [b(t) - K_{\rm C} \cdot b(t- N_{\rm C}\cdot T)\right] \hspace{0.05cm}.\]
- Dieses ternäre Signal (Stufenzahl M = 3) weist die normierten Werte aν ∈ {–1, 0, +1} auf.
- Weiterhin gilt für das (nun redundante) Sendesignal s(t) mit dem Sendegrundimpuls gs(t), der im gesamten Kapitel 2.4 stets als NRZ–Rechteck vorausgesetzt wird:
- \[s(t) = \sum_{\nu = -\infty}^{+\infty} a_\nu \cdot g_s ( t - \nu \cdot T)\hspace{0.05cm}.\]
- Die relative Coderedundanz ist für alle Pseudoternärcodes gleich rc = 1 – 1/log2(3) ≈ 36.9 %.
Eigenschaften des AMI-Codes (1)
Die einzelnen 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. Dieser wird zum Beispiel bei ISDN (Integrated Services Digital Networks) auf der sog. S0–Schnittstelle eingesetzt.
Die Grafik zeigt im oberen Bereich die Signale q(t), b(t) und c(t) = s(t) für den AMI–Code. Man erkennt das einfache Codier– und Decodierprinzip dieses Codes:
- Jeder Binärwert „–1” von q(t) wird durch den ternären Amplitudenkoeffizienten „0” codiert.
- Der Binärwert „+1” von q(t) wird alternierend mit „+ 1” und „– 1” dargestellt.
Damit wird sichergestellt, dass im AMI–codierten Signal keine langen
„+1”– bzw. „–1”–Sequenzen enthalten sind. Dagegen ist das Auftreten langer Nullfolgen durchaus möglich, bei denen über einen längeren Zeitraum keine Taktinformation übertragen wird.
Um dies zu vermeiden, wurden einige modifizierte AMI–Codes entwickelt, zum Beispiel der B6ZS– und der HDB3–Code:
- Bei letzterem (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 „–” war.
- Damit ist beim HDB3–Code die Anzahl aufeinanderfolgender Nullen auf 3 begrenzt, beim B6ZS–Code auf 5. Der Decoder erkennt diese Codeverletzung und ersetzt „+ 0 0 +” wieder durch „0 0 0 0”.
Eigenschaften des AMI-Codes (2)
Der Frequenzgang des linearen Codiernetzwerks eines Pseudoternärcodes lautet allgemein:
\[H_{\rm C}(f) = {1}/{2} \cdot \left [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} \right] ={1}/{2} \cdot \left [1 - K \cdot {\rm e}^{-{\rm j}\hspace{0.03cm}\cdot \hspace{0.03cm} \alpha} \right] \hspace{0.05cm}.\]
Damit ergibt sich für das Leistungsdichtespektrum (LDS) der Amplitudenkoeffizienten (K und α sind Abkürzungen):
\[ {\it \Phi}_a(f) = | H_{\rm C}(f)|^2 = \frac{\left [1 - K \cos (\alpha) + {\rm j}\cdot K \sin (\alpha) \right ] \left [1 - K \cos (\alpha) - {\rm j}\cdot K \sin (\alpha) \right ] }{4} \]
- \[ = ... \hspace{0.15cm}= {1}/{4} \cdot \left [2 - 2 \cdot K \cdot \cos (\alpha) \right ] \]
\[ \Rightarrow \hspace{0.3cm}{\it \Phi}_a(f) = | H_{\rm C}(f)|^2 = {1}/{2} \cdot \left [1 - K_{\rm C} \cdot \cos (2\pi f N_{\rm C} T)\right ] \hspace{0.4cm}\bullet\!\!-\!\!\!-\!\!\!-\!\!\circ \hspace{0.4cm} \varphi_a(\lambda \cdot T)\hspace{0.05cm}.\]
Insbesondere erhält man für das Leistungsdichtespektrum des AMI–Codes (NC = KC = 1):
\[{\it \Phi}_a(f) = {1}/{2} \cdot \left [1 - \cos (2\pi f T)\right ] = \sin^2 (\pi f T)\hspace{0.05cm}.\]
Das LDS von HDB3– und B6ZS–Code weicht von dem des AMI–Codes nur unwesentlich ab.
Die Grafik zeigt
- das Leistungsdichtespektrum Φa(f) der Amplitudenkoeffizienten (rote Kurve),
- das Leistungsdichtespektrum Φ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 = s02/2 des AMI–codierten Sendesignals (Integral über Φs(f) von –∞ bis +∞).
Die Eigenschaften der Pseudoternärcodes und insbesondere des AMI-Codes können Sie sich mit dem folgenden Interaktionsmodul verdeutlichen: Signale, AKF und LDS der Pseudoternärcodes Flash Image Please add link
Eigenschaften des Duobinärcodes
Der Duobinärcode ist durch die Codeparameter NC = 1 und KC = –1 festgelegt. Damit ergibt sich für das LDS der Amplitudenkoeffizienten bzw. für das LDS des Sendesignals:
\[{\it \Phi}_a(f) ={1}/{2} \cdot \left [1 + \cos (2\pi f T)\right ] = \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 ⇒ Φa(f) als rote Kurve,
- des gesamten Sendsignals ⇒ Φs(f) als blaue Kurve.
In der Grafik am Seitenende sind die Signale q(t), b(t) und c(t) = s(t) skizziert.
Aus beiden 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) = s02 · T.
- Dagegen tritt hier die alternierende Folge ... , +1, –1, +1, –1, +1, ... nicht auf, die hinsichtlich Impulsinterferenzen besonders störend ist. Beim Duobinärcode gilt deshalb Φ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).
Die Eigenschaften der Pseudoternärcodes und insbesondere des Duobinärcodes können Sie sich mit dem Interaktionsmodul Signale, AKF und LDS der Pseudoternärcodes Please add link flash file verdeutlichen.
\(\)
[[Datei:||class=fit]]