Chaos Technical Library

POCSAG INTERNALS

1) Verwendung:

Der POCSAG-Code wird fur sog. Pager-Dienste verwendet. Dies sind Dienste, mit denen dem Teilnehmer uber Funk Nachrichten ubermittelt werden, die mittels sog. Pager empfangen werden. Er stellt quasi eine Weiterentwicklung des sog. EFuRD (Europaischer Funkrufdienst - Europieper) dar. In der Praxis wird Cityruf u.a von Arzten, 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 fur 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:

Codeworter unter Cityruf bestehen aus 32 Bit, das erste Bit dient zur Unterscheidung zwischen Adress- und Nachrichtenwort. Die nachsten 20 Bits enthalten die Adresse inkl. Modus oder eine Nachricht. Die nachsten 10 Bits stellen die Prufsumme dar, Bit 32 stellt eine gerade Paritat 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          Paritat

Nachrichtenworte konnen auch batchubergreifend ausgesendet werden, sie durfen aber ein Syncronwort nicht uberschreiben.

3) Batches und Adressierung

Jeweils zwei Codeworter 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 Praambel vorangestellt, sie dient der Syncronisation der PLL der Empfanger. Nochmal als Grafik: Praambel-SW-CWCW-CWCW-CWCW-CWCW-CWCW-CWCW-CWCW-CWCW-SW-CWCW-CWCW-CWCW-.... Die, wie geschrieben zur PLL-Syncronisation verwendete Praambel besteht aus einer Folge von 0 und 1, welche mindestens 576 Bits lang ist. Die Wirkungsweise einer PLL-Schaltung wird hier aber nicht naher 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 Empfangern (jedes bessere Radio enthalt 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 ubertragen, also fehlen noch drei Bits. Diese werden, uber die Stellung des Codewortes innerhalb des Batches dargestellt. Wie bekannt werden die Codeworter in Frames zu zwei Stuck zusammengestellt. Nun gibt es ja acht Frames. Wer sich jetzt einwenig mit Binaren Systemen auskennt, kann sich ja denken, wo die drei Bits herkommen, wer sich nicht mit Binarzahlen 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 Stuck) lassen sich auch mit drei Bits von 000 - 111 Binar darstellen. Die 18 Bits aus dem Codewort stellen die sog. hochstwertigen 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 mochte, gibt einfach in den Taschenrechner mal 2^21 ein. (2 = Anzahl der Moglichkeiten, 21 Anzahl der Stellen, vergl. 10^2 ;-). Wer sich das noch einfacher machen mochte liest einfach weiter: 2.097.715 oder etwas uber 2 Millionen.

Die Bits 20 und 21 werden zur Bestimmung des Modus verwendet: Bei ,,Nur Ton'' Geraten werden diese Ihrer Bit-Kombination entsprechend bewertet: 00 = 1, 11 = 4. Bei Alpha- und Numerischen Geraten steht 00 fur numerische-, 11 fur Alphagerate. Laut Definition kann ein Alphagerat keine numerischen Rufe, und numerische Gerate keine Alpha-Codes (bei Alpha- Geraten werden Zahlen mittels des ,,normalen Alphabets'' ubermittelt.

4) Synchron- und Idlewort.

Das Synchronwort dient, wie schon beschrieben, der Synchronisation zwischen den Batches. Mit dem Idlewort werden fehlende Codeworter innerhalb eines Batches aufgefullt. Das Idlewort stellt ein gultiges Adresswort da, und darf keinem Empfanger zugeordnet werden (:-). Die nachstehende Tabelle zeigt beide Worter:

                               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 enthalt 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 Prufbits 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 hangt hier noch mal 10 * 0 dran. Nun nimmt mensch das ,,Generatorpolynom'' 11101101001. Nun fangt mensch von links mit 'ner XOR-Verknupfung (0+0 = 0, 0+1 = 1, 1+0 = 1, 1+1 = 0) an, die beiden Polynome miteinander zu verknupfen. (Und schmeisst dabei immer die fuhrenden Nullen raus, fangt also im Beispiel bei 11110101000 an.) Die verbleibende Bit-Kombi wird mit Bits aus der oberen Reihe aufgefullt. Dies macht mensch solange weiter, bis ein weiteres Auffullen mehr Bits brauchen wurde, als da sind. Das verbleibende Bit-Feld stellt die Prufsumme dar. Beispiel:

                          0000000000
     011110101000100111000
      11101101001
     ------------------
      00011000001100
         11101101001
        ----------------
         0010110010111 
                 .
                  .
                   .

                        11101101001
                       -------------
                        011110100010
                         11101101001
                        ------------
                         00011001011

