POCSAG
Aus Amateurfunk Wiki
POCSAG ist zunächsteinmal die Bezeichnung für die Arbeitsgruppe, die sich mit der Erstellung des Protokolls beschäftgt hat, das für Funkruf verwendet wird, die sogenannte Post Office Code Standard Advisory Group. Im besonderen bezeichnet dieser Begriff aber auch das von dieser Gruppe erarbeitete Protokoll.
Inhaltsverzeichnis |
Die Hardware - Ebene
Auf der untersten Ebene wird eine 2-FSK Modulation mit einer Datenrate von 512, 1200 oder 2400 Bit/s verwendet. Im deutschen Amateurfunkruf-Netz senden alle Funkrufsender 12,5 kHz unterhalb des oberen Bandendes des 70-cm-Bandes. Somit muss der Frequenzhub entsprechend gering eingestellt sein, um das Sendespektrum innerhalb des Amateurfunkbandes zu halten.
Ein wesentliches Augenmerk bei der Gestaltung des POCSAG-Protokolls liegt im Einsparen von Energie auf der Empfängerseite, um die Batterielaufzeit so groß wie möglich zu halten. Dazu wird der Empfänger zu einem Großteil der Zeit ausgeschaltet. Im Protokoll muss dies insofern berücksichtigt sein, dass dem Empfänger genügend Zeit gegeben wird, um einen aktivierten Sender zu erkennen, bzw. dass Daten zu einem Zeitpunkt gesendet werden, zu dem auch der Empfänger empfangsbereit ist.
Das POCSAG - Protokoll
Die Abbildung zeigt eine schematische Darstellung des POCSAG-Protokolls. Eine POCSAG-Aussendung beginnt mit einer Präambel aus 576 abwechselnden Einsen und Nullen. Diese Präambel dient im wesentlichen dazu, die Empfänger aufzuwecken. D.h. ein Empfänger, der um Energie einzusparen abgeschaltet wurde, muss in der Zeit, die die Präambel in Anspruch nimmt, mindestens einmal eingeschaltet werden. Die folgende Tabelle gibt die Dauer der Präambel bei verschiedenen Datenraten an.
| Datenrate | Dauer der Präambel |
|---|---|
| 512 | 1,125 s |
| 1200 | 0,48 s |
| 2400 | 0,24 s |
Nach der Präambel folgt eine beliebige Anzahl von sogenanten Batches.
Aufbau der Batches
Jedes Batch beginnt mit einem Synchronisationswort. Dieses Synchronisationswort ist die 32 bit lange Bitfolge 01111100110100100001010111011000. Nach dem Synchronisationswort folgen 8 sogenante Frames, die wiederum jeweils zwei Adress- oder Datenworte enthalten.
Aufbau der Adress- und Datenworte
Die Frames bestehen aus zwei 32-bit-Codeworten, die Adressen oder Daten enthalten können. Um welche Art von Information es sich handelt ist im ersten Bit kodiert. Eine Null bedeutet, dass es sich um ein Adresswort handelt, eine 1, dass es sich um Daten handelt.
Adressworte
In einem Adresswort enthalten die Bits 1 bis 18 die oberen 18 Bits der PagerAdresse, die mit dem aktuellen Funkruf angesprochen werden soll. Da die vollständige Adresse 21 Bits umfasst, fehlen somit noch drei Bits. Diese sind über die Position im Batch definiert. Befindet sich das Adresswort in Frame 0 werden die Bits 000 angehängt. Bei einem Adresswort in Frame 1 wird 001 angehängt usw.
Die Bits 19 und 20 enthalten den so genannten Funktionsmodus. Hier werden Nur-Ton-, Nummerische-, Alpha- und Alpha-Nummerische-Funkrufempfänger definiert.
Datenworte
In einem Datenwort werden die Bits 1 bis 20 für den Dateninhalt des Funkrufs verwendet. Sofern es sich nicht um einen einfachen Signalruf handelt folgen nach einem Addresswort ein oder mehrere Datenwörter.
Paritäts-Prüfsumme
Im Anschluss an die Bits 0 bis 21 wird sowohl bei Adress- als auch bei Datenworten eine 10-bit-Prüfsumme und anschließend ein Paritätsbit angehängt. Die Prüfsumme wird aus dem 10-bit-Reset der Modulo-2 Polynomdivision durch das Generatorpolynom x^10+x^9+x^8+x^6+x^5+ x^3+x^0 gebildet.
Nachrichtenübermittlung
Abhängig davon, ob ein Funkruf an einen nummerischen oder an einen Alphanummerischen Funkrufempfänger gesendet wird, variiert die Kodierung des Inhalts. In nummerischen Funkrufen wird jede Ziffer mit einem vier-Bit-Wert kodiert. Die Kodierung ist in der folgenden Tabelle dargestellt:
| Kode | Ziffer |
|---|---|
| 0000 | 0 |
| 0001 | 1 |
| 0010 | 2 |
| 0011 | 3 |
| 0100 | 4 |
| 0101 | 5 |
| 0110 | 6 |
| 0111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
| 1010 | "Spare" |
| 1011 | U |
| 1100 | ' ' |
| 1101 | _ |
| 1110 | ] |
| 1111 | [ |
Bei alphanummerischen Funkrufen wird im wesentlichen die 7-Bit-ASCII-Kodierung verwendet. In Deutschland werden dabei statt den zeichen "@[\]{|}~" die Umlaute und die sz-Ligatur verwendet.
| Bits (2-0): | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
|---|---|---|---|---|---|---|---|---|
| (7-3) | ||||||||
| 0000 | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL |
| 0001 | BS | HT | LF | VT | FF | CR | SO | SI |
| 0010 | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB |
| 0011 | CAN | EM | SUB | ESC | FS | GS | RS | US |
| 0100 | ' ' | ! | " | # | $ | % | & | ' |
| 0101 | ( | ) | * | + | , | - | . | / |
| 0110 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 0111 | 8 | 9 | : | ; | < | = | > | ? |
| 1000 | ß | A | B | C | D | E | F | G |
| 1001 | H | I | J | K | L | M | N | O |
| 1010 | P | Q | R | S | T | U | V | W |
| 1011 | X | Y | Z | Ä | Ö | Ü | ^ | _ |
| 1100 | ` | a | b | c | d | e | f | g |
| 1101 | h | i | j | k | l | m | n | o |
| 1110 | p | q | r | s | t | u | v | w |
| 1111 | x | y | z | ä | ö | ü | ß | DEL |
Hinweis: Die Kodierungstabellen wurden anhand des Quellcodes der RPC-XOS-firmware ermittelt. Fehler können nicht ausgeschlossen werden.
