Reed-Solomon Identification

Reed-Solomon Identification (RSID) of digital modes is a creation of Patrick Lindecker, F6CTE, and kindly released to the public domain. It is used in several digital mode programs. Patrick maintains the master list of code / mode assignments in order to maintain compatibility between these programs. He accepts requests for new modes if it can be shown that the mode has a high utility factor. The reason for not simply adding every mode in current use will be explained later in this document.

RSID allows the automatic identification of any digital transmission which has been assigned a unique code identifier. All RSID's are detected by fldigi, but not all are decoded. All detected codes are annunciated. On reception of a RS ID, two events occur: the mode used is detected and the central frequency of the RSID, which is also the central frequency of the identified mode, is determined with a precision of 2.7 Hz. This is sufficient to allow all current modes to begin accurate decoding. This is an excellent way to insure that signals like MFSK are properly tuned and decoded.

The RSID signal is transmitted in 1.4 sec and has a bandwidth of 172 Hz. Detection of the RSID signal is possible down to a Signal to Noise ratio of about -16 dB, so with a sensitivity equal or better than the majority of the digital modes (RTTY, PSK31...), except several modes as PSK10, PSKAM10, THROB, THROBX or JT65.

Note: consequently, it is possible to detect RSID and not be able to decode the ensuing data signal due to it being too weak a signal.

fldigi allows the RSID signal to be sent at the beginning and the end of each transmission. The leading RSID is the normal position.

During reception fldigi can decode RSID signals within the entire audio spectrum. It can also be configured to limit the reception to a narrow bandwidth centered on the current audio subcarrier. Detection occurs as a background process and does not interfer with the normal signal decoding. False detection is possible, but statistically rare due to the use of a very strong autocorrelation function associated with the RSID codes.

At the present time, five programs offer RSID:

RS ID programs sources are available C++, from OK1IAK, W1HKJ and HB9DRV. They are also available from F6CTE in Delphi.

The master list of RSID code/mode combinations is maintained by Patrick, F6CTE, and changes made to the list in concurrence with the above list of software developers. This list is distributed on the DigitalRadio Yahoo group at each change.

Description of RSID

Each mode corresponds to a number which is transformed in a particular Reed-Solomon sequence. This RS coding ( RS (k = 4, t = 6) ) is defined by the parameters

Each RS sequence is composed of 15 symbols of 4 bits, among which 3 (n – 2 x t) contain data. In other words, 12 bits (3 x 4) are available to define the mode number. Consequently, the number of possibilities would be equal to 4096 (2^12).

In addition, even if the maximum number of errors which could be fixed is equal to 6, it is limited to one correction so as to have a negligible probability of false detection. This is accomplished by increasing the Hamming distance between any random sequence and the selected sequences.

It has been proposed that two RSID could be sent sequentially or that two RSID could be also transmitted in juxtaposed frequencies. As false RS ID detection with part of one and part of the other (either in the time domain or the frequency domain) must be avoided, it is necessary to identify a subset of the 4096 RSID codes that are mutually independent or orthogonal. That is, two unique RSID sequences can't produce a valid but wrong RSID code. This subset is composed of only 272 unique values. Secondary and tertiary subsets can be identified which can produce false detections. These are only assigned for use during the development of a new modem type.

If every known digital signal were assigned a unique code the list of 272 would quickly be exhausted. It is for that reason that not every combination of baud rate, tone numbers, and bandwidth is currently supported for RTTY, MFSK, OLIVIA, CONTESTIA, DOMINO-EX and THOR. Some RSID codes exist for modes which are currently out of vogue. That is simply due to the development history of the RSID technique. Multipsk was the only digital modem program to support RSID for some time and Patrick merely assigned codes to all of the modes supported by his program at the time that RSID was introduced.

Each symbol is transmitted using MFSK modulation. There are 16 possibilities of frequencies separated by 11025 / 1024 = 10.766 Hz. Each symbol transmission being done on only one frequency for a duration equal to 1024 / 11025 x 1000 = 92.88 ms. The entire RSID sequence of 15 symbols is transmitted in 15 x 1024 / 11025 = 1393 ms. The RSID signal is transmitted at the maximum peak power of the associated modem signal.

Decoding can be accomplished by a brute force algorithm where all the possibilities are tested. The possible found solutions are sorted according to their distance (0 or 1) to a valid solution and according to a pseudo signal-to-noise ratio (peak power/average power). The final detected code will have the lowest distance with the largest pseudo signal-to-noise ratio.

Vojtech, OK1IAK, developed a hashing algorithm which reduces the detector processing load. He kindly made that code available to other developers. Both fldigi and DM780 use Vojtech's decoding algorithm.

For each semi-step of time (46.44 ms) and for each semi-step of frequency (5.38 Hz), the program attempts to detect a RSID extending for the last 1.393 seconds. So each second, about 8500 possible RSID (depending on the selected bandwidth) are tested (depending on the bandwidth).

