RSCC encoded data are interleaved by a block interleaver. The size of the block is depended on the numbers of bit encoded per subchannel in one OFDM symbol, Ncbps. In IEEE 802.16, the interleaver is defined by two step permutation. The first ensures that adjacent coded bits are mapped onto nonadjacent subcarriers. The second permutation ensures that adjacent coded bits are mapped alternately onto less or more significant bits of the constellation, thus avoiding long runs of unreliable bits .
The Matlab implementation of the interleaver was performed calculating the index value of the bits a ter irst and second permutation using Equation (4.5) and (4.6) respectively.
f k = ( N c b p s
k = 0,1,2,… … ..Ncbps
s k = s . l o o r ( f k / s ) + ( m k + N c b p s
k=0,1,2,… .… Ncbps
where s= ceil(Ncpc/2) , while Ncpc stands for the number of coded bits per subcarrier, i.e., 1,2,4 or 6 for BPSK,QPSK 16QAM, or 64QAM, respectively.
The default number of subchannels i.e 16 is used for this implementation.
The receiver also performs the reverse operation following the two step permutation using equations (4.7) and (4.8) respectively.
f j = s . f l o o r ( j / s ) + ( j + f l o o r ( 1 2 . j / N c b p s ) ) m o d ( s ) sj = 12.fj –(Ncbps 1).floor(12.fj/Ncbps )
j=0,1,… … ..Ncbps1 j=0,1,2… … ..Ncbps1
4.2.5 Constalletion Mapper
The bit interleaved data are then entered serially to the constellation mapper. The Matlab implemented constellation mapper support BPSK, greymapped QPSK, 16QAM, and 64QAM as specified in Figure 203 of the standard . The complex constellation points are normalized with the speci ied multiplying factor for different modulation scheme so