Aufbau des Pocsag-Codes 1) Verwendung 2) Aufbau eines Codewortes 3) Batches und Adressierung 4) Syncron- und Idlewort 5) Checksumme 6) Nachrichtenaufbau 7) Andere Länder andere Sitten 8) Synchronwort für Inforuf 9) Schaltpläne, Software und Bezugsquellen 1) Verwendung: Der Pocsag-Code wird für sog. Pager-Dienste verwendet. Dies sind Dienste, mit denen dem Teilnehmer über Funk Nachrichten übermittelt werden, die mittels sog. Pager empfangen werden. Er stellt quasi eine Weiterentwicklung des sog. EFuRD (Europäischer Funkrufdienst - Europieper) dar. In der Praxis wird Cityruf u.a von Ärzten, Journalisten, Service-Technikern, aber auch Privatpersonen verwendet. Eine Neuerung stellt der SCALL-Dienst der DeTeMobil (Telekom Tochter) dar, er wurde speziell auf Jugendliche zugeschnitten. Der Pocsag-Code wird in der BRD für folgende Funkdienste verwendet: Cityruf 465.970 Mhz 512 Baud 466.075 Mhz 1200 Baud 466.230 Mhz 1200 Baud Euromessage 466.075 Mhz 1200 Baud Inforuf 466.230 Mhz 1200 Baud SCALL 466.230 Mhz 1200 Baud BOS-POCSAG 2m - Bos Band 1200 Baud 2) Aufbau eines Codewortes: Codewörter unter Cityruf bestehen aus 32 Bit, das erste Bit dient zur Unterscheidung zwischen Adress- und Nachrichtenwort. Die nächsten 20 Bits enthalten die Adresse inkl. Modus oder eine Nachricht. Die nächsten 10 Bits stellen die Prüfsumme dar, Bit 32 stellt eine gerade Parität her. Nochmal als Tabelle: Bit Nr.: Funktion: Bemerkung: 1 Codewortbeschreibung 0 = Adresse, 1 = Nachricht 2-21 Adresse (2-19) Modus (20-21) / Nachricht (2-21) 22-31 Checksumme 32 Parität Nachrichtenworte können auch batchübergreifend ausgesendet werden, sie dürfen aber ein Syncronwort nicht überschreiben. 3) Batches und Adressierung Jeweils zwei Codewörter werden zu einem Rahmen (Frame) zusammengefaßt. In einem Batch werden acht dieser Frames zusammengefaßt. Diesen acht Frames wird dann noch ein Syncronwort vorangestellt, womit der Begin eines Batches signalisiert wird. Einer Gruppe von Batches (es kann aber auch ein Batch sein) wird noch eine Präambel vorangestellt, sie dient der Syncronisation der PLL der Empfänger. Nochmal als Grafik: Präambel-SW-CWCW-CWCW-CWCW-CWCW-CWCW-CWCW-CWCW-CWCW-SW-CWCW-CWCW-CWCW-.... Die, wie geschrieben zur PLL-Syncronisation verwendete Präambel besteht aus einer Folge von 0 und 1, welche mindestens 576 Bits lang ist. Die Wirkungsweise einer PLL-Schaltung wird hier aber nicht näher beschrieben, da sie mit dem Pocsag-Verfahren relativ wenig zu tun hat, und einen eigenen Text Wert ist. Generell besteht eine PLL-Schaltung aus einem Regelkreis, und dient dazu, Signale Frequenz- und Phasenstabil einzustellen. Unter anderem werden sie auch in Sendern- und Empfängern (jedes bessere Radio enthält heutzutage eine PLL-Schaltung) oder auch in Plattenspielern verwendet, um hier nur Beispiele zu nennen. Pocsag-Adresscodes sind insgesamt 21 Bit lang. 18 Bits werden, wie beschrieben innerhalb eines Codewortes übertragen, also fehlen noch drei Bits. Diese werden, über die Stellung des Codewortes innerhalb des Batches dargestellt. Wie bekannt werden die Codewörter in Frames zu zwei Stück zusammengestellt. Nun gibt es ja acht Frames. Wer sich jetzt einwenig mit Binären Systemen auskennt, kann sich ja denken, wo die drei Bits herkommen, wer sich nicht mit Binärzahlen auskennt, sollte sich jetzt einen Zettel nehmen, und vier Spalten machen: 2 1 0 D, und mal eine Tabelle in folgender Form erstellen: 2 1 0 D 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 . . . 1 1 1 7 oder anders gesagt: die Zahlen von 0 - 7 (acht Stück) lassen sich auch mit drei Bits von 000 - 111 Binär darstellen. Die 18 Bits aus dem Codewort stellen die sog. höchstwertigen Bits dar, die drei aus der Stellung des Codewortes (besser des Frames) innerhalb des Batches die niederwertigen. Wer jetzt noch seinen Zettel zur Hand hat, kann ja mal versuchen herauszufinden, wieviele Adressen es gibt. Wer sich Zeit sparen möchte, gibt einfach in den Taschenrechner mal 2^21 ein. (2 = Anzahl der Möglichkeiten, 21 Anzahl der Stellen, vergl. 10^2 ;-). Wer sich das noch einfacher machen möchte liest einfach weiter: 2.097.715 oder etwas über 2 Millionen. Die Bits 20 und 21 werden zur Bestimmung des Modus verwendet: Bei ,,Nur Ton'' Geräten werden diese Ihrer Bit-Kombination entsprechend bewertet: 00 = 1, 11 = 4. Bei Alpha- und Numerischen Geräten steht 00 für numerische-, 11 für Alphageräte. Laut Definition kann ein Alphagerät keine numerischen Rufe, und numerische Geräte keine Alpha-Codes (bei Alpha- Geräten werden Zahlen mittels des ,,normalen Alphabets'' übermittelt. 4) Syncron- und Idlewort. Das Syncronwort dient, wie schon beschrieben, der Syncronisation zwischen den Batches. Mit dem Idlewort werden fehlende Codewörter innerhalb eines Batches aufgefüllt. Das Idlewort stellt ein gültiges Adresswort da, und darf keinem Empfänger zugeordnet werden (:-). Die nachstehende Tabelle zeigt beide Wörter: 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 Wort Bit: 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 ------------------------------------------------------------------------------ Syncronw.: 0 1 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 Idlewort: 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 5) Checksumme: Jedes Codewort enthält 21 Informationsbits. Diese stellen die Koeffizienten eines Polynoms (x^30-X^10) da. Der Rest der Polynomkoeffizienten ist 0. Dieses Polynom wird geteilt (modulo 2) durch das Generatorpolynom x^10+x^9+x^8+x^6+x^5+ x^3+x^0. Die Prüfbits entsprechen den Koeffizienten x^9 bis x^0 des nach der Division verbleibenden Restpolynoms. Nochmal etwas anders formuliert: Mensch nehme die Info-Bits: (Idlewort:) 011110101000100111000 und hängt hier noch mal 10 * 0 dran. Nun nimmt mensch das ,,Generatorpolynom'' 11101101001. Nun fängt mensch von links mit 'ner XOR-Verknüpfung (0+0 = 0, 0+1 = 1, 1+0 = 1, 1+1 = 0) an, die beiden Polynome miteinander zu verknüpfen. (Und schmeisst dabei immer die führenden Nullen raus, fängt also im Beispiel bei 11110101000 an.) Die verbleibende Bit-Kombi wird mit Bits aus der oberen Reihe aufgefüllt. Dies macht mensch solange weiter, bis ein weiteres Auffüllen mehr Bits brauchen würde, als da sind. Das verbleibende Bit-Feld stellt die Prüfsumme dar. Beispiel: 0000000000 011110101000100111000 11101101001 ------------------ 00011000001100 11101101001 ---------------- 0010110010111 . . . 11101101001 ------------- 011110100010 11101101001 ------------ 00011001011 6) Nachrichtenaufbau Es gibt zwei Arten von Codeworten: Adressen- und Nachrichtenwörter. Wenn nach einem Adresswort kein Nachrichtenwort kommt, so handelt es sich um einen Tonruf (BEEP). Wenn nach der Adresse ein oder mehrer Nachrichtenworte kommen, so ist dies logischerweise eine Nachrichtenübermittlung. Dies kann auch batchübergreifend geschehen. Hierbei darf das Syncronwort aber nicht überschrieben werden. Zwischen zwei Nachrichtenworten soll entweder ein Nur-Adress- oder ein Idlewort übermittelt werden. Die Nachrichtenübermittlung an Numerikempfänger geschieht mittels ein 4-Bit Codierung , die Übermittlung an Alphageräte benötigt 7 Bit. Tabelle: Zeichen Numeric Alpha 7 0 0 0 0 1 1 1 1 Bit 6 0 0 1 1 0 0 1 1 4 3 2 1 5 0 1 0 1 0 1 0 1 0 0 0 0 0 NUL DLE ' '0 ß P ' p 0 0 0 1 1 SOH DC ! 1 A Q a q 0 0 1 0 2 STX DC " 2 B R b r 0 0 1 1 3 ETX DC # 3 C S c s 0 1 0 0 4 EOT DC $ 4 D T d t 0 1 0 1 5 ENQ NAK % 5 E U e u 0 1 1 0 6 ACK SYN & 6 F V f v 0 1 1 1 7 BEL ETB ` 7 G W g w 1 0 0 0 8 BS CAN ( 8 H X h x 1 0 0 1 9 HT EM ) 9 I Y i y 1 0 1 0 - SPARE - LF SUB * : J Z j z 1 0 1 1 U VT ESC + ; K Ä k ä 1 1 0 0 ' ' FF FS , < L Ö l ö 1 1 0 1 - CR GS - = M Ü m ü 1 1 1 0 ] SO RS . > N ^ n ß 1 1 1 1 [ SI US / ? O _ O DEL 7) Andere Länder andere Sitten Land: Bemerkungen: Großbritanien 608 Bit Präambel Frankreich 576 Bit Präambel Italien 576 Bit Präambel 8) Syncronwort für Inforuf 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 Bit: 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 -------------------------------------------------------------------- 0 1 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 9) Schaltpläne, Software und Bezugsquellen Der Chaos Computer Club bietet ein MSDOS-Soft an (C-Source), die unter Zuhilfenahme eines sog. Scanners und einer kleinen Schaltung daß Mitlesen von Cityrufnachrichten ermöglicht. Diese Soft dient nur zu Schulungszwecken, und darf in der BRD nicht zusammen mit einer entsprechenden Schaltung und einem Scanner verwendet werden. Chaos Computer Club e.V. Schwenckestr. 85 20255 Hamburg Diskette: ,,Hack'' DM 25.- + Porto (5.-) Diese Software liegt ebenfalls auf dem Mailserver des CCC (ccc-serv@mail.ccc.de), und läßt sich dort kostenlos beziehen. Die Firma rowue datentechnik bietet ein Schaltung an, die im Zusammenhang mit der vom Chaos Computer Club angebotenen Software und einem Scanner daß mitlesen von Cityrufnachrichten ermöglicht. Die Schaltung dient nur zu Schulungszwecken, und darf in der BRD nicht zusammen mit der vom CCC angebotenen Software und einem Scanner verwendet werden. rowue datentechnik c/o Rolf Würdemann Annenstr. 31 20359 Hamburg Schaltung: "DFSK-Decoder" - Bausatz 30.- Fertiggerät 60.- (beides inkl. Porto) Wer sich den Kram selbst besorgen will, findet hier den Schaltplan: +5V O--+----------------------------+------------+ | | | +-+-+ | | | | -10uF | 68K | | - | | | | | +-+-+ +-----+ | +-----+ +-+ | 1| | | | | | | )----||--+----------+ + +-|--+ +-+ -10uF sin 68nF| 2| | 10uF- | | | - | +-+ + - +--+ +---+ +----+ |3| | | | | | | | \ +-+ + +----+ +-- | ---> V.24 | +-+-+/ \ 4| | +--+ | | | | | /| +--+ + - +- + + | | |/ |100K | |LS 14| -10uF | | | +-/| | | + + +-----+ + | +-+-+ | | | |MAX | | | | + + +-----+ 232 +-+ | | | 7| | | | | | | | |+-+ + - + + | | | || | | -10uF | | | | | || +-----+ | + + | | | |+----+ | | | | | +-------+-+ | | +-----+ | | | | | | | | +-------------------------+ | | | | +---------------+---------------+ | __|__ GND Scanner gibt es im einschlägigen Fachhandel (in Hamburg z.B. Radio Kölsch - Schulterblatt). Von einem Kauf über Versand ist abzuraten, da sich solche Läden des häufigeren unangenehmen Besuchs erfreuen dürfen, bei dem die Kundendatei ihren Wohnort wechselt. Die Hacktic-Technologies bieten eine Komplettschaltung an, die nur noch einen Scanner braucht, und die Daten mit 9600 Baud ausgibt. Preis unbekannt. (liegt aber zwischen 150.- und 350.-) (C)opyleft 1994/1995 by Rolf Würdemann (rowue@smoke.ccc.de) Verbreitung bei Quellenangabe, ,,Belegexemplar'' und als Orginaltext nicht nur erlaubt sondern erwünscht.