• Keine Ergebnisse gefunden

Übung zu Drahtlose Kommunikation

N/A
N/A
Protected

Academic year: 2022

Aktie "Übung zu Drahtlose Kommunikation"

Copied!
38
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Übung zu

Drahtlose Kommunikation

7. Übung

03.12.2012

(2)

Aufgabe 1 (Cyclic Redundancy Check)

Gegeben ist das Generator-Polynom C(x) = x4 + x3+ 1

a) Zeichnen Sie die Hardware-Implementation zum obigen Generator-Polynom (bestehend aus Schieberegistern und XOR-Gattern).

b) Die folgende Nachricht soll übertragen werden: M(x) = x8+x7+x6+x4+x3+1 Sichern Sie die Nachricht mit dem obigen Generator-Polynom C(x) ab. Wie lautet die zu übertragende Nachricht T(x)?

c) Gehen Sie davon aus, dass das 8. Bit (von rechts, an der Stelle x7) bei der übertragenen Nachricht T(x) gekippt ist.

(3)

Cyclic Redundancy Check

polynomielle Arithmetik modulo 2

• Koeffizienten entweder 0 oder 1

• kein Übertrag zu berücksichtigen

• Addition und Subtraktion identisch, XOR

(4)

Cyclic Redundancy Check

Was wird übertragen, wenn gilt

(5)

Aufgabe 1 (Cyclic Redundancy Check)

Gegeben ist das Generator-Polynom C(x) = x4 + x3+ 1

a) Zeichnen Sie die Hardware-Implementation zum obigen Generator-Polynom (bestehend aus Schieberegistern und XOR-Gattern).

(6)

Cyclic Redundancy Check

(7)

Aufgabe 1 (Cyclic Redundancy Check)

Gegeben ist das Generator-Polynom C(x) = x4 + x3+ 1

a) Zeichnen Sie die Hardware-Implementation zum obigen Generator-Polynom (bestehend aus Schieberegistern und XOR-Gattern).

(8)

Aufgabe 1 (Cyclic Redundancy Check)

Gegeben ist das Generator-Polynom C(x) = x4 + x3+ 1

a) Zeichnen Sie die Hardware-Implementation zum obigen Generator-Polynom (bestehend aus Schieberegistern und XOR-Gattern).

C3 C2 C1 C0

Output

Input x0

x1 x2

x3 x4

C3 C2 C1 C0

x1 x2

x3

x4 x3 1

+ +

x0 x4

(9)

Aufgabe 1 (Cyclic Redundancy Check)

C(x) = x4 + x3+ 1 C(x) = 11001

M(x) = x8+x7+x6+x4+x3+1 M(x) = 111011001

C3 C2 C1 C0 C3 ⊕C2 ⊕ I C3 ⊕ I I=Input

0 0 0 0 1 1 1

1 0 0 1 0 0 1

0 0 1 0 1 1 1

1 1 0 1 0 1 0

0 0 1 1 1 1 1

1 1 1 1 1 0 1

1 1 1 0 0 1 0

0 1 0 1 1 0 0

1 0 1 0 0 0 1

0 1 0 0

C3 C2 C1 C0

x1 x2

x3

x4 x3 1

+ +

x0 x4

(10)

Aufgabe 1 (Cyclic Redundancy Check)

C(x) = x4 + x3+ 1 T(x) = x12+x11+x10+x8+x7+x4+x2

C(x) = 11001 T(x) = 1110110010100

C3 C2 C1 C0 C3 ⊕C2 ⊕ I C3 ⊕ I I=Input

0 0 0 0 1 1 1

1 0 0 1 0 0 1

0 0 1 0 1 1 1

1 1 0 1 0 1 0

0 0 1 1 1 1 1

1 1 1 1 1 0 1

1 1 1 0 0 1 0

0 1 0 1 1 0 0

1 0 1 0 0 0 1

0 1 0 0 1 0 0

1 0 0 0 0 0 1

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0

(11)

Aufgabe 1 (Cyclic Redundancy Check)

Gegeben ist das Generator-Polynom C(x) = x4 + x3+ 1

b) Die folgende Nachricht soll übertragen werden: M(x) = x8+x7+x6+x4+x3+1

Wie lautet die zu übertragende Nachricht T(x)?

T(x) = 1110110010100

(12)

Aufgabe 1 (Cyclic Redundancy Check)

Gegeben ist das Generator-Polynom C(x) = x4 + x3+ 1

