GMSK Modem Data Pump
Page 22 of 37
MX909A PRELIMINARY INFORMATION
4.5 CRC, FEC, Interleaving and Scrambling Information
4.5.1 CRC
This is a 16-bit CRC code used in the Mobitex¥ Data Block. In transmit it is calculated by the modem from
the 18 data bytes using the following generator polynomial:
g(x) = x16 + x12 + x5 + 1
i.e. CRC - CCITT X.25.
This code detects all (single) error bursts of up to 16 bits in length and about 99.998% of all other error
patterns.
The CRC register is initialized to all '1s' and the CRC is calculated octet by octet starting with the least
significant bit of 'byte 0'. The CRC calculated is bit-wise inverted and appended to the data bytes with the
most significant bit transmitted earliest.
In receive mode, a 16-bit CRC code is generated from the 18 data bytes of each Mobitex¥ Data Block as
above and the bit-wise inverted value is compared with the received CRC bytes. If a mismatch is present,
then an error has been detected.
4.5.2 FEC
In transmit mode, during T7H and TDB, the modem generates a 4-bit Forward Error Correction code for each
coded byte. The FEC is defined by the following H matrix:
7_______0 3___0
11101100
1000
H = 11010011
0100
10111010
0010
01110101
0001
Generation of the FEC consists of logically ANDing the byte to be transmitted with bits 7 to 0 of each row of
the H matrix. Even parity is generated for each of the 4 results and these 4 parity bits, in the positions
indicated by the last 4 columns of the H matrix, form the FEC code.
In checking the FEC, the received 12-bit word is logically ANDed with each row of the H matrix (earliest bit
received compared with the first column). Again even parity is generated for the 4 resulting words and these
parity bits form a 4-bit nibble. If this nibble is all zero then no errors have been detected. Other results 'point'
to the bit in error or indicate that uncorrectable errors have occurred.
This code can correct any single error that has occurred in each 12-bit (8 data + 4 FEC) section of the
message.
Example:
If the byte to be coded is '00101100' then the FEC is derived as follows:
H matrix row:
1
2
3
4
A
11101100
11010011
10111010
01110101
B
00101100
00101100
00101100
00101100
A AND B
00101100
00000000
00101000
00100100
Even Parity:
1
0
0
0
Where A is bits 7 - 0 of one row of the H matrix and B is the byte to be coded. The even parity bits apply to
the result of 'A AND B'.
So the word formed will be: '00101100 1000' sent left to right
When the same process is carried out on these 12 bits as above, using all 12 bits of each H matrix row, the
resulting 4 parity bits will be '0000'.
¤2001 MX-COM, Inc.
www.mxcom.com Tel: 800 638 5577 336 744 5050 Fax: 336 744 5054
Doc. # 20480134.005
4800 Bethania Station Road, Winston-Salem, NC 27105-1201 USA All trademarks and service marks are held by their respective companies.