Showing posts with label CODAN. Show all posts
Showing posts with label CODAN. Show all posts

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

25 October 2014

CODAN-9001/3012: MPSK-16 QPSK

The CODAN 9001 modem uses the 16 QPSK carriers for the transport of data (payload), each carrier is independently modulated with data so it carries a distinct channel-packet. All the 16 concurrent channel-packets constitute a frame and a number of frames constitute a multi-frame.



This "data" waveform is an asynchronous adaptive ARQ system. The modulation rate of each of the 16 tones is 75 Baud; the modulation type is quaternary phase-shift keying (QPSK). The QPSK scheme uses from 656.25 Hz to 2343.75 Hz, these center frequencies are derived from a 600 Hz to 2400 Hz frequency spread and 112.5 Hz per QPSK channel (http://signals.radioscanner.ru/base/signal85/)




While the CODAN-9001 transports data, the CODAN Chirp provides the ALE/selcall (Automatic Link Establishment) part between the peers.

Each payload data packet has a constant length and a sequence number. However, the numbering only serves as an example, and due to the use of ARQ-based retransmissions the numbering may not be sequential.

CODAN-9001 16 tones schema
Independent of the payload data field, the sequence number field has its own error detecting and correcting code. Payload data in each channel packet is protected by a cyclic redundancy code (CRC). This feature is included in order to allow the ARQ protocol to request retransmission of packets received in error.
A session consists of one or more multi-frames. Depending on the amount of data queued for transfer the length of a multi-frame may vary. The receiving modem will extract the frames from the multi-frame determining the number of channel packets and checking whether payload data was received without errors. If a channel packet was received in error a re-transmission is requested. It should be clear from this that a multi-frame may consist of a mixture of new data and re-transmitted data. Re-transmitted data may appear on any channel and in any position within a multi-frame.
Additionally the transmitting modem may opt to send ALE-like parity bit packets in a separate frame and even on another channel within the same multi-frame as the payload data packet to which it belongs. This is indicated by the two packets belonging together carrying the same sequence number. This mechanism is predominantly seen when the link quality deteriorates and consequently the number of re-transmissions increases.

CODAN CALM

While CODAN-9001 transports data, CODAN CALM (CODAN Automated Link Management) provides the ALE part between the peers. CODAN Chirp uses PSK-2 modulation across 32 channels with 80Hz of spacing and speed of 80 Baud,  and uses ~2600 Hz of bandwidth.
http://hf-ssb-transceiver.at-communication.com/en/codan/hf_ssb_transceiver_ngt.html 


   

Below a Codan CALM session followed by data sent in Codan 9001 (Egyptian Diplo)