Übung zu
Drahtlose Kommunikation
1. Übung
22.10.2012
Termine
• Übungen
– wöchentlich, Montags – 15 Uhr (s.t.), Raum B 016
• Jede Woche 1 Übungsblatt
→ http://userpages.uni-koblenz.de/~vnuml/drako/uebung/
– Bearbeitung und Abgabe bis zum angegebenen Termin (Freitags 16 Uhr)
– Übungsgruppen: 2 Teilnehmer
– min 50 % der Übungspunkte notwendig für Klausurzulassung – Anmelden der Übungsgruppe und finden von
Gruppenpartnern
→ http://userpages.uni-koblenz.de/~vnuml/drako/anmeldung/
1. Übung – Drahtlose Kommunikation 2
Einführung Aufgabe 1
• Abgabe über SVN-Repository
https://svn.uni-koblenz.de/vnuml/drako/wise2012/‘gruppenname‘
– solutions (read/write) – workspace (read/write) – corrections
• Abgabe der Übungsblätter über SVN in den Ordner solutions
• workspace ist für gemeinsame Bearbeitung und
Einführung Aufgabe 1
Zugriff mittels SVN-Tools (Windows/Linux)
http://tortoisesvn.tigris.org/
http://rapidsvn.tigris.org/
Bei Problemen mit der Abgabe über SVN:
→ Abgabe per E-Mail: vnuml@uni-koblenz.de
mit der Angabe, welches Problem vorliegt.
Geplante Inhalte der Übung
• Nachbearbeitung bestimmter Themen aus der Vorlesung
• später - Praxis Übungen:
– TinyOS und nesC
• http://www.tinyos.net/
• http://nescc.sourceforge.net/
– Arbeiten mit/Programmieren von Sensorknoten.
Wiederholung Grundlagen Rechnernetze
• Code Division Multiplex Access (CDMA)
• Nyquist + Shannon
• Hamming Code
• Cyclic Redundancy Check (CRC)
Multiple Access
Space Division Multiple Access
Jedem Teilnehmer wird ein Übertragungsweg exklusiv zur Verfügung gestellt.
Time Division Multiple Access
Zeitraum wird in Intervalle unterteilt, die exkluiv einem Sender zugeordnet werden.
Freqency Division Multiple Access
Frequenzband wird unterteilt. Jedem Sender wird exklusiv ein Frequenzband zugeordnet.
Code Division Multiple Access
Code Division Multiple Access (CDMA)
Beispiel: CDMA – Verfahren:
Codebreite von 4 Chips
• Station A : (1,-1,-1,1)
• Station B : (1,1,-1,-1)
• Station C : (-1,1,-1,1)
Alle drei Stationen beginnen nun zeitgleich zu senden.
• Station A → high, low (1,-1)
• Station B → high (1)
• Station C → high, high (1,1)
Zu Berechnen!
• das gespreizte Signal jeder Station,
• das Signal das die Empfänger erhalten
• und welche Datensignale die Empfänger der Stationen A, B und C aus dem
Code Division Multiple Access (CDMA)
Beispiel: CDMA – Verfahren:
• Station A : (1,-1,-1,1)
• Station B : (1,1,-1,-1)
• Station C : (-1,1,-1,1)
Codebreite von 4 Chips -> Sender
Alle drei Stationen beginnen nun zeitgleich zu senden.
Station A → high, low (1,-1) Station B → high (1)
Station C → high, high (1,1)
Code Division Multiple Access (CDMA)
Beispiel: CDMA – Verfahren:
• Station A : (1,-1,-1,1)
• Station B : (1,1,-1,-1)
• Station C : (-1,1,-1,1)
Codebreite von 4 Chips -> Dekodieren bei den Empfängern
Alle drei Stationen beginnen nun zeitgleich zu senden.
Station A → high, low (1,-1) Station B → high (1)
Station C → high, high (1,1)
Shannon & Nyquist
• Was bedeutet Rauschen (Noise) auf einer Leitung?
Alle Signalübertragungen leiden unter Rauschen (noise).
Signalrausch-Abstand (signal-to-noise ratio - S/N) sollte so groß wie möglich gehalten werden, indem z.B. das Signal verstärkt wird.
Shannon & Nyquist
• Kategorien von Rauschen 1. Crosstalk (Nebensprechen) 2. Thermal noise
3. Reference Ground noise
4. EMI / RFI
(elektromagnetische und hochfrequente
Störungen)
Shannon & Nyquist
Was besagt die Nyquist-Frequenzbanbreite über die Kanalkapazität auf einem Kommunikationskanal?
Die maximale Kanalkapaztität (C) hängt von der Frequenzbandbreite des Übertragungskanals (B) und der Anzahl der Signalabstufungen (M) ab.
B → die Frequenzbandbreite
M B
=
C 2 log
2Shannon & Nyquist
• Bedeutung des Begriffs Bandbreite:
1. Frequenzbereich:
Frequenzbereich eines Übertragungskanals angegeben in Herz (1/s)
2. Bandbreite als Synonym für Datenübertragungsrate
Datenübertragungsrate (Durchsatz) eines Übertragungskanals angegeben in bit/s
Shannon & Nyquist
• C = 2 B · log
2M
um einen höheren Durchsatz zu erreichen, kann 1. die Frequenzbandbreite erhöht werden
jeder reale Übertragungskanal ist bandbreitenbegrenzt
2. die Stufungsanzahl erhöht werden
funktioniert nur bis zur Grenze, die die Shannon-Formel vorgibt.
Shannon & Nyquist
• Bandbreitenbegrenzung
Basisbandübertragung
• nur ein Signal (Kanal) ist zu übertragen
• kann die gesamte zur Verfügung stehende Bandbreite exklusiv nutzen
• Bandbreitenbegrenzung durch physikalische Eigenschaften des Übertragungskanals.
• durch Art der Signalerzeugung (Fourier-Synthese)
Shannon & Nyquist
• Bandbreitenbegrenzung
Breitbandübertragung
mehrere Signale (Kanäle) auf dem Übertragungsmedium gleichzeitig
jedem Kanal wird ein Ausschnitt der insgesamt zur Verfügung stehenden Bandbreite zugeteilt
Information wird auf Träger (Carrier) aufmoduliert
Shannon & Nyquist
• Breitband/Schmalband
Hinweis:
•
Breitband (breitbandig) wird auch oft als Synonym für hohe Datenübertragungsrate benutzt.
•
Schmalband (schmalbandig) entsprechend für niedrige Übertragungsraten.
•
hier vermischt sich die Bedeutung von Frequenzbandbreite
und Bandbreite als Durchsatz.
Shannon & Nyquist
• Wir haben einen Übertragungskanal mit einer Frequenzbandbreite von 3000 Herz und unterscheiden 32 Signalabstufungen.
• Welche maximale Kanalkapazität lässt sich damit erzielen?
C = 2 · B · log2 M
= 2 · 3000 · log2 32
= 2 · 3000 · 5
= 30000 bps
= 30 kbps
Shannon & Nyquist
Was besagt das Shannon-Theorem?
Die maximale Kanalkapazität(C) bei einer festen Frequenzbandbreite (B) lässt sich nicht beliebig durch Erhöhung der Signalabstufungen steigern, sondern wird durch das Signal/Rausch-Verhältnis (SNR) begrenzt.
+ SNR
B
=
C log
21
Shannon & Nyquist
Wie groß ist die theoretisch erreichbare Übertragungsrate bei einer Bandbreite von 1,2 MHz und einem Rauschabstand SNR von 30 dB.
Shannon:
Bandbreite: 1,2 MHz = 1,2 · 106 Hz
Rauschabstand: 30 dB = 10 · log10(1000) = 10 · 3
→ SNR = 1000
6 62
6 log 1001 1,2 10 10 12 10
10
1,2 =
= C
+ SNR
B
=
C log2 1
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (CRC)
Hamming Abstand
Hamming Abstand
Hamming Abstand
Die Fähigkeit eines Hamming-Codes, Fehler zu erkennen und Fehler zu beheben, hangt von seinem Hamming-Abstand ab.
• Erkennen von n-Bit Fehlern:
Ein Abstand von n + 1 wird benötigt
• Beheben von n-Bit Fehlern:
Ein Abstand von 2n + 1 wird benötigt
Hamming Abstand
Wie groß muss die Hamming-Distanz eines Codes sein, um 4 Bit Fehler noch erkennen/korrigieren zu konnen?
• Erkennen von n-Bit Fehlern:
Ein Abstand von n + 1 wird benötigt
n + 1 →
• Beheben von n-Bit Fehlern:
Ein Abstand von 2n + 1 wird benötigt
2・n + 1 →
Hamming Abstand
Wie groß muss die Hamming-Distanz eines Codes sein, um 4 Bit Fehler noch erkennen/korrigieren zu konnen?
Hamming Abstand
• Gegeben: Datenwörter von m-Bit Lange
• Datenwörter sind durch eine Hammingcodierung so abzusichern, dass alle 1-Bit Fehler sicher korrigiert werden konnen
• Gesucht: Um r Redundanzbits angereicherte legale Codeworter der Länge n = m + r mit einem Hamming-Abstand D = 3
Hamming Abstand
• legale Codeworter = korrekt und ohne Fehler übertragene Codeworter
• illegale Codeworter = durch 1-Bit Fehler verfälschte Codeworter
• legale und illegale Codeworter müssen disjunkte Mengen bilden
• zu jedem illegalen Codewort gibt es höchstens ein legales Codewort mit Hamming-Abstand d = 1
Hamming Code Konstruktion
Wieviel Redundanz braucht man?
• Das zu sichernde Datenwort bestehe aus m Bits.
• Das Codewort der Lange n besteht dann aus m Datenbits plus r Prufbits:
– n = m + r, m Datenbits, r Prüfbits
• Frage:
– Wie viele Prufbits werden benötigt, um jeden 1-Bit-Fehler beheben zu können?
Hamming Code Konstruktion
Wieviel Redundanz braucht man?
• n = m + r, m Datenbits, r Prufbits
• Es gibt 2m legale Codeworter der Länge n Bits.
• Pro legalem Codewort gibt es mindestens n illegale Codeworter mit Hamming-Abstand D=1.
Hamming Code Konstruktion
Wieviel Redundanz braucht man?
• n = m + r, m Datenbits, r Prufbits
• (n + 1) 2m = 2n = 2m+r (n illegale + 1 legales Wort)
• (n + 1) = 2r
• (m + r + 1) ≤ 2r
• Das ergibt die untere Grenze für die erforderliche Anzahl der Prüfbits r
Hamming Code Konstruktion
Hamming Code Konstruktion
Bitposition 1 2 3 4 5 6 7 8 9 10 11 12
Inhalt R0 R1 D0 R2 D1 D2 D3 R3 D4 D5 D6 D7
Berechnung der Prüfbits:
• R0: 3(0011), 5 (0101), 7 (0111), 9 (1001),11 (1011)
• R1: 3 (0011), 6 (0110), 7 (0111),10(1010),11(1011)
• R2: 5 (0101), 6 (0110), 7 (0111),12(1100)
• R3: 9 (1001), 10 (1010), 11(1011), 12(1100)
Hamming Code Konstruktion
Bitposition 1 2 3 4 5 6 7 8 9 10 11 12
Inhalt R0 R1 D0 R2 D1 D2 D3 R3 D4 D5 D6 D7
Berechnung der Prüfbits:
Hamming Code Konstruktion
Berechnung der Prüfbits:
• Jedes Redundanz-Bit wird nach dem even parity Verfahren berechnet unter Einbeziehung bestimmter Daten-Bits.
• Diese Datenbits befinden sich an bestimmten Bitpositionen im Codewort.
• Man sagt:
– Jedes Redundanz-Bit überwacht eine Reihe bestimmter Bitpositionen.
• Dabei gilt:
– Redundanz-Bit Ri überwacht Bitposition k genau dann, wenn in der – Binärdarstellung von k an Stelle i eine 1 ist.
– (Stellen werden beginnend mit 0 für das niederwertigste Bit gezählt.)
Hamming Code Konstruktion
Berechnung der Prüfbits:
• Beispiel : Bitposition 5 (Datenbit D1)
• 510 = 01012
• Eine 1 befindet sich an den Stellen 0 und 2.
• Position 5 wird also von den Redundanz-Bits R0 und R2 überwacht.
Hamming Code Konstruktion
• (11001) : Hamming-Code kodieren
R0: 3(0011), 5 (0101), 7 (0111), 9 (1001) R1: 3 (0011), 6 (0110), 7 (0111)
R2: 5 (0101), 6 (0110), 7 (0111) R3: 9 (1001)
R0: 1 ⊕ 1 ⊕ 0 ⊕ 1 = R1: 1 ⊕ 0 ⊕ 0 = R2: 1 ⊕ 0 ⊕ 0 =
R3: 1 =
Bitposition 1 2 3 4 5 6 7 8 9
Inhalt R0 R1 D0 R2 D1 D2 D3 R3 D4 Codewort
Hamming Code Konstruktion
• (11001) : Hamming-Code kodieren
Bitposition 1 2 3 4 5 6 7 8 9
Inhalt R0 R1 D0 R2 D1 D2 D3 R3 D4 Codewort
Hamming Code Konstruktion
• (111110011) : Codewort überprüfen
Bitposition 1 2 3 4 5 6 7 8 9
Inhalt R0 R1 D0 R2 D1 D2 D3 R3 D4 Codewort
Bitposition 1 2 3 4 5 6 7 8 9
Inhalt R0 R1 D0 R2 D1 D2 D3 R3 D4
Codewort 1 1 1 1 1 0 0 1 1
Erweiterter Hamming Code
• Hamming-Distanz - D= 3
– n-bit Fehler Erkennung: n + 1 = 3 – n-bit Fehler Korrektur : n * 2 +1 = 3
• Der vorgestellte Algorithmus kann nur einfache Fehler korrigieren (Single-Bit Error Correction)
• Um 2-bit Fehler erkennen zu können, wird ein weiters Paritätsbit RG benötigt, mit dem das gesamte Codewort abgesichert wird.
Weiteres Paritätsbit (RG) Redundanzbits (R0, R1, …)
Even Zero fehlerfreie Nachricht
Odd Nonzero Single-bit Error -> korrigierbar