3. Termin 1: Die Komponenten des Transceivers

Vorbereitung:

Bevor Sie den Labortermin absolvieren, bereiten Sie sich bitte vor. Lernen Sie die benötigten Befehle, damit nicht durch unnötiges Suchen kostbare Zeit vergeht. Die relevanten Befehle sind im Menü „Befehlsübersicht“ rechts zu finden. Zu den Befehlen und dem Inhalt dieses Kapitels sind die Kapitel 1 und 2 für den Präsenztest relevant. Empfehlenswert sind auch die Folien der Vorlesung der Unit 3 (Elements of data transmission).

Sie sollten außerdem die Übung zur Steuerung des Transceivers durchführen.

Übung



3.1 Befehle zum Steuern des Transceivers

Fast alle relevanten Hardwareparameter des CC1020-Transceivers sind mit Hilfe des Kommandozeilen-orientierten Programms ccconfig steuerbar. Die Hardwareparameter werden durch Schreiben von Registern im Transceiver verändert und der Status der Komponenten kann durch Auslesen von Registern ermittelt werden. Das Programm ccconfig ermöglicht die Steuerung auch ohne Kenntnis der einzelnen Register. Soll beispielsweise die Trägerfrequenz variiert werden, so schreibt das Programm alle notwendigen Werte in die entsprechenden Register

Da man hier aufgrund der Vielzahl der Optionen des Kommandos ccconfig leicht den Überblick verliert, werden einzelne Kommandos zu kleinen Shells-Skripten zusammengefasst. Dadurch wird das Setzen verschiedener Einstellungen erleichtert. Shell-Skripte werden im Praktikum häufig verwendet. Vor dem ersten Verwenden eines Skriptes sollte immer dessen Wirkungsweise analysiert werden.

Video: Wechseln Sende-, Empfangsmodus
Video: Daten senden und empfangen

3.2 Aufgabe 1: Frequenzscanner

Um eine Vielzahl von parallelen Datenübertragungen über die Luft zu ermöglichen, werden Signale unter anderem mittels Frequenzmodulation (Frequency Shift Keying (FSK)) oder Amplitudenmodulation (Amplitude Shift Keying (ASK)) moduliert. Die dabei eingesetzten Modulationen wurden in der Vorlesung besprochen. Im Praktikum werden Modulationen eingesetzt, um zu verhindern, dass Praktikumsgruppen das selbe Frequenzband benutzen und sich damit die Sender der einzelnen Praktikumsgruppen gegenseitig durch Interferenzen stören. Bevor eine Gruppe ein bestimmtes Frequenzband verwendet, muss sie überprüfen, ob dieses Band bereits benutzt wird. Wenn ja, muss sie ein anderes Band verwenden.

Ihre Aufgabe ist es nun, zu bestimmen, ob aktive Sender vorhanden sind. Wird ein aktiver Sender gefunden, protokollieren Sie die Größe der Kanalbandbreite und welchen Wert der RSSI bei jeder Frequenz innerhalb des Bandes hat. Bevor Sie mit der Messung beginnen, beschreiben Sie den Versuchsaufbau und die Versuchsdurchführung.

Video: Frequenzscan

3.2.1. Identifikation eines Senders

Um einen Sender zu lokalisieren, wird ein Empfänger an einem beliebigen Ort in Reichweite des Senders positioniert. Um zu ermitteln, ob in einem bestimmten Frequenzband ein Sender aktiv ist, wird am Empfänger gemessen, ob ein Signalpegel des Senders detektiert werden kann.

Hierbei ergibt sich das Problem, dass eigentlich immer ein Signalpegel in Form von Rauschen vorhanden ist, auch wenn eigentlichkein Sender in der Nähe ist. Es ist äußerst schwierig zwischen Rauschen und einem “sinnvollen” Signal zu unterscheiden, wenn keine weiteren Informationen über den Sender bekannt sind (z.B Modulation, Codierung etc.).

Auf der anderen Seite kann durchaus ein Sender in der Umgebung des Empfängers sein. Weil aber sein Pegel kleiner als die Rauschleistung ist, kann er vom Empfänger nicht detektiert werden. Erst wenn der Signalpegel größer als die Rauchleistung ist, dann ist ein Signalpegel in Form eines RSSI oder SNR messbar. Abb. 1-9 zeigt beispielhaft eine RSSI Messung im 800MHz Band

Geht ein Sender im Rauschen “unter”, gibt es drei Möglichkeiten den Sender trotzdem zu erkennen:

  1. Die Sendeleistung erhöhen,
  2. die Entfernung des Empfängers zum Sender verkleinern oder
  3. die Sensitivität der Empfängers erhöhen.

Genau auf diese Möglichkeiten wird zurückgegriffen um einen Sender zu orten oder zu detektieren.


Abb. 1-9: Spektrum in 800MHz Band gemessen am Fachgebiet TKN

