## 3 Receiver
### Low-Complexity Detection for OFDM-IM Signals  
Due to resource limitations, the high complexity required by optimal maximum likelihood (ML) detectors makes them impractical for real-world implementations in vehicular systems. This section proposes a low-complexity detection algorithm suitable for the proposed MIMO-OFDM-IM system to overcome this restriction. To simplify the notation during detection, we rewrite the signal model described in Equation (8) as follows:  
\[\mathcal{U}=\mathcal{GS}+\mathcal{Z} \tag{25}\]  
where:  
\[\mathcal{U} =\Big{[}~{}~{}\mathbf{u}^{T}_{0}~{}~{}~{}~{}\mathbf{u}^{T}_{1}~{}~{}~{}~{ }\cdots~{}~{}\mathbf{u}^{T}_{N-1}~{}\Big{]}^{T},\] \[\mathbf{u}_{r} =\Big{[}~{}~{}u[0]~{}~{}~{}u[1]~{}~{}~{}\cdots~{}~{}u[N_{d}-1]~{} \Big{]}^{T},\] \[\mathcal{S} =\Big{[}~{}~{}\mathbf{s}^{T}_{0}~{}~{}~{}\mathbf{s}^{T}_{1}~{}~{}~{}\cdots ~{}~{}\mathbf{s}^{T}_{N_{t}-1}~{}\Big{]}^{T},\] \[\mathbf{s}_{t} =\Big{[}~{}~{}s[0]~{}~{}~{}~{}s[1]~{}~{}~{}\cdots~{}~{}s[N_{d}-1] ~{}\Big{]}^{T},\] \[\mathcal{Z} =\Big{[}~{}~{}\mathbf{z}^{T}_{0}~{}~{}~{}\mathbf{z}^{T}_{1}~{}~{}~{}~{} \cdots~{}~{}\mathbf{z}^{T}_{N_{t}-1}~{}\Big{]}^{T},\] \[\mathbf{z}_{r} =\Big{[}~{}z[0]~{}~{}~{}~{}z[1]~{}~{}~{}\cdots~{}~{}z[N_{d}-1]~{} \Big{]}^{T}.\]The block matrix \(\mathcal{G}\) is composed of channel matrices \(\mathbf{G}(t,r)\) according to the following assignment:  
\[\mathcal{G}=\begin{bmatrix}G_{(0,0)}&G_{(0,1)}&\cdots&G_{(0,N_{t}-1)}\\ G_{(1,0)}&\ddots&&G_{(1,N_{t}-1)}\\ \vdots&&\ddots&\vdots\\ G_{(N_{t}-1,0)}&G_{(N_{t}-1,1)}&\cdots&G_{(N_{t}-1,N_{t}-1)}\end{bmatrix}, \tag{26}\]  
The ordered successive interference cancellation (OSIC) detection technique used in V-BLAST systems emphasizes the importance of the data detection order, as an optimal order reduces the risk of error propagation during symbol estimation. An extension of the modified Gram-Schmidt (MGS) algorithm [25] is employed in [28] to obtain an ordered QR decomposition of the channel matrix \(\mathcal{G}\). Rearranging the columns of the \(\mathcal{G}\) matrix before each orthogonalization results in an \(R\) matrix with rows in decreasing order with respect to the SNR. Complexity reduction in the QR decomposition process is achieved by precomputing the norm of each column only once and updating it according to the MGS algorithm described in [25]. The complete algorithm used for MMSE-SQR-IM decomposition is shown in Algorithm 1. Note that the computational overhead due to ordering is insignificant.  
```
Input: The channel matrix \(\mathcal{G}\); Output: The unity matrix \(\mathbf{Q}_{1}\), the upper triangular matrix \(\underline{\mathbf{R}}\), and the detection order \(\mathbf{p}\); Initialization:, \(Q=\mathcal{G}\), \(\mathbf{R}=\mathbf{0}\), \(\mathbf{p}=[0,1,\ldots,N_{r}N_{d}-1]^{T},l=0\), and \(m=0\); for\(i=0:1:N_{r}N_{d}-1\)do  Compute the norm of the \(n\)-th column vector in \(\mathbf{Q}\) as \(\mathbf{Norm}_{i}=\|\mathbf{q}_{i}\|^{2}\);  end forGivens Rotations Procedure:, \(i=0:1:N_{t}N_{d}-1\)do if\(\textit{mod}(i,2)\
eq 0\)then  Find \([l,block]=(\mathbf{Norm}_{i})\) ;  Exchange the \(i\)-th and \(l\)-th columns in \(\mathbf{R}\),\(\mathbf{p}\) and \(\mathbf{Norm}\) with the first \(N_{d}+i\) rows in \(\mathbf{Q}\), and exchange the elements \(\mathbf{Q}_{N_{\mathcal{B}}+i,i}\) and \(\mathbf{Q}_{N_{\mathcal{B}}+l,i}\);  Compute \(\mathbf{R}_{i,i}=\sqrt{\mathbf{Norm}_{i}}\) and update the \(i\)-th column in \(\mathbf{Q}\) as \(\mathbf{Q}_{:,i}=\mathbf{Q}_{:,i}/\mathbf{R}_{i,i}\) ; for\(k=0:1:N_{t}N_{d}-1\)do  Compute \(\mathbf{R}_{i,k}=\|\mathbf{q}_{i}\|^{2}\) and update the \(k\)-th column vector in \(\mathbf{Q}\) as \(\mathbf{Q}_{:,k}=\mathbf{Q}_{:,k}-\mathbf{R}_{i,k}\mathbf{Q}_{:,i}\) and \(\mathbf{Norm}_{k}=\mathbf{Norm}_{k}-\|\mathbf{R}_{i,k}\|^{2}\) ;  end for  end for
```  
**Algorithm 1**Sorted QR decomposition.