M(x) = x8+x7+x6+x4+x3+1 T(x) = x12+x11+x10+x8+x7+x4+x2

M(x) = 111011001 T(x) = 1110110010100

x7 gekippt ->T‘(X) = 1110100010100

c) Gehen Sie davon aus, dass das 8. Bit (von rechts, an der Stelle x7) bei der übertragenen Nachricht T(x) gekippt ist.

(13)

Aufgabe 1 (Cyclic Redundancy Check)

Gegeben ist das Generator-Polynom C(x) = x4 + x3+ 1

M(x) = x8+x7+x6+x4+x3+1 T(x) = x12+x11+x10+x8+x7+x4+x2 M(x) = 111011001 T(x) = 1110110010100

d) Manipulieren Sie die übertragene Nachricht T(x) so, dass der Fehler mittels CRC nicht erkannt wird.

(14)

Aufgabe 1 (Cyclic Redundancy Check)

Gegeben ist das Generator-Polynom C(x) = x4 + x3+ 1

M(x) = x8+x7+x6+x4+x3+1 T(x) = x12+x11+x10+x8+x7+x4+x2 M(x) = 111011001 T(x) = 1110110010100

d) Manipulieren Sie die übertragene Nachricht T(x) so, dass der Fehler mittels CRC nicht erkannt wird.

(15)

Cyclic Codes

C(x) = x3 + x2+ 1 -> 1101 Error-Pattern:

1000000 : 1101

(16)

Cyclic Codes

C(x) = x3 + x2+ 1 -> 1101 T(X) = 1101101

(17)

Aufgabe 2 (Faltungscodes)

Faltungscode (engl. Convolutional Code)

• Informationsbits sind explizit im Codewort enthalten

• Folgezustand hängt vom aktuellen Zustand, dem Eingangswert und der Rückkopplungsstruktur des Codierers ab

• Ans Ende der Informationsfolge wird ein sogenanntes Tailbit gesetzt um einen definierten Zustand zu erreichen.

• Hauptmerkmal von Faltungscodes (Unterscheidung zu Blockcodes):

Decodierung beruht nicht auf einer Prüfgleichung , sondern auf der optimalen Schätzung einer Empfangsfolge.

(18)

Faltungscode (engl. Convolutional Code) mit (n,k,K) = (2,1,3)

Implementation über Register und XOR

Aufgabe 2 (Faltungscodes)

Zustandsdiagramm

(19)

Aufgabe 2 (Faltungscodes)

(n,k,K) = (2,1,3)

Anfangszustand:

Inhalt des Schieberegisters ist 0…0

Von links wird aktuelles Informationsbit in das Schieberegister eingeschoben.

Dort wird es mit anderen Informationsbit des Schieberegisters zu n-Codebit Ausgabe verknüpft.

(20)

Aufgabe 2 (Faltungscodes)

(n,k,K) = (2,1,3)

Allgemein:

• Es gibt eine Einflusslänge Lc = (K*k), welche der Länge des Schiebregisters

entspricht, d.h. jedes Informationszeichen beeinflusst Lc-mal das Ausgangswort.

• Je größer diese Einflusslänge ist, desto mehr Kombinationsmöglichkeiten sind zur Bildung des Codes vorhanden und desto leistungsfähiger ist der Faltungscoder.

• Einflusslänge entspricht der Rolle der Blocklänge n bei den linearen Blockcodes.

• Coderate bei Faltungscodes beträgt: R = 𝑘𝑛

(21)

Hamming Code

(22)

Aufgabe 2 (Faltungscodes)

a) Erläutern Sie, was in einem (n,k,K) Faltungscode die Variablen n, k und K repräsentieren?

(n,k,K)

k -> Eingangsbit (Informationszeichen ist 1 Bit lang)

K -> Begrenzungsfaktor (Länge des Schieberegisters ist k*K)

n -> Ausgangsbit (für jedes Eingangsbit entstehen n Ausgangsbits) -> somit n Verknüpfungen

– (n, k, K) code

• Input processes k bits at a time

• Output produces n bits for every k input bits

K = constraint factor

k and n generally very small

n-bit output of (n, k, K) code depends on:

• Current block of k input bits

• Previous K-1 blocks of k input bits

(23)

Aufgabe 2 (Faltungscodes)

(n,k,K) = (2,1,3)

Beispiel: Eingangscodefolge: 10 11 Coderate R = 12

Faltungscode: 11 10 00 01 01 11

