# An Improved Orthogonal Matching Pursuit Algorithm for CS-Based Channel Estimation
## 2 Materials and Methods
### Wireless Communication System Model Based on CS Channel Estimation
#### 2.1.1 OFDM System Based on CS Channel Estimation  
Assuming that each OFDM symbol has \(N\) subcarriers, \(X(k)\) denotes the \(k\)th subcarrier of the transmitted symbol. After channel transmission, the \(k\)th subcarrier received at the receiver is:  
\[Y(k)=X(k)H(k)+W(k) \tag{1}\]  
In Equation (1), \(W(k)\) denotes the noise frequency response of the \(k\)th carrier, \(H(k)\) denotes the channel frequency response of the \(k\)th subcarrier, and the output of the \(N\) subcarriers can be expressed as follows:  
\[\begin{array}{l}Y(1)=X(1)H(1)+W(1)\\ \ldots\ldots\\ Y(N)=X(N)H(N)+W(N)\end{array} \tag{2}\]  
In matrix form, it is stated as follows:  
\[\begin{bmatrix}Y(1)\\ \vdots\\ Y(N)\end{bmatrix}=\begin{bmatrix}X(1)&\cdots&0\\ \vdots&\ddots&\vdots\\ 0&\cdots&X(N)\end{bmatrix}\begin{bmatrix}H(1)\\ \vdots\\ H(N)\end{bmatrix}+\begin{bmatrix}W(1)\\ \vdots\\ W(N)\end{bmatrix} \tag{3}\]  
that is,  
\[Y=XH+W \tag{4}\]  
where \(X=diag[X(1),X(2)\cdots X(N)]\) is the diagonal matrix of \(N\times N\) consisting of transmitted signals, \(H\) is the frequency domain response of the channel at \(N\times 1\), \(W\) is the Gaussian white noise vector in the frequency domain at \(N\times 1\), and \(Y\) is the received signal vector at \(N\times 1\). The relationship between the frequency domain channel response \(H\) and time domain channel impulse response (CIR) \(h\) is expressed as follows:  
\[H=Fh \tag{5}\]  
where \(F\) is the Fourier transform matrix of \(N\times N\). Substituting Equation (5) into Equation (4) yielded the following:  
\[Y=XFh+W\]CIR \(h\) is a vector of \(N\times 1\), in which elements with larger values are concentrated within the first \(L\) samples, and the latter \(N\)-\(L\) elements have non-zero values but small values. Additionally, \(h\) can be approximated as sparse to provide the feasibility of applying a channel estimation method based on CS theory.  
Assuming the number of subcarriers in each OFDM symbol used for transmitting pilots as \(N_{p}\big{(}N_{p}<N\big{)}\), the position number of the pilots is \(\kappa=\Big{(}k_{1},\cdots,k_{N_{p}}\Big{)}\) (\(1\leq k_{1}\leq\cdots\leq k_{N_{p}}\leq N\)), and the remaining \(N-N_{p}\) subcarriers are applied to transmit a data signal. The set of pilot position numbers \(\kappa\) is called the pilot pattern, and the transmitted and received pilots are expressed as follows [23]:  
\[Y_{N_{p}}=X_{N_{p}}F_{N_{p}}h+W_{N_{p}} \tag{7}\]  
where \(X_{N_{p}}=diag\Big{[}X(k_{1}),X(k_{2})\cdots X\Big{(}k_{N_{p}}\Big{)}\Big{]}\) is the transmitter pilot matrix of \(N_{p}\times N_{p}\), and \(F_{N_{p}}\) is the partial Fourier transform matrix of \(N_{p}\times N\) extracting rows numbered \((k_{1},k_{2}\cdots k_{N_{p}})\) from the standard Fourier transform matrix of \(N\times N\), which is stated as follows:  
\[F_{N_{p}}=\frac{1}{\sqrt{N}}\begin{bmatrix}f^{k_{1}1}&\cdots&f^{k_{1}N}\\ \vdots&\ddots&\vdots\\ f^{k_{N_{p}}1}&\cdots&f^{k_{N_{p}}N}\end{bmatrix} \tag{8}\]  
where \(f=e^{-j2\pi/N}\), \(W_{N_{p}}\) is the Gaussian white noise vector in the frequency domain of \(N_{p}\times 1\), and \(Y_{N_{p}}\) is the received pilot vector of \(N_{p}\times 1\). The matrix product is stated in Equation (7) as follows:  
\[A_{N_{p}}\triangleq X_{N_{p}}F_{N_{p}}=\begin{bmatrix}X(k_{1})f^{k_{1}1}& \cdots&X(k_{1})f^{k_{1}N}\\ \vdots&\ddots&\vdots\\ X(k_{N_{p}})f^{k_{N_{p}}1}&\cdots&X(k_{N_{p}})f^{k_{N_{p}}N}\end{bmatrix} \tag{9}\]  
Equation (7) is then expressed as follows:  
\[Y_{N_{p}}=A_{N_{p}}h+W_{N_{p}} \tag{10}\]  
Based on CS theory, the matrix \(A_{N_{p}}\) of \(N_{p}\times N\) can be considered an observation matrix, which is essentially a partial Fourier transform matrix formed via a weighted transmitted pilot matrix \(X_{N_{p}}\). CS-based channel estimation can be assumed as the process of obtaining the received pilot vector \(Y_{N_{p}}\) after a compressive measurement of \(h\) with \(N_{p}\) pilots and then reconstructing \(h\) with \(Y_{N_{p}}\).