# CRCSI: A Generic Block Interleaver for the Next Generation Terrestrial Broadcast Systems
## 3 Designing the Block Interleaver
### CRCSI Design
#### 3.2.1 Row Crossing  
For fixed reception scenarios, the large scale fading of the wireless channel changes slowly, and the time selectivity of the channel is not obvious. However, the trend of choosing a long cyclic prefix (CP) numerology for rooftop reception has been verified [19], which introduces a larger number of codeblocks. In this case, a large delay spread leads to more evident frequency selectivity. Therefore, the frequency interleaving method can be used to disperse data cells transmitted on adjacent subcarriers, thereby improving the system's ability to resist the frequency selective fading and improving the reliability of transmission. The traditional row-by-row reading method is to read the data cells of different OFDM symbols on the same subcarrier, thus achieving time interleaving. However, the incremental interval \(p=1\) in this way is relatively small compared with the full range \(M\), and the interleaving distance between different data cells is not large enough. Therefore, expanding the value of \(p\) can achieve a larger \(d_{min}\). For a common \(M\times N\) data block, assuming the incremental interval \(p\) is a constant and the row index is given by  
\[R_{i}=(p\cdot i+s)\bmod M, \tag{7}\]  
where \(i\in[0,M-1]\), and the preshift vector \(s=0\). Typically, the minimum interleaving distance \(d_{min}\) is the smaller value of the interleaving distance between two elements of adjacent rows before and after interleaving, which can be expressed as  
\[d_{min}=\min\{p+N,1+\frac{M}{p}\cdot N\}, \tag{8}\]  
where \(\frac{M}{p}\) denotes the number of complete periods based on the selected incremental interval \(p\). We set the two terms on the right side of Formula (8) equal, then, we can derive \(p_{0}\) as  
\[p_{0}=\frac{1-N+\sqrt{(N-1)^{2}+4 MN}}{2}. \tag{9}\]  
In Equation (9), the value of \(p_{0}\) is not necessarily an integer. In order to ensure the normal operation of the row index, the value of \(p\) should be \(p\geq 1,p\in\mathbb{Z}\), then \(p_{0}\) should be fixed as:  
\[\hat{p}=\bigg{[}\frac{M}{[M/p_{0}]}\bigg{]},\]  
where \([\cdot]\) denotes the rounding operation including round up and round down. The fixed incremental interval \(\hat{p}\) fluctuates when \(M/p_{0}\) approximate to an integer less or greater than itself. The fluctuation will result in the deviation on minimum interleaving distance upper bound \(d_{min}\) in (8), making the derived value not optimal. Moreover, rounding up or down \(M/p_{0}\) to an integer will also lead to the same result. Therefore, derivation beginning with \(p_{0}\) is not appropriate for the general case. Instead, considering the cyclic groups \(z=\frac{M}{p}\), substitute \(z\) into Formula (8), then the calculation can be rewritten as  
\[M/z+N=1+z\cdot N. \tag{10}\]here we have  
\[z_{0}=\frac{N-1+\sqrt{(1-N)^{2}+4 MN}}{2N}. \tag{11}\]  
Since the number of cyclic groups \(z\) has to be an integer, the rounding function should be conducted on \(z_{0}\), which leads to two possible results, i.e.,  
\[z_{1}=\lfloor z_{0}\rfloor\text{ and }z_{2}=\lceil z_{0}\rceil,\]  
where \(\lfloor\cdot\rfloor\) and \(\lceil\cdot\rceil\) denotes round up and down operation, respectively. For the given \(z_{0}\), we have an initial incremental interval value \(p_{0}^{{}^{\prime}}=M/z_{0}\). Comparing the rounding value \(z_{1}\) and \(z_{2}\) with \(p_{0}^{{}^{\prime}}\) on \(d_{min}\), we have the following inequation, i.e.,  
\[z=\left\{ \begin{array}{ll}z_{1},&(z_{0}-z_{1})\cdot N<p_{0}^{{}^{\prime}}- \lfloor M/z_{2}\rfloor\\ z_{2},&\text{otherwise}.\end{array} \right. \tag{12}\]  
To retain the value \(p\) as an integer and maximize \(d_{min}\), the incremental interval \(p\) is revised as  
\[\widetilde{p}=\lfloor M/z\rfloor. \tag{13}\]  
The range of values \(\widetilde{p}\) derives from the Equation (13) expanding to all positive integers, which is different from the prime value in the traditional interleavers. Thus, a new principle is needed to ensure traverse all the row index.