8.2.5 Interleaver and synchronization preamble

26.2263GPPCellular text telephone modemGeneral descriptionRelease 17TS

The operation of the interleaver can be understood as a buffer that is organized in a two‑dimensional matrix with columns. The bits coming from the block "Mute and Add ResyncInfo" are written into this matrix in a diagonal way using an interlace factor of (diagonal arrows in Figure 6). The interleaved bits are read out from the matrix horizontally row-by-row, as indicated by the horizontal arrows in Figure 6.

The interleaver applies an additional scrambling to all bits that are written into the buffer. For this scrambling, an XOR operation between the incoming bits and the scrambling sequence


which is repeated periodically, is used. Therefore, all bits that are stored in columns #0, #2, #3, #6, and #7 have to be inverted. This scrambling is compensated at the far‑end side.

Figure 6 – Interleaver matrix and location of the preamble

Therefore, the interleaver does a mapping between the incoming and outgoing bits according to

in such a way that an incoming bit with index i is mapped to a position with index

in the outgoing bit-stream. In these equations, the mod-B operation represents the remainder of a division by B and the function floor() denotes "round towards –".

As it is indicated in Figure 6 by the elements marked by "x", the interleaved bit-stream contains several dummy bits, which do not correspond to any of the incoming bits. These dummy positions, which occur at the beginning of a burst, are filled with the elements of the preamble, which can be used at the receiver side for synchronization purposes. The elements of the preamble are stored row-by-row into the positions marked with "x" in Figure 6 without applying the scrambling operation that was described previously, i.e. the scrambling is applied only to the bits that are coming from the block "Mute and Add ResyncInfo". The preamble, which consists of

elements, is stored in all elements with k fulfilling the relation


The preamble consists of 56 elements:

sPREAMB = { 0, 1, 0, 1, 0, 1, 1, 0,
0, 1, 1, 0, 1, 1, 1, 0,
1, 1, 0, 1, 0, 0, 1, 0,
0, 1, 1, 1, 0, 0, 0, 1,
0, 1, 1, 1, 1, 0, 0, 1,
0, 1, 0, 0, 0, 1, 1, 0,
0, 0, 0, 1, 0, 0, 0, 0 }.

Because the preamble has an auto‑correlation function with a distinct maximum if a bipolar representation according to

(i.e. each zero‑valued element of the unipolar sequence has to be mapped to a "–1") is used, the preamble allows a reliable synchronization of the deinterleaver and the FEC error correction at the receiver side. The synchronization can be achieved by calculating the cross‑correlation between the received bit‑stream and a copy of the preamble at the receiver side. The correct time alignment can be found by comparing the actual cross-correlation with an implementation‑dependent threshold value.

As long as there are no bits available from the block "Mute + AddResyncInfo", the interleaver is in idle mode. Therefore, no bits are transmitted to the CTM modulator, so that the CTM modulator generates a zero‑valued audio signal.

As soon as there are bits available coming from the block "Mute + AddResyncInfo", a burst is initiated. This means that the appropriate elements of the interleaver buffer are initialized with the elements of the preamble. After this initialization, the incoming bits are stored into the interleaver buffer and the outgoing bits are read out from the interleaver buffer as described previously.

For the termination of the burst, it must be guaranteed that all bits, which are still stored in the interleaver’s buffer, are transmitted. For this flushing of the interleaver, elements are read‑out from the interleaver while the same number of zero‑elements is written into the interleaver. After this flushing of the interleaver at the end of a burst, the interleaver returns into idle mode again, so that the CTM modulator becomes inactive and produces a zero‑valued output signal again.