PD
-
POCSAG Decoder
User Documentation Version 1.02
June 1995
Contents 1.
Introduction
2.
Registration
3.
Installation
4.
Interfacing
5. 5.1 5.1.1 5.1.2 5.2 5.3
Configuration PD.INI General Parameters Function Codes PAGERS.INI REJECT.INI
6. 6.1 6.2 6.3 6.4 6.5
Running the program Command Line Options Supported Keys Status Line Normal Mode Debug Mode
1.
Introduction
PD, together with a receiver or scanner, allows the off-air decoding of POCSAG paging signals at either 1200 or 512 bits/second. This makes it extremely useful for the testing of paging transmitters and systems. Decoding of both numeric and alphanumeric pager data is supported, as is the hex dumping of raw POCSAG codewords. PD runs on an IBM PC or equivalent, anything from an 8086 upwards. It requires 512K of conventional memory and a small amount of hard disk or floppy. Hard disk is recommended. PD runs from DOS, running from Windows is not recommended. 2.
Registration
PD is freely distributed as a shareware version. This has a timeout of about 5 minutes, after which a registration message is displayed and the program exits. Also the logging of pager data to disk is disabled. To obtain a fully functional registered copy of PD send a cheque or money order for 20.00 pounds sterling to:Peter Baston, 7 Allerton Close, Pen-y-ffordd, Clwyd, CH4 0NJ, U.K.
3.
Installation
In order to install the program copy the following files into a directory on a hard drive, or onto a floppy:PD.EXE PD.INI PAGERS.INI REJECT.INI PD.TXT
Pocsag Decoder program Configuration file List of pager codes (7 digit RIC's) to be logged List of pager codes to reject This documentation file
4.
Interfacing
The PD program requires serial POCSAG data to be applied to the CTS pin of one of the PC's COM ports. RS232 levels are required, ie at least +/3v. PD is insensitive to polarity, ie it doesn't matter which way up mark and space are. As POCSAG is transmitted as direct FSK of the VHF/UHF carrier the ideal way is to take the data direct from the discriminator, via a data slicer. The following circuit, however, has been fairly successful, taking audio directly from the receiver's speaker output:0.1 uF |\ +12v ---||-----------------------|- \| AF IN | |741 \ ---| | /--------------------- Data Out | \ ------|+ /| | CTS (pin 5/8) | / 100K | |/-12v | | \ | | GND ------ GND (pin 7/5) GND / ----/\/\/\---| | 100K | \ N.B. Pin Numbers for com port are GND / given as x/y, where x is for a 25 \ 10K way, y for a 9 way. / | GND The +/- 12v for the op-amp can be derived from unused signals on the COM port (gives more like +/- 10v but works fine !):TxD (2/3) --------------|<-------------------------------------- -12v | | RTS (4/7) --------------|<-------GND - | | _ + 1uF --------->|------- | Diodes 1N4148 | - + 1uF GND | | DTR (20/4) ------------->|-------------------------------------- +12v
5.
Configuration
5.1
PD.INI
The PD.INI file allows a limited amount of configuration of the PD program. Any text editor can be used to edit this file. The file is divided up into sections, headed by a name in square brackets, eg [general], [functions]. In each section are parameters, set to a value with an "=" sign, eg:logbeep=100 func1=alpha
5.1.1 General Parameters These parameters come under the [general] heading. This version only supports one parameter in this section 5.1.1.1
logbeep
This parameter allows the length of the "beep", sounded when a pager message is logged, to be set. It's format is:logbeep= eg:logbeep=100 Where is the length of the beep in milliseconds. A value of zero turns off the beeping, this is the default.
5.1.2 Function Codes These parameters come under the [functions] heading. Four parameters are supported - func0, func1, func2 and func3. These allow the decoding of the pager data to be determined by the function code, transmitted in the address codeword. The format for setting these parameters is:funcx=<string> Where <string> is one of:alpha
-
numeric raw
The message will be decoded as alphanumeric ASCII data. -
-
The message will be decoded as BCD numeric data.
The message will be dumped in raw form, as hex codewords
eg:func0=raw func1=numeric func2=numeric func3=alpha The program defaults to decoding all function codes as "alpha" data. 5.2
PAGERS.INI
This file contains a list of pager addresses to be logged and is simply a list of 7 digit RIC's, eg:1234567 0012345 etc This file may contain up to 100 addresses. Every time one of these addresses is encountered it is highlighted on the screen, a beep is sounded if configured, and the page is logged to disk with a date/time stamp. The log filename is .TXT, eg 1234567.TXT. 5.3
REJECT.INI
This file contains a list of pager addresses to be rejected, eg to save screen clutter. This file has the same format as described in 5.3 above.
6.
Running the Program
6.1
Command Line Options
PD is run from the DOS prompt with the following format:PD <-Px> <-B512> Where the command line options are:-Px
Use COM port x. Default is COM1.
-B512 Forces 512 bits/second POCSAG decoding, default is 1200 bps. 6.2
Supported Keys
The following keys are supported whilst PD is running:ESC
Exits the program
F1
Toggles between NORMAL and DEBUG modes
SPACE BAR
Toggles PAUSE mode on and off
6.3
Status Line
After PD starts up it displays a status line across the top of the screen, with a data area below. The status line is as shown below:NORMAL COM1 1200
* PD Version 1.02 *
PAUSE REJ / 09:30:57
The items on the status line are described below, from left to right:*
NORMAL/DEBUG indicator - shows which mode PD is currently operating in.
*
COM port currently in use.
*
Current POCSAG bit rate.
*
Version of PD being used.
*
PAUSE indicator - appears when paused by the space bar.
*
REJ indicator - appears when a pager address matches one listed in REJECT.INI
*
Rotating signal indicator. Appears to rotate when data is being received on the correct pin of the COM port. This is no indication of good data, just that the levels are correct.
*
The current time from the PC's real time clock.
6.4
Normal Mode
In NORMAL mode, as long as good POCSAG data is being received, lines of the following form are displayed:[RIC] [Function Code] eg:1234567 3 Please call 1234 - 5688 0345678 1 Test call [RIC] is the 7-digit RIC pager address [Function Code] is the transmitted function code 0,1,2 or 3 is numeric,alphanumeric or hex depending on the function code. The data field may overflow onto multiple lines. Before data is displayed in NORMAL mode the address codeword is checked for errors and must be error-free. Subsequent data codewords are not checked for errors. Some "garbling" of data may therefore occur if a good signal is not being received, although received RIC codes are guaranteed to be good. 6.5
Debug Mode.
In Debug mode the raw POCSAG codewords are dumped to the screen in hex form, eg:7A89C197 7A89CI97 7A89C197 7A89C197 7A89C197 7A89C197 7A89C197 7A89C197 7A89C197 7A89C197 14083EE2 7A89C197 7A89C197 7A89C197 7A89C197 7A89C197 Any codewords which do not pass the BCH and parity error checking are highlighted. This is very useful for checking the quality of the received signal. <<<<=====>>>>>