6) Nachrichtenaufbau

Es gibt zwei Arten von Codeworten: Adressen- und Nachrichtenworter. 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 Nachrichtenubermittlung. Dies kann auch batchubergreifend geschehen. Hierbei darf das Syncronwort aber nicht uberschrieben werden. Zwischen zwei Nachrichtenworten soll entweder ein Nur-Adress- oder ein Idlewort ubermittelt werden. Die Nachrichtenubermittlung an Numerikempfanger geschieht mittels ein 4-Bit Codierung , die Ubermittlung an Alphagerate benotigt 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 A k a
1 1 0 0             ' '        FF  FS   , < L O l o
1 1 0 1              -         CR  GS   - = M U m u
1 1 1 0              ]         SO  RS   . > N ^ n ?
1 1 1 1              [         SI  US   / ? O _ O DEL

7) Andere Lander andere Sitten

Land:          Bemerkungen:

Gro?britanien    608 Bit Praambel
Frankreich     576 Bit Praambel
Italien        576 Bit Praambel

8) Synchronwort fur 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) Schaltplane, Software und Bezugsquellen

Es gibt ein kleines MSDOS-Programm (auch als C-Source), das unter Zuhilfenahme eines sog. Scanners und einer kleinen Schaltung das Mitlesen von Cityrufnachrichten ermoglicht. Dieses Programm dient nur zu Schulungszwecken, und darf in der BRD nicht zusammen mit einer entsprechenden Schaltung und einem Scanner verwendet werden.

Nachfolgend findet Ihr eine Schaltung, die im Zusammenhang mit dem obigen Programm und einem Scanner das Mitlesen von Cityrufnachrichten ermoglicht. Die Schaltung dient nur zu Schulungszwecken, und darf in der BRD nicht zusammen mit der vom CCC angebotenen Software und einem Scanner verwendet werden.

               +5V
               O--+----------------------------+------------+
                  |                            |            |
                +-+-+                          |            |
                |   |                          -10uF        |
            68K |   |                          -            |
                |   |                          |            |
                +-+-+        +-----+           |  +-----+ +-+
                  |         1|     |           |  |     | | |
         )----||--+----------+     +         +-|--+     +-+ -10uF
       sin    68nF|         2|     |     10uF- |  |     |   -
                  |        +-+     +         - +--+     +---+
             +----+        |3|     |         |    |     |   |
             |    |   \    +-+     +         +----+     +-- | ---> V.24 
             |  +-+-+/  \   4|     |        +--+  |     |   |
             |  |  /|     +--+     +        -  +- +     +   |
             |  |/  |100K |  |LS 14|        -10uF |     |   |
             +-/|   |     |  +     +        +-----+     +   |
                +-+-+     |  |     |              |MAX  |   |
                  |       |  +     +        +-----+ 232 +-+ |
                  |       | 7|     |        |     |     | | |
                  |       |+-+     +        -     +     + | |
                  |       || |     |        -10uF |     | | |
                  |       || +-----+        |     +     + | |
                  |       |+----+           |     |     | | |
                  +-------+-+   |           |     +-----+ | |
                            |   |           |             | |
                            |   +-------------------------+ |
                            |               |               |
                            +---------------+---------------+
                            |
                          __|__ GND
                  

Den Bausatz (keine fertigen Gerate) zu dieser Schaltung konnt Ihr auch bestellen. Und zwar bei:

Rolf Wuerdemann
rowue@digitalis.org
Stammannstr. 31
22303 Hamburg

zum Preis von DM 42,00.

HINWEIS: Die Bausatze sind ausschlie?lich per Versand zu erhalten. Unangemeldete Besuche sind grundsatzlich zwecklos. Es gibt dann keine Ware und es ist mit einstweiliger Erschie?ung zu rechnen.

Scanner gibt es im einschlagigen Fachhandel (in Hamburg z.B. Radio Kolsch - Schulterblatt). Von einem Kauf uber Versand ist abzuraten, da sich solche Laden des haufigeren unangenehmen Besuchs erfreuen durfen, bei dem die Kundendatei ihren Wohnort wechselt.


Используются технологии uCoz