textfiles/computers/DOCUMENTATION/pd200.txt

597 lines
17 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

PD - POCSAG Decoder
User Documentation
Version 2.00 January 1996
Contents
1. Introduction
2. Registration
3. Installation
4. Interfacing
5. Configuration
5.1 PD.INI
5.1.1 General Parameters
5.1.2 Function Codes
5.1.3 Colours
5.2 PAGERS.INI
5.3 REJECT.INI
6. Running the program
6.1 Supported Keys
6.2 Status Line
6.3 Normal Mode
6.4 Debug Mode
Appendix A Version History
1. Introduction
PD, together with a receiver or scanner, allows the off-air decoding of
POCSAG paging signals at 512, 1200 or 2400 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 80286 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,
Chester,
CH4 0NJ,
U.K.
When ordering please state if the shareware version of PD is already in
use, and which version. Please also note that the registered software can
be sent out by email, if this is required please give your email address.
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 Pocsag Decoder program
PD.INI Configuration file
PAGERS.INI List of pager codes (7 digit RIC's) to be logged
REJECT.INI List of pager codes to reject
PD200.TXT This documentation file
7100MOD.TXT Notes on modifying Icom R-7100 to bring out the
discriminator output.
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 above circuit is a Schmitt Trigger, having thresholds of about +/- 1v.
If such a large threshold is not required, eg for a discriminator output,
then the level of positive feedback may be reduced by either reducing the
value of the 10K resistor or by increasing the value of the 100K feedback
resistor.
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 - -
| | _ + 10uF
--------->|------- - - |
Diodes 1N4148 | - + 10uF GND
| |
DTR (20/4) ------------->|-------------------------------------- +12v
5. Configuration
5.1 PD.INI
The PD.INI file allows the operation of PD to be configured. 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
In PD.INI, and any of the .INI files, comments may be added by starting the
line with "#' eg:-
# This is a comment.
5.1.1 General Parameters
These parameters come under the [general] heading.
5.1.1.1 comport
This allows the COM port used by PD to be set. COM port 1,2,3 or 4 may be
used, eg:-
comport=2
The default is COM1
5.1.1.2 bitrate
This alows the bitrate of POCSAG data to be set. Allowable options are 512,
1200, 2400 or auto. If auto is selected then the bit rate is determined by
PD at the beginning of each transmission. Examples:-
bitrate=1200
bitrate=auto
The default is auto.
5.1.1.3 logbeep
This parameter allows the length of the "beep", sounded when a pager message
is logged, to be set. It's format is:-
logbeep=<number>
eg:-
logbeep=100
Where <number> is the length of the beep in milliseconds. A value of zero
turns off the beeping, this is the default.
5.1.1.4 logging (Registered Version Only)
This parameter turn on or off logging to a daily log file. It can take the
value 0 (no logging), or 1 (enable logging). Example:-
logging=1
Daily log files have filenames of the form DD-MM-YY.log, or MM-DD-YY.log if
U.S. date format is selected. All decoded pages are logged to this file. At
midnight the daily log file is closed, and a new one opened.
The default is 0, logging off.
5.1.1.5 log_path (Registered Version Only)
This parameter allows the path for the storage of log files to be set. This
may be either an absolute path or may be relative to the current directory.
The path must always end in a "\". Examples:-
# Log files stored in subdirectory "logs" off the current PD directory:
log_path=logs\
# Log files stored at an absolute location:
log_path=C:\logfiles\
Please note that if the directory referenced does not exist then no logging
will take place.
The default is the current directory.
5.1.1.6 expire (Registered Version Only)
This parameter allows daily log files to be automatically deleted after a
given number of days. This will occur either when PD is started, or just
after midnight. The format is
expire=<number of days>
eg:-
# Expire any daily logs over 5 days old:
expire=5
The default is 0 (don't expire).
5.1.1.7 language
This option allows special language features to be enabled. it is currently
used to enable special "umlaute" characters used in the german language.
Eg:-
language=german
When this is enabled the following character translation will take place in
received alphanumeric paging messages:-
Rx Char (decimal) Display Char (decimal) Umlaute
125 129 ue <20>
124 148 oe <20>
123 132 ae <20>
126 225 ss
93 154 UE <20>
92 153 OE <20>
91 142 AE <20>
The default language is english.
5.1.1.8 accept
This parameter determines whether decoded addresses (RIC's) are allowed to
contain corrected errors. This can have two values, 0 (don't accept errors)
or 1 (accept errors). Eg:-
accept=0
The default is 0. This is recommended.
5.1.1.9 date (Registered Version Only)
This parameter allows the format of the date used when writing to log files
to be set. Two formats, uk or usa, are allowed, eg:-
# Use U.K. date format:
date=uk
# Use U.S. date format:
date=usa
The U.K. date format is DD/MM/YY, the U.S. date format is MM/DD/YY.
The default is the UK format.
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 - The message will be decoded as alphanumeric ASCII
data.
numeric - The message will be decoded as BCD numeric data.
raw - The message will be dumped in raw form, as hex
codewords.
auto - PD will attempt to decide whether the message is
numeric or alphanumeric, and decode accordingly.
reject - Any pages having this function code will be
rejected.
eg:-
func0=raw
func1=auto
func2=auto
func3=alpha
The program defaults to decoding all function codes as "alpha" data.
5.1.3 Colours
These parameters come under the [colours] heading and may each be set to
one of the following values:-
BLACK 0
BLUE 1
GREEN 2
CYAN 3
RED 4
MAGENTA 5
BROWN 6
WHITE 7
GRAY 8
LIGHTBLUE 9
LIGHTGREEN 10
LIGHTCYAN 11
LIGHTRED 12
LIGHTMAGENTA 13
YELLOW 14
BRIGHTWHITE 15
These parameters are in pairs, setting the foreground and background colours
for a particular screen area:-
status_fore/status_back Set the colours for the status line at the
bottom of the screen.
page_fore/page_back Set the colours for the first line of a
received page. This line contains the
received RIC, function code, bit rate and
decoding format.
message_fore/message_back Set the colours for the message part of a
received page. Also sets the colours for
the debug display, data with no errors.
log_fore/log_back Set the colours used to display a RIC code
that appears in PAGERS.INI.
corrected_fore/corrected_back Set the colours in debug mode for codewords
containing bit errors believed to be
corrected.
errored_for/errored_back Set the colours in debug mode for codewords
containing un-correctable errors.
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. Each RIC must begin in the first column and any
characters after the 7th are ignored, and may be used for comments. Also
lines beginning in "#" may be used for comments. RIC codes may contain
wildcards, using the "?" character. Eg:-
# A few pager numbers....
1234567 Fred's pager
0012345 Joe's pager
111???? Any pager number beginning "111"
This file may contain up to 250 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 <RIC>.LOG, eg 1234567.LOG. Wildcards are translated to
underscores in filenames, eg 111____.log.
Please note that a page will be logged by the first match found in the
file. For example if this file contained 12?????, and then 1234567 further
down, then pages to RIC 1234567 would go into 12_____.log and _not_ into
1234567.log. It is therefore best to put any entries containing wildcards
towards the bottom of the file so that the individual entries will catch
them first.
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 PAGERS.INI, described in
5.2 above.
6. Running the Program
6.1 Starting
PD is run from the DOS prompt by simply typing:-
PD<Enter>
No command line options are supported, if any are given then PD displays
the message:-
*****************************************************
*** All PD Configuration is now by editing PD.INI ***
*** No Command Line Switches are Supported ***
*****************************************************
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
N.B. PAUSE mode stops the output of paging messages to the screen. Any
logging will still carry on and is not affected.
6.3 Status Line
After PD starts up it displays a status line along the bottom of the screen,
with a data area below. The status line is as shown below:-
NORMAL <20> COM1 <20> 1200 <20> REJ <20> PAUSE <20> 13-01-96.LOG 280890 <20> 100.0 <20> \ 13:50:39
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.
* REJ indicator - appears when a pager address matches one listed in
REJECT.INI
* RUN/PAUSE indicator - indicates when paused by the space bar.
* Filename of current daily log file, and current file size.
* Indication of receiving efficiency. 100% indicates that all received
codewords contain no errors. Any codewords containing errors, whether
corrected or not, will drive this figure down.
* 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: <RIC code> FUNC: <func code> RATE: <bit rate> <decoding type> [auto]
Where:-
<RIC code> is the 7-digit pager address
<func code> is the single digit function code 0,1,2 or 3
<bit rate> is the data rate at which the page was received:
512, 1200 or 2400
<decoding type> specifies how the message data is being decoded:
Tone - Tone - only page
Numeric - BCD numeric page
Alpha - ASCII alphanumeric page
[auto] is appended to the line if PD is making an automatic
alpha/numeric decision for this function code.
In the case of numeric or alphanumeric pages then another line or lines of
message data follow.
eg:-
RIC: 1234567 FUNC: 3 RATE: 512 Alpha:
Please call 1234 - 5688
RIC: 0345678 FUNC: 1 RATE: 1200 Tone
RIC: 0000123 FUNC: 2 RATE: 2400 Numeric (auto):
555-123-1212
Before data is displayed in NORMAL mode the address codeword is checked for
errors. If the "accept" parameter in PD.INI is set to 0 then this codeword
must be error free, thus ensuring that the correct RIC is always displayed.
If "accept" is set to 1 then address codewords will be accepted even if
they had correctable errors. This means there is a chance that the wrong
RIC will be displayed - if a large number of bit errors are present.
Subsequent data codewords are decoded irrespective of any errors. This
means that some "garbling" of data will occur in the presence of a lot of
errors. All codewords are, however, error corrected. This means that, in
the presence of 1 or 2 bit errors, the orignal codeword will be recovered.
6.5 Debug Mode.
In Debug mode the batches of 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 containing errors will be displayed in different colours, as
configured in PD.INI. By default codewords containing corrected errors are
displayed as yellow on white whilst codewords containing un-correctable
errors are displayed as red on white.
The debug mode is very useful for setting up, as it gives an indication of
the number of errors currently being received. The shareware version will
not time out while in debug mode.
Please note that no logging will take place while in debug mode.
APPENDIX A
PD Software History
VERSION 1.02 Initial Released Version
VERSION 2.00 Major Release
* Now supports 2400 baud and has auto bit-rate detection.
* Will now attempt to correct up to 2 bit errors in a codeword.
* Will now attempt to auto-detect numeric or alphanumeric data.
* Now supports logging of all messages to daily log files.
* Logging now continues whilst in PAUSE mode.
* PAGERS.INI and REJECT.INI will now allow comments after pager addresses.
* PAGERS.INI and REJECT.INI will now allow wildcards in pager addresses.
* PAGERS.INI and REJECT.INI will now accept up to 250 entries each.
* Date format may now be configured for the US market.
* Will now correctly display "umlaute" characters used in German.
* Screen colours may now be configured.
<<<<<=====>>>>>