input un un-1 un-2 vn1=un-2⊕un-1⊕un vn2=un-2⊕un vn1+vn2

0 0 0 0 0 --

1 1 0 0 1 1 11

0 0 1 0 1 0 10

1 1 0 1 0 0 00

1 1 1 0 0 1 01

0 0 1 1 0 1 01

0 0 0 1 1 1 11

0 0 0 0 0 --

(24)

Aufgabe 2 (Faltungscodes)

(n,k,K) = (2,1,3) Codebaum

Eingangscodefolge: 1 0 1 1 0 0 Faltungscode: 11 10 00 01 01 11

Beim Codebaum repräsentiert jedes Eingangsbit eine neue Verzweigung des Baumes.

Die Ausgabefolge wird an den dazugehörigen Ästen abgelesen. Dabei ist besonders wichtig, dass jede Eingebefolge mit ’00’ abgeschlossen wird.

Aus der Eingangsfolge ’1011’ wird deshalb ’101100’.

Somit entspricht jede Informationsfolge genau einem Pfad durch den Baum, dies führt zu einem

exponentiellen Anwachsen des Baumes mit entsprechend großer Redundanz.

Der Codebaum wird benutzt um die sequentielle Decodierung zu beschreiben.

(25)

Aufgabe 2 (Faltungscodes)

(n,k,K) = (2,1,3) Netzdiagramm (trellis)

Eingangscodefolge: 1 0 1 1 0 0 Faltungscode: 11 10 00 01 01 11

Das Netzdiagramm besteht aus Knoten und Zweigen, dabei stellen die Knoten die Zustände (also das Gedächtnis des Codierers) dar.

Die Zweige beschreiben den Übergang von einem Zustand in den darauf folgenden. An den Zweigen stehen wie beim Codebaum die durch die jeweiligen Eingangsbit erzeugten Ausgangsbit, auch hier muss die Eingangsfolge mit ’00’ abschließen.

Das trellis enthält weniger Redundanz als der Codebaum, da hier gleiche Zweige für mehrere Wege benutzt werden können.

(26)

(n,k,K) = (2,1,3) Zustandsdiagramm Eingangscodefolge: 1 0 1 1 0 0

Faltungscode: 11 10 00 01 01 11

Der Darstellung des Zustandsdiagramm liegt ein Mealy-Automat zugrunde.

Sie geht im Endeffekt aus dem Netzdiagramm hervor, indem man die zeitliche Komponente des trellis weglässt.

Die Darstellung ist sehr kompakt.

Jegliche Redundanz, die das Netzdiagramm noch aufwies entfällt Jeder Zustand wird genau einmal gekennzeichnet.

Da die Darstellung ein Mealy-Automat ist,

steht in den Zuständen der Inhalt des Gedächtnisses und an den Kanten die Ausgabe bzw. das Eingangsbit.

Für unsere Eingangsfolge 10 11 ergibt sich wieder der Faltungscode 11 10 00 01 01 11.

Allgemein ist zum Zustandsdiagramm zu sagen, dass diese

Aufgabe 2 (Faltungscodes)

(27)

Aufgabe 2 (Faltungscodes)

• Trellis diagram – expanded encoder diagram

• Viterbi code – error correction algorithm

– Compares received sequence with all possible transmitted sequences

– Algorithm chooses path through trellis whose coded sequence differs from received sequence in the fewest number of places – Once a valid path is selected as the correct path, the decoder can

recover the input data bits from the output code bits

(28)

Aufgabe 2 (Faltungscodes)

Decodieren von Faltungscodes mithilfe des Viterbi-Decodierverfahrens

Maximum-Likelihood-Decoder, d.h., er wählt aus allen möglichen Codefolgen die wahrscheinlichste aus.

Die Codefolge ist am wahrscheinlichsten, die sich in möglichst wenigen Stellen von der empfangenen Folge unterscheidet,

-> bedeutet, den geringsten Hammingabstand zur Empfangscodefolge besitzt.

Um diese Unterscheidung fassbar zu machen, wurde eine Metrik λ wie folgt eingeführt.

Hierbei entspricht i der jeweiligen Bitstelle xi, der empfangenen Codefolge und yi eines von allen möglichen Codewörtern.

Für jede mögliche mögliche Codefolge Yi wird die Summe i = i gebildet und am Ende des Decodiervorgangs ist die Codefolge am wahrscheinlichsten, die die kleinste Summe i hat -> diese ist dann die richtige Eingangsfolge.

