CIS-11 (also designated as TORG 10/11) is a synchronous, duplex ARQ system requiring separate forward and return links. It's used mainly for aeronautical weather reports in CIS, thus transmissions normally take place in M2 alphabet (Cyrillic third-shift ITA-2). Modulation used is FSK2, usually 100Bd and 500Hz shift with 11-bit period (figure 1).
Fig. 11 |
Its characteristic 11-bit format consists of the 5 bits of the ITA-2 alphabet d4-d0 (but in reversed bit order: d0-d4), 2 system state bits s0 and s1 and 4 parity bits p0-p4: the checksum is calculated by modulo-2 addition from all 7 other bits (d4-d0 + s0-s1) as:
p0 = d1 + d3 + d4 + s0
p1 = d0 + d2 + d4
p2 = d0 + d1 + d3 + s1
p3 = d0 + d2 + d3 + s0 + s1
p1 = d0 + d2 + d4
p2 = d0 + d1 + d3 + s1
p3 = d0 + d2 + d3 + s0 + s1
Fig. 2 |
I wrote a simple Octave script (CIS11_detect.m) just to check CIS-11 streams and extract the 5-bit data in case of successful result:
## usage: CIS11_detect(fn,e)
## input: fn ... filename containing a string of 0's and 1's (no space between)
## e ... 0 doesn't exctract data
## ... 1 extracts M2 data
## output: m ... CIS-11 parity bits success [0..1]
## a ... aligned bit frames: parity bits in a(8:14), in case m > 0.9
## fn_M2-data.txt
## ASCII file with the exctracted data, in case m > 0.9 and e = 1
## input: fn ... filename containing a string of 0's and 1's (no space between)
## e ... 0 doesn't exctract data
## ... 1 extracts M2 data
## output: m ... CIS-11 parity bits success [0..1]
## a ... aligned bit frames: parity bits in a(8:14), in case m > 0.9
## fn_M2-data.txt
## ASCII file with the exctracted data, in case m > 0.9 and e = 1
CIS11_detect is downloadable from:
(you will need the GNU Octave package [1] to run the script).
I checked two transmissions and results are shown in Figs. 3,4; note the values of the system state bits (the two solid columns) in the two streams.
Fig. 3 |
Fig. 4 |
The system state bits signal the link state and traffic information, below a possible relationship just based on the (few) analyzed recordings:
00 - idle or Request
01 - ?
10 - Cyrillic
11 - Latin
01 - ?
10 - Cyrillic
11 - Latin
transition to Cyrillic traffic is signaled by 00000 10
transition to Latin traffic is signalled by 11111 11
CIS-11 uses also two "idle signals", according to ITU-R F.342-2 [2]): idle signal α "01101 00 1100" is used when no data to transmit is available and mantains sync between transmitting and receive modems; idle signal β "10101 00 0001" is the ARQ request character. It's to note that:
- both the idle signals have the system state bits set to 00
- if shifted(!) the idle signal β is CIS-11 compliant (look at start bit offset in Fig.5)
- idle signal α is a LFSR x^3+x^2+1 sequence, the 7-bit sequence is used in d0-d4,s0-s1 bits
- idle signal β can be scrambled using the LFSR x^5+x^4+1
- if shifted(!) the idle signal β is CIS-11 compliant (look at start bit offset in Fig.5)
- idle signal α is a LFSR x^3+x^2+1 sequence, the 7-bit sequence is used in d0-d4,s0-s1 bits
- idle signal β can be scrambled using the LFSR x^5+x^4+1
Fig. 5 |