## 3 Code Matched Interleaver (CMI)  
The performance of any coded-cooperative system depends on the construction of a better code at the destination node. A code is better or not it depends on its distance spectrum properties, which will directly affect its error capability. Turbo code is considered to be a better code mainly because of good distance properties and its convenient structure that can be effectively deployed in cooperative scenarios due to its particular distributive nature in its encoding scheme. Once the turbo code is distributed for coded cooperation, the interleaver is usually placed in the relay node, which is situated near to the destination. Furthermore, if the relay has to contribute in obtaining a better code at the destination then it must generate high weight code words. The high weight code words can only be generated if the interleaver is well capable of breaking the low weight code words into high weight code words. The only interleaver that fully accomplishes this task is the code-matched interleaver (CMI) [17]. The CMI interleaver matches the distance spectrum of the constituent code. At low to  
Figure 1: Block diagram of turbo coded OFDM with MIMO (2 \(\times\) 2) antennas. medium SNR regime (0-3 dB) the interleaver size plays an effective role in improving the performance of the turbo code. However, at medium to high SNR regime (3-8 dB), the spectral lines of constituent encoders determine the performance the turbo code. CMI eliminates the first few spectral lines of distance spectrum thereby causing an increase in its code free distance \(\text{d}_{\text{free}}\). As a result, the code performance at high SNR regime is improved considerably. In distributed turbo code, the performance of iterative decoders is also a crucial factor that affects the BER performance of the cooperative communication. The effective exchange of extrinsic information in the iterating decoding is heavily dependent on free distance \(\text{d}_{\text{free}}\) of the turbo code. The lower free distance \(\text{d}_{\text{free}}\) will degrade the performance of iterative decoding in cooperative communication at the destination. At high SNR, the BER curve saturates and becomes flat. This action is called an \"error floor\" [21]. CMI breaks the low weigh information code word that would have formed if any other interleaver might have used. Thus, CMI causes a lower error floor region (due to the minimum free distance). The details of the construction of CMI are presented in [17]. However, we briefly discuss the construction of CMI in this section. Let us consider two identical 4-state recursive systematic convolutional encoders each having a generator matrix \(\text{G}=[1,g_{1}(\text{D})/g_{2}(\text{D})]\) where \(g_{1}(\text{D})\) is feed forward polynomial and \(g_{2}(\text{D})\) is feedback polynomial. The information sequence \(x_{i1}\) is encoded by RSC-1 that results in \((x_{i1},y_{p1})\) pair, where \(y_{p1}\) is the parity sequence. After the interleaving the information sequences \(x_{i1}\), the interleaved information sequence \(x_{i2}\) is passed to RSC-2 that generates \((x_{i2},y_{p2})\) pair, where \(y_{p2}\) is another parity sequence. Let \(\omega\) be the weight of the information sequence and likewise \(\omega(y_{p1})\) and \(\omega(y_{p2})\) be the weights of the corresponding parity sequences produced by RSC-1 and RSC-2 respectively. Then, the net weight of the turbo code can be written as follows  
\[d=\omega+\omega(y_{p1})+\omega(y_{p2}) \tag{11}\]  
The low weight-2 input sequence, which is responsible for low weight code word can be represented by the following polynomial equation:  
\[x_{i1}^{2}(\text{D})=(1+\text{D}^{ak_{1}})\text{D}^{\beta_{1}} \tag{12}\]  
where \(k_{1}\) = 1, 2, 3,... is a positive integer, \(\alpha\) is the minimum distance between \"1\"s in weight-2 information sequence \((x_{i1}^{2})\), \(\beta_{1}\) is the time delay, \(\beta_{1}\) = 1, 2, 3... The interleaved information \(x_{i2}^{2}\) can also be represented in polynomial form.