Im Praktikum werden folgenden Annahmen getroffen, um einen Sender zu detektieren:
  1. Der Sender und die Empfänger sind im selben Raum und der Sender verwendet seine maximale Sendeleistung (3dBm). Damit ist sichergestellt, dass jeder Empfänger im Raum die Möglichkeit besitzt den Sender zu detektieren.
  2. Die Empfänger haben Informationen über den Sender. Sie wissen, welche Modulation und welchen Leitungskode der Sender verwendet. Zusätzlich ist die Bitfolge bekannt, die der Sender verwendet. Insbesondere die Bitfehlerrate kann zusätzliche Informationen über den Sender geben (Überlegen Sie sich welche Informationen das sind?).
  3. Der Empfänger verwendet seine maximale Empfindlichkeit. Die Empfangsempfindlichkeit kann künstlich herunter gesetzt werden, um bestimmte Sender “auszublenden”.

3.2.2 Anforderungen an die Hardware

Es wird ein Empfänger benötigt, der in der Lage ist, Signale im betrachteten Frequenzband zu empfangen und zu erkennen. Außerdem muss der Empfänger programmierbar sein, um ihn auf einzelne bestimmte Frequenzen einstellen zu können.

Normalerweise verwendet man hierzu einen Spektrumanalysator. Im Praktikum stehen solche Geräte nicht zur Verfügung. Daher werden handelsübliche Empfänger verwendet. Die Qualität der Messung wird durch die folgenden Parameter des Transceiver bestimmt:

Sensitivität

Die Sensitivität gibt die Größe des kleinsten messbaren Signalpegels an. Je größer die Sensitivität des Empfängers ist, desto kleinere Signale können detektiert werden.

Ist die Sensitivität zu gering (siehe Abb. 1-10), werden nur Teile des Nutzsignals erkannt, was die Ergebnisse der Messung stark verfälschen kann. Damit genaue Messungen durchgeführt werden können, sollte die Sensitivität ungefähr der Größe des Rauschsignals entsprechen.


Abb. 1-10: Sensitivität eines Empfängers

Granularität des RSSI

In der Regel wird der analog gemessene Signalpegel in ein digitales Signal (z.B. das RSSI Signal) umgewandelt. Hierbei entstehen Quantisierungsfehler. Dies bedeutet, dass der RSSI nicht alle gemessenen Werte widerspiegelt. Die Stufen ergeben sich aus der Darstellung des RSSI und seinem maximalen und minimalen Wert. Die im Praktikum verwendeten Transceiver werden durch eine 8 Bit Wert repräsentiert. Die minimalen Größe ist 0 und die maximale Größe ist 63.

Im Transceiver wird der RSSI eines empfangenen Signals mit dem “Carrier Sense (CS)” Threshold verglichen (siehe Abb. 1-11). Ist der CS-Threshold größer als der RSSI, werden die Daten verworfen. Aus diesem Grund sollte bei den Messungen imPraktikum immer sichergestellt werden, dass der CS-Threshold ausgeschaltet ist.


Abb. 1-11: Empfänger Sensitivität und Granularität des RSSI

Sampling Frequenz des RSSI

Der RSSI wird nicht kontinuierlich gemessen, sondern in äquidistanten zeitlichen Abständen. Die Abstände werden durch die "RSSI Sampling Rate" angegeben. Hierbei wird der Mittelwert über mehrere Samples des RSSI gebildet und anschließend in einem Register des Controllers gespeichert. Die Anzahl der RSSI Samples, die beim Mitteln berücksichtigt werden, bestimmen die “RSSI Update Frequency”. Sie gibt letztendlich an, in welchen zeitlichen Abständen ein neuer RSSI Wert berechnet wird. Wie in Abb. 1-12 dargestellt, können durch falsches Setzen der Parameter stark unterschiedliche Ergebnisse auftreten.


Abb. 1-12: RSSI Sampling Rate und RSSI Update Frequency

Trennschärfe des Empfängers

Ein Empfänger kann nie den Pegel für genau eine Frequenz bestimmen, sondern nur für ein Frequenzband. Dieser Parameter gibt an, wie groß dieses Frequenzband ist und wie die Abgrenzung gegenüber dem Nachbarband ist.

Neben diesen Parametern sollte berücksichtigt werden, dass die Signalstärke normalerweise nicht direkt an der Antenne gemessen wird, sondern meistens nach dem AD-Wandler im IF Teil des Empfängers. Die Größe des IF Signals wird von einem adaptiven Verstärker(Variable Gain Amplifier (VGA)) gesteuert, damit der nachfolgenden AD-Wandler immer im optimalen Arbeitsbereich arbeitet.

Vor dem VGA ist außerdem ein Bandpass geschaltet, der das Signal von den benachbarten Kanälen trennt. Der Bandpass kann natürlich icht verlustfrei filtern, sondern dämpft das Signal zusätzlich. Und nun die gute Nachricht! Zur Durchführung der Messung werden Shell-Skripte und Programme/Funktionen bereitgestellt, die bereits alle Parameter so setzen, dass dieMessungen durchgeführt werden können.