The analysis is based on a Fast Fourier transform of 2048 points at 11025 samples/sec, regularly done at each semi-step of time (46.44 ms).

There are only two possible outputs from the detection algorithm:

The probability of detecting a wrong RSID is almost nil.

List of assigned RSID codes by RSID code, mode, and whether supported by fldigi:

#
RSID Code
Mode
fldigi
1
1
BPSK31
yes
2
2
BPSK63
yes
3
4
BPSK125
yes
4
126
BPSK250
yes
5
173
BPSK500
yes
6
110
QPSK31
yes
7
3
QPSK63
yes
8
5
QPSK125
yes
9
127
QPSK250
yes
10
183
PSK125R
yes
11
186
PSK250R
yes
12
187
PSK500R
yes
13
7
PSKFEC31

14
8
PSK10

15
9
MT63-500 long interleave
yes
16
10
MT63-500 short interleave
yes
17
11
MT63-500 very short interleave

18
12
MT63-1000 long interleave
yes
19
13
MT63-1000 short interleave
yes
20
14
MT63-1000 very short interleave

21
15
MT63-2000 long interleave
yes
22
17
MT63-2000 short interleave
yes
23
18
MT63-2000 very short interleave

24
19
PSKAM10

25
20
PSKAM31

26
21
PSKAM50

27
22
PSK63F
yes
28
23
PSK220F

29
24
CHIP64

30
25
CHIP128

31
26
CW
yes
32
27
CCW_OOK_12

33
28
CCW_OOK_24

34
29
CCW_OOK_48

35
30
CCW_FSK_12

36
31
CCW_FSK_24

37
33
CCW_FSK_48

38
34
PACTOR1_FEC

39
113
PACKET_110

40
35
PACKET_300

41
36
PACKET_1200

42
37
RTTY_ASCII_7
yes
43
38
RTTY_ASCII_8
yes
44
39
RTTY_45
yes
45
40
RTTY_50
yes
46
41
RTTY_75
yes
47
42
AMTOR_FEC

48
43
THROB_1
yes
49
44
THROB_2
yes
50
45
THROB_4
yes
51
46
THROBX_1
yes
52
47
THROBX_2
yes
53
146
THROBX_4
yes
54
49
CONTESTIA 8-250
yes
56
50
CONTESTIA 16-500
yes
56
51
CONTESTIA 32-1000
yes
57
52
CONTESTIA 8-500
yes
58
53
CONTESTIA 16-1000
yes
59
54
CONTESTIA 4-500
yes
60
55
CONTESTIA 4-250
yes
61
117
CONTESTIA 8-1000
yes
62
169
CONTESTIA 8-125
yes
63
56
VOICE

64
60
MFSK 8
yes
65
57
MFSK 16
yes
66
147
MFSK 32
yes
67
148
MFSK 11
yes
68
152
MFSK 22
yes
69
61
RTTYM 8-250

70
62
RTTYM 16-500

71
63
RTTYM 32-1000

72
65
RTTYM 8-500

73
66
RTTYM 16-1000

74
67
RTTYM 4-500

75
68
RTTYM 4-250

76
119
RTTYM 8-1000

77
170
RTTYM 8-125

78
69
OLIVIA 8-250
yes
79
70
OLIVIA 16-500
yes
80
71
OLIVIA 32-1000
yes
81
72
OLIVIA 8-500
yes
82
73
OLIVIA 16-1000
yes
83
74
OLIVIA 4-500
yes
84
75
OLIVIA 4-250
yes
85
116
OLIVIA 8-1000
yes
86
164
OLIVIA 8-125
yes
87
76
PAX

88
77
PAX2

89
78
DOMINOF

90
79
FAX

91
81
SSTV

92
84
DOMINOEX 4
yes
93
85
DOMINOEX 5
yes
94
86
DOMINOEX 8
yes
95
87
DOMINOEX 11
yes
96
88
DOMINOEX 16
yes
97
90
DOMINOEX 22
yes
98
92
DOMINOEX 4 FEC
yes
99
93
DOMINOEX 5 FEC
yes
100
97
DOMINOEX 8 FEC
yes
101
98
DOMINOEX 11 FEC
yes
102
99
DOMINOEX 16 FEC
yes
103
101
DOMINOEX 22 FEC
yes
104
104
FELD HELL
yes
105
105
PSK HELL

106
106
HELL 80
yes
107
107
FM_HELL 105
yes
108
108
FM_HELL 245

109
114
141A

110
123
DTMF

111
125
ALE400

112
131
FDMDV

113
132
JT65 A

114
134
JT65 B

115
135
JT64 C

116
136
THOR 4
yes
117
137
THOR 8
yes
118
138
THOR 16
yes
119
139
THOR 5
yes
120
143
THOR 11
yes
121
145
THOR 22
yes
122
153
CALL_ID

123
155
PACKET PSK 1200

124
156
PACKET PSK 250

125
159
PACKET PSK 63

126
172
188 110A 8N1