Support : RDS Structure
Download a summarized PDF document about all RDS features here.
RDS Data Structure
RDS is transmitted in blocks of 26 bits each. They are made up of 16 information bits and 10 check bits. The latter serves for error correction in the decoder.
There are several possibilities for generating the check bits. As a rule they are generated by means of a generator matrix. The first 16 columns of this 26 x 16 matrix form the so-called unit matrix. By XORing the 16 information bits with the generator matrix a 26-bit block is obtained that contains the 10 check bits as last in the block. The 16 information bits are retained in the original since they are merely gated with the unit matrix (with the first 16 columns).
In order to obtain the check bits, the information bits have to XOR-ed with the generator matrix.
RDS data are configured in groups each of which is made up of four blocks. A check word (offset) for each block is sent out by the transmitter for identification and error correction of the blocks within a group.
An RDS group consists of four blocks each of which contains 26 bits. A group thus consists of 104 bits, in other words 13 bytes. It is necessary to synchronise the data stream for determining where a block starts and ends, for identifying the blocks and for detecting any transmission errors. All this is achieved by means of the test matrix. Since the blocks have a built-in error (offset) at the transmitter end, following XORing with the check matrix a block offset with corresponding code (syndrome) is obtained if further transmission errors do not occur.
The number of mathematical operations per group can be as much as 26 (when every bit is set to 1). The procedure can however be optimised so that only four operations per 26 bits are required.