3.2.3 Versuchsdurchführung

Zunächst wird ein Transceiver (siehe Abb. 1-13) an den Rechner angeschlossen und durch Aufrufen des Skriptes CCBinaryMode.sh 874 initialisiert in den Empfangsmodus gebracht. Die Parameter die durch den Aufruf des Skripts im Transceiver gesetzt werden, sollten nun beim Aufrufen von ccconfig aus der Programmausgabe ersichtlich werden.


Abb. 1-13: Transceiver- Modul

Zum Ermitteln der gesuchten Trägerfrequenz stehen die folgenden Funktionen von ccconfig zur Verfügung. ccconfig -f setzt die Trägerfrequenz für den gerade eingestellten Kanal auf den Wert <freq> in MHz. Der insgesamt zur Verfügung stehende Frequenzbereich ist ca. 848 bis 893 MHz. Der gerade eingestellte Kanal ist durch Eingabe des Befehls ccconfig -r sichtbar. Durch den Befehl ccconfig -qs kann zwischen Kanal 0 und 1 gewechselt werden.

ccconfig -SC <f start in MHz> <f end in MHz> <step size in kHz> <time in ms>
durchläuft das Intervall [f start, f end] mit Schritten der Größe step size kHz und gibt die jeweils über time gemessenen Bitfehlerrate und den RSSI-Wert aus.

Beispiel: ./ccconfig -SC 850 855 200 scannt zwischen 850 MHz und 855 MHz in 200 kHz Schritten, wobei jeweils 200 ms auf einer Frequenz verweilt wird.

Nachdem die Trägerfrequenz feststeht, muss jede Gruppe eine eigene, von den anderen nicht verwendete Trägerfrequenz benutzen. Diese wird Ihnen vom Betreuer zugewiesen.

Folgende Parameter sollen in jedem Fall im Protokoll enthalten sein:


3.3 Aufgabe 2: Scrambler

Die Funktionsweise des Scramblers ist in Kapitel 2.1.4 beschrieben. Um Ihnen ausgehend von dieser Beschreibung die Funktionsweise anschaulich zu vermitteln, soll ein Modell des Scramblers verwendet werden. Mit dem Modell wird die Wirkungsweise des Scramblers nachgebildet. Das Modell ist unter ISIS verfügbar.

Mit diesem Modell und den Informieren über den PN9 Testmustergenerators (Scrambler) des Transceivers (siehe CC1020 Datenblatt, S. 60) sollten Sie nun in der Lage sein die folgenden Fragen zu beantworten:

3.3.1 Versuchsdurchführung

Sammeln Sie nun Erfahrungen mit dem Verhalten des Scramblers in der Praxis. In diesem Versuch sollen sie die Bitfehlerrate bei ein,- und ausgeschalteten Scrambler sowohl beim Sender als auch beim Empfänger ermitteln. Bei diesem Versuch ist zu bemerken, dass der sendende Transceiver nach dem Einschalten immer Nullen sendet. Dies tut er so lange bis andere Daten gesendet werden sollen. Durch das kontinuierliche Senden von Nullen wird die Berechnung der Bitfehlerrate erleichtert. Die Bitfehlerrate ist in diesem Fall das Verhältnis der empfangen Einsen zur Anzahl aller empfangenen Bits. Die Ausgabe der Bitfehlerrate erfolgt durch den Aufruf des Befehls ccconfig mit entsprechende Parametern. Gehen Sie folgendermaßen vor:

Im folgenden soll nun die Wirkungsweise des Scrambler analysiert werden:

Protokollieren Sie bei jedem Schritt den die durchführen die Ausgabe des Befehl ccconfig -ls an und die Ausgabe des Befehls cat /dev/cc1020 zu und erklären Sie das beobachtete Verhalten.

3.4 Aufgabe 3: Leitungscodes

Um die Funktionsweise eines Leitungscodes darzustellen, wird der zu untersuchende Code mit der NRZ-Codierung verglichen. Dies ist natürlich nur dann sinnvoll, wenn es sich um unipolare Kodierungen handelt und nicht um bipolare Kodierungen wie etwa der AMI oder der HBDI-Codierung.

In diesem Versuch wollen wir den Manchester-Codierung betrachten. Um die Kodierung sichtbar zu machen, wird deshalb einen Sender verwendet, der Bitfolgen mit der Manchester-Codierung erzeugt. Der Empfänger wird so programmiert, dass er Daten im NRZ-Code empfängt. Nun wird am Empfänger die Charakteristiken der Manchester-Codierung sichtbar. Protokollieren Sie die Bitmusterdie am Empfänger sichtbar sind.

3.4.1 Versuchsdurchführung

Folgend wird beschrieben, wie sie die Codierung des CC1020 ändern können: