# A Novel OFDM-Based Time Domain Quadrature GSM for Visible Light Communication System
## 4 Detection Methods
### Proposed IVC-Based OMP Detection Algorithm  
OMP is a greedy algorithm with much lower computational complexity than the traditional ML detection. In this study, we modified the original OMP and proposed an IVC-based detection algorithm for the OFDM-based TD-QGSM and TD-QGSMP in the following. Let \(\mathbf{y}_{l}\), \(\mathbf{s}_{l}\), and \(\mathbf{n}_{l}\) denote the \(l\)-th \((l=1,2,\ldots L)\) column of \(\mathbf{y}\), \(\mathbf{s}\), and \(\mathbf{n}\), respectively, and then Equation (1) can be rewritten as  
\[\mathbf{y}_{l}=\mathbf{H}\mathbf{s}_{l}+\mathbf{n}_{l}, \tag{10}\]  
where \(\mathbf{s}_{l}\) is an \(N\)-sparse vector, \(\mathbf{y}_{l}\) is the received signal, \(\mathbf{H}\) is the channel matrix and also represents the measurement matrix, and the optimization problem is to estimate the signal \(\mathfrak{s}_{l}\) from \(\mathbf{y}_{l}\) and \(\mathbf{H}\). Let \(e\) denote the number of iterations, and let \(\mathbf{r}_{e}\) and \(\Lambda_{e}\) denote the residual and the index set in the \(e\)-th iteration, respectively. Then, the initialization items can be set as \(e=1,\ \mathbf{r}_{0}=\mathbf{y}_{1},\ \Lambda_{0}=\mathcal{O}\); the corresponding atomic set, support set, and estimated signal set are \(B_{0}=\mathcal{O},\ \theta_{0}=\mathcal{O}\), and \(\Gamma_{0}=\mathcal{O}\), respectively. To eliminate the effect of channel gain on signal transmission and compare the signals between different channels at the same power level, it is necessary to normalize the channel matrix, shown as \begin{table}
\begin{tabular}{l l l} \hline \hline
**Transmission Scheme** & **Achievable Rate** & **Feature** \\ \hline TD-GSM & \(\frac{1}{2}\text{log}_{2}(M)+\lfloor\text{log}_{2}(\mathcal{C}(N_{t},N))\rfloor\) & GSM performed in time domain. \\ \hline TD-GSMP & \(\frac{N}{2}\text{log}_{2}(M)+\lfloor\text{log}_{2}(\mathcal{C}(N_{t},N))\rfloor\) & 1. Constellation mapping symbols divided into groups; 2. GSMP performed in time domain. \\ \hline The proposed TD-QGSM & \(\text{log}_{2}(M)+\lfloor\text{log}_{2}(\mathcal{C}(N_{t},N))\rfloor\) & 1. 1/Q separation performed before OFDM modulation; 2. GSM performed in time domain. \\ \hline The proposed TD-QGSM & \(N\text{log}_{2}(M)+\lfloor\text{log}_{2}(\mathcal{C}(N_{t},N))\rfloor\) & 1. Constellation mapping symbols divided into groups; 2. 1/Q separation performed before OFDM modulation; 3. GSM performed in time domain. \\ \hline \hline \end{tabular}
\end{table} 
Table 3: _Cont._\[\bar{\mathbf{H}}=\frac{\mathbf{H}}{\left\|\mathbf{H}\right\|_{2}}. \tag{11}\]  
After computing the inner product of \(\hat{\mathbf{H}}\) and \(\mathbf{r}_{0}\), the support index can be obtained by  
\[a_{e}=\operatorname*{arg\,max}_{1\leqslant\mu\leqslant N_{t}}\bigl{|}\bigl{<} \mathbf{r}_{e-1},\bar{h}_{\mu}\bigr{>}\bigr{|}, \tag{12}\]  
where \(\bar{h}_{\mu}\) denotes the \(\mu\)-th column of \(\hat{\mathbf{H}}\). Put the first \(N\) inner products with the maximum absolute values from the \(\mu\) inner products into the set \(\Omega_{e}\), and put their indexes into the set \(\Lambda_{e}\). Then, the support set can be updated as  
\[\theta_{e}=\theta_{e-1}\cup\Omega_{e}, \tag{13}\]  
the index set can be obtained as  
\[\Lambda_{e}=a_{e}\cup\Lambda_{e-1}, \tag{14}\]  
and the atomic set can be collected by  
\[B_{e}=\mathbf{H}(a_{e})\cup B_{e-1}. \tag{15}\]  
Subsequently, the estimated signal value can be obtained by  
\[\hat{s}_{e}=\Bigl{(}(B_{e})^{T}*B_{e}\Bigr{)}^{-1}*(B_{e})^{T}*\mathbf{y}_{I}, \tag{16}\]  
the residual can be calculated as  
\[\mathbf{r}_{e}=\mathbf{y}_{I}-B_{e}\hat{s}_{e}. \tag{17}\]  
Put the estimated signal value into the set \(\Gamma_{e}\), and the estimated signal set can be obtained as  
\[\Gamma_{e}=\hat{s}_{e}\cup\Gamma_{e-1}. \tag{18}\]  
Finally, let \(e=e+1\), and repeat the process (12)-(18). After \(N\) iterations, \(N\) elements from \(\theta_{e}\) will be selected for the combination and all possible combinations will be stored in the set \(\Theta\).