(29)

Aufgabe 2 (Faltungscodes)

Decodieren von Faltungscodes mithilfe des Viterbi-Decodierverfahrens

1) Beginne Netzdiagramm im Nullzustand zum Zeitpunkt i =0

2) Berechne ( x(i) | y(1) ) zwischen empfangenen Codewort x(i) und allen möglichen Codewörtern y(i)

3) Addiere unter 2. berechnete Pfadmetriken zu alten Zustandsmetriken

4) An jedem Zustand Auswahl des jenigen Pfades mit kleinster euklidischer Distanz und Verwerfung der anderen Pfade

5) Wiederholung ab 2. bis alle n empfangenen Wörter abgearbeitet wurden 6) Ende des Netzdiagramms:

- Netzdiagramm endet im Nullzustand

- Bestimmung des Pfades mit der besten Metrik (n)

7) Zurückverfolgen des in 6. bestimmten Pfades und Ausgabe der zugehörigen Informationsbit.

(30)

Aufgabe 2 (Faltungscodes)

Decodieren von Faltungscodes mithilfe des Viterbi-Decodierverfahrens

Beispiel für Fehlerkorrektur des Viterbi-Decoders:

Richtiger Faltungscode: 11 10 10 01 00 11 Falscher Faltungscode: 11 10 00 01 01 11

(31)

Aufgabe 2 (Faltungscodes)

Falscher Faltungscode: 11 10 00 01 01 11

(32)

Aufgabe 2 (Faltungscodes)

Falscher Faltungscode: 11 10 00 01 01 11

(33)

Aufgabe 2 (Faltungscodes)

Falscher Faltungscode: 11 10 00 01 01 11

(34)

Aufgabe 2 (Faltungscodes)

Falscher Faltungscode: 11 10 00 01 01 11

(35)

Aufgabe 2 (Faltungscodes)

b) Betrachten Sie einen Encoder für Faltungscodes der mit (vn1=un ⊕un-2) und (vn2= un-1 ⊕ un-2) definiert ist.

1) Zeichnen Sie eine Register Implementation.

2) Zeichnen Sie ein Zustandsdiagramm für diesen Encoder.

3) Zeichnen Sie ein Trellis Diagramm für diesen Encoder

(36)

Aufgabe 2 (Faltungscodes)

b) Betrachten Sie einen Encoder für Faltungscodes der mit (vn1=un ⊕un-2) und (vn2= un-1 ⊕ un-2) definiert ist.

1) Zeichnen Sie eine Register Implementation.

(37)

Aufgabe 2 (Faltungscodes)

b) Betrachten Sie einen Encoder für Faltungscodes der mit (vn1=un ⊕un-2) und (vn2= un-1 ⊕ un-2) definiert ist.

2) Zeichnen Sie ein Zustandsdiagramm für diesen Encoder.

(38)

Aufgabe 2 (Faltungscodes)

b) Betrachten Sie einen Encoder für Faltungscodes der mit (vn1=un ⊕un-2) und (vn2= un-1 ⊕ un-2) definiert ist.

3) Zeichnen Sie ein Trellis Diagramm für diesen Encoder

Referenzen

ÄHNLICHE DOKUMENTE

Wenn aber, wie zu zeigen sein wird, ein Teil der Heroldskompendien in eine adelige Überlieferung überging, so stellt sich zugleich die Frage, worin die spezi- fische

[r]

2.. c) Determine the similarity of each the following texts(=documents) with respect to the cosine similarity measure. It is sufficient if you write down the formula for each pair

Berechnet ist diese Tafel nach einem dort angeführten continuirten Bruche, dessen vollständige Ableitung aber dort nicht gegeben ist, und zu dessen theoretischer Entwickelung, die

So wäre es recht sehr zu wünschen, daß es in jedem Staat Männer geben möchte, die über die Vorurteile der Völkerschaft hinweg wären, und genau wüßten, wo Patriotismus Tugend

[r]

Wir machen noch einmal darauf aufmerksam, dass für diese Anwendungsverbote, welche einzelne Indikationen von Pro- dukten mit den Wirkstoffen Dimethoate, Diazinon und

Es wird zweimal mit einem sechsseitigen W¨urfel gew¨urfelt, der auf einer Seite die Zahl −2, auf einer Seite die Zahl −1, auf zwei Seiten die Zahl 1 und auf zwei Seiten die Zahl