From Wikipedia, the free encyclopedia
Jump to: navigation, search
Skyper for POCSAG

POCSAG is an asynchronous protocol used to transmit data to pagers. The name comes from Post Office Code Standardization Advisory Group, this being the British Post Office which used to run nearly all telecommunications in Britain before privatization.

The main alternative to POCSAG is FLEX, which uses higher speeds and a four level modulation method. GOLAY, TONE and ERMES are previous paging protocols.

The family of POCSAG protocols can operate at three speeds, 512 bits per second (the original specification speed) is the base standard.

With Super-POCSAG 1200 bits per second, or 2400 bits per second transmission rates are possible. Super-POCSAG has mostly displaced the POCSAG in the developed world but the transition is still in progress.

The related Flex Synchronous protocol achieves speeds of 1600 bits per second, 3200 bits per second and 6400 bits per second.

How it works[edit]

The modulation used is FSK with a ±4.5 kHz shift on the carrier. The high frequency represents a 0 and the low frequency a 1.[1]

The ±4.5 kHz frequency shift is used along with a 25 kHz channel spacing, known as "wideband". Some jurisdictions require that all systems move to a "narrowband" configuration, using 12.5 kHz channels and ±2.5 kHz frequency shifts (for example, the U.S. Federal Communications Commission (FCC) has mandated this transition be completed prior to 2013.[2])

Often single transmission channels contain blocks of data at more than one of the rates.

Transmission use 32-bit blocks called codewords. Each codeword carries 21 bits of information (bits 31 through 11), 10 bits of error-correcting code (bits 10 through 1), and an even parity bit (bit 0). Bits 31 through 1 are a cyclic code (31, 21). The error-correcting code has a 6-bit Hamming distance: each 31-bit codeword differs from ever other codeword in at least 6 bits. Consequently, the code can detect and correct up to 2 errors in a codeword.

The generating polynomial g(x) for the (31,21) code is:[3]

    &=(x^5 + x^2 + 1)(x^5 + x^4 + x^3 + x^2 + 1)

The codewords are either address or data, which is indicated by the first bit transmitted, bit 31. An address codeword contains 18 bits of address (bit 30 through to 13), and 2 function bits (12 & 11). Each data codeword carries 20 bits of data (bits 30 through to 11).

Codewords are transmitted in batches that consist of a sync codeword, defined in the standard as 0x7CD215D8, followed by 16 payload codewords that are either address or data. Any unused codewords are filled with the idle value of 0x7A89C197.

Although the address (also referred to as a RIC - Radio Identity Code) is transmitted as 18 bits the actual address is 21-bits long: the remaining three bits are derived from which of the 8 pairs of codewords in the batch the address is sent in. This strategy allows the receiver to turn off for a considerable percentage of the time as it only needs to listen to the pair that applies to it, thus saving a significant amount of battery power.

Before a burst of data there will always be a preamble of at least 576 bits of data containing alternating 1s and 0s, allowing the receiver to synchronize itself to the signal, and is another mechanism that enables the receiver to be turned off for a large percentage of the time.

A message will start with an address codeword followed by a number of data codewords and will continue until another address, a sync, or an idle codeword is sent. When the data bits are extracted they will be in one of two formats.

Message format[edit]

There are two message coding formats for the data messages. Numeric messages are sent as 4 bit BCD values, and alphanumeric messages are sent as 7-bit ASCII. The 7-bit ASCII is commonly referred to as 'alpha-paging', and 4-bit BCD is commonly referred to as 'numeric-paging'.

Numeric paging[edit]

BCD encoding packs 4 bit BCD symbols 5 to a codeword into bits 30-11.

The most significant nibble (bits 30,29,28,27) is the leftmost (or most significant) of a BCD coded numeric datum.

Values beyond 9 in each nibble (i.e. 0xA through 0xF) are encoded as follows:

  • 0xA Reserved (possibly used for address extension)
  • 0xB Character U (urgency)
  • 0xC " ", Space (blank)
  • 0xD "-", Hyphen (or dash)
  • 0xE ")", Left bracket
  • 0xF "(", Right bracket

BCD messages are space padded with trailing 0xC's to fill the codeword. There is no POCSAG specified restriction on message length, but particular pagers of course have a fixed number of characters in their display.

Text paging[edit]

Alphanumeric messages are encoded in 7-bit ASCII characters packed into the 20 bit data area of a message codeword (bits 30-11). Since three seven bit characters are 21 rather than 20 bits and the designers of the standard did not want to waste transmission time, they chose to pack the first 20 bits of an ASCII message into the first code word, the next 20 bits of a message into the next codeword and so forth.

What this means that a 7-bit ASCII character of a message that falls on a boundary can and will be split between two code words, and that the alignment of character boundaries in a particular alpha message code word depends on which code word it is of a message. The side benefit of this is a slightly increased error-correcting code reliability for messages that span more than one POCSAG packet.

Within a codeword 7-bit characters are packed from left to right (MSB to LSB). The LSB of an ASCII character is sent first (is the MSB in the codeword) as per standard ASCII transmission conventions, so viewed as bits inside a codeword the characters are bit reversed.

National implementations[edit]

Example of Pocsag transmission in 1200 bits per second. This file may have problems; see Talk:POCSAG#Example file.

Problems playing this file? See media help.

In the UK most pager transmissions are in three bands at

  • 138 MHz
  • 153 to 153.5 MHz
  • 454 MHz

The frequency 466.075 MHz was previously used by Hutchinson paging, but the network was shut down in 2000. The frequency is still reserved for paging but is not used.

In Germany well known transmissions are at

  • 173 MHz range (Fire Departments, Rescue)
  • 439.9875 MHz (Amateur-Radio pager-network)
  • 466.075 MHz (nationwide public paging by emessage)
  • 465.970 MHz (-same-, old frequency of the POCSAG-Service Skyper)
  • 448.425 MHz (nationwide Fire Departments, Rescue by emassage (named e*Bos), old frequency of the POCSAG-Service Telmi)

Licensed paging is possible in any other VHF/UHF bands.

In Spain nationwide service was provided by Telefónica Mensatel but the network was shut down in 2012.

The Swedish pager network marketed as "Minicall" is encoded as POCSAG and broadcast on these frequencies:

  • 169.800 MHz
  • 161.4375 MHz

The Belgium POCSAG is used for paging over the A.S.T.R.I.D. network:

  • 169.625 MHz: POCSAG 2400 (Fire Departments, Rescue)


United States of America

  • POCSAG can be used on any of the frequencies reserved for paging.
  • 35.2200
  • 35.5800
  • 43.2200
  • 43.5800
  • 152.0075 Medical Paging
  • 152.2700
  • 152.4800
  • 157.4500 Medical Paging
  • 158.1000
  • 158.7000
  • 163.2500 Medical Paging
  • 454.0125 to 454.5000 (12.5 kHz steps)
  • 462.7500 to 462.9250 (25 kHz steps)
  • 465.0000
  • 929.0125 to 929.9875 (12.5 kHz steps)
  • 931.0125 to 931.9875 (12.5 kHz steps)



  • 931.4375 MHz; (UHF) (Skytel)
  • 931.9375 MHz; (UHF) (Skytel)

Australia uses the following frequencies for localised paging, such as in hospitals, hotels and other facilities

  • 148.3375 MHz (VHF)
  • 450.375 MHz (UHF)
  • 450.325 MHz (UHF)

Other paging systems for wide-area paging, such as commercial networks are licensed and operate anywhere in the VHF/UHF bands.


External links[edit]