1 April 2019

CCIR-493 "Australian" selcall FSK 100Bd/170 (4-digit IDs, 1000ms preamble)


I preferred to change the title "CODAN selcall" with "Australian selcall" since this system is used by many manufacturers such as Codan, Barret, QMAC, ..., and its decoding is not unique (see the image at the bottom of this post). 

Several 3 KHz spaced channels which use the CCIR-493 "Australian" Selcall FSK 100Bd/170 (4-digit IDs) sometimes erroneously referred to as CODAN-8580, spotted on 8MHz using Hong Kong KiwiSDR:
 http://kb7gkh6.proxy.kiwisdr.com:8073.
The system is a synchronous system based on ITU Recommendation M.493 [1] [2], Digital selective-calling system for use in the maritime mobile service, and is very similar to GMDSS/DSC (Fig. 1).

Fig. 1- ITU M.493 FSK parameters
Each data byte consists of 7 data bits and 3 parity bits (10-bit error detecting code), thus the duration of each character is 100 ms. The first seven bits (1-7) of the code are information bits; bits 8, 9 and 10 indicate, in the form of a binary number, the number of B elements that occur in the seven information bits, a Y element being a binary number 1 and a B element a binary number 0. For example, a BYY sequence for bits 8, 9 and 10 indicates 3 B elements in the associated seven information bit sequence; and a YYB sequence indicates 6 B elements in the associated seven information bit sequence.

The bitstreams after demodulation, as the one reported in Figure 2, can be easily parsed according the Table A1-1 "Ten-bit error-detecting code" from ITU M.493-15: the table is published at the end of the post for your convenience. The seven information bits of the primary code express a symbol number from 00 to 127, as shown in Table A1-1, where:
– the symbols from 00 to 99 are used to code two decimal figures;
– the symbols from 100 to 127 are used to code service commands.


Fig. 2 - bitstream after demodulation of a CODAN Selcall
A preamble of dot reversals, to provide appropriate conditions for earlier bit synchronization and to allow for scanning methods, precedes the data block.
As I verified, in all these selcall messages the preamble consists of 50 changes between "0" and "1" i.e. 100 bits(!) and therefore it has duration of 1 second (as also shown in Fig.3). Note that the 100 bits length is not provided in ITU M.493-15 or in other similar documents; quoting a comment from my friend hf_linkz: "it all depends on how many freqs are in the scanning list of each radio of a net. It has to be long enough so radios can detect the preamble while scanning so then stopping on the channel for a decode. On my Codan 9360’s the value is 6 seconds and you can’t change it while on my Barrett 950 & Codan NGT-SR you can set manually the preamble length in seconds. I’m not sure but I guess the radios of this net are not scanning freqs at all, so 1 sec is prob the best value to optimize transfers/min ratio".

Fig. 3 - preamble duration
The preamble pattern is followed by a synchronization sequence called the "phasing sequence" in which the characters 125,109,125,108,125,107,125,106,125,105,125,104 are transmitted. The phasing sequence provides information to the receiver to permit correct bit phasing and unambiguous determination of the positions of the characters within a call sequence (remember that Y = 1 and B =0):

YBYYYYYBBY 125
YBYYBYYBYB 109
YBYYYYYBBY 125
BBYYBYYBYY 108
YBYYYYYBBY 125
YYBYBYYBYB 107
YBYYYYYBBY 125
BYBYBYYBYY 106
YBYYYYYBBY 125
YBBYBYYBYY 105
YBYYYYYBBY 125
BBBYBYYYBB 104

The phasing sequence is followed by the "call content" with addresses and command/control characters. The Specifier symbol establishes the general nature fo the call; these basic options are: allcall and selective call. The Address consists of a special symbol in the case of alcalls and the identification symbols for the required station for selective calls:

YYBYYYYBBY 123
YYBYYYYBBY 123
BYBYBBYYBB  74
called station: 7474
YYBYYYYBBY 123
BYBYBBYYBB  74
YYBYYYYBBY 123
BBYBBYYYBB 100
BYBYBBYYBB  74
YBYBYYBBYY  53
calling station: 5348
BYBYBBYYBB  74
BBBBYYBYBY  48

123 = Format: selective call to a particular individual station using the semi-automatic/automatic service
100 = Category: routine

Messages and "end of sequence” (EOS) follow.

downloads:
not-unique decoding of a same sample

No comments:

Post a Comment