# Double-Layer Compressive Sensing Based Efficient DOA Estimation in WSAN with Block Data Loss
## 3 Double-Layer CS Framework-Based DOA Estimation
### DOA Estimation by DCS-DOA
#### 3.2.1 Signal Recovery  
The active CS projection matrix at each array sensor is generated in advance and stored in the ROM, as well as at the FC. Moreover, as the sending sequence number of each data packet can be included in the packet header, the identities of the received data packets are known by the FC. For the \(h\)-th array sensor, taking the passive CS process, the active CS process and the sparse representation in the frequency domain into consideration simultaneously, we have:  
\[\mathbf{y}_{h}=\mathbf{\Phi}_{r,h}\mathbf{\Phi}_{s,h}\mathbf{x}_{h}=\mathbf{ \Phi}_{r,h}\mathbf{\Phi}_{s,h}\mathbf{\Psi}\boldsymbol{\alpha}_{h}=\mathbf{ \Phi}_{h}\mathbf{\Psi}\boldsymbol{\alpha}_{h} \tag{7}\]  
where \(\mathbf{y}_{h}\) is the received data vector (the measurement vector), \(\mathbf{\Phi}_{r,h}\) is the passive CS measurement matrix modeling the packet loss, \(\mathbf{\Phi}_{s,h}\) is the active CS projection matrix adopted at the \(h\)-th array sensor, \(\mathbf{\Psi}\) is the \(N\times N\) inverse discrete Fourier transform (IDFT) matrix and \(\boldsymbol{\alpha}_{h}\) is the sparse vector in the frequency domain. For the \(h\)-th array sensor, the double-layer CS measurement matrix is denoted by \(\mathbf{\Phi}_{h}\), and \(\mathbf{\Phi}_{h}=\mathbf{\Phi}_{r,h}\mathbf{\Phi}_{s,h}\). Stacking all of the measurement vectors of the \(H\) array sensors together, we have:  
\[\left[\begin{array}{c}\mathbf{y}_{1}\\ \mathbf{y}_{2}\\ \vdots\\ \mathbf{y}_{H}\end{array}\right]=\left[\begin{array}{cccc}\mathbf{\Phi}_{ 1}\mathbf{\Psi}&&\\ &\mathbf{\Phi}_{2}\mathbf{\Psi}&&\\ &&\ddots&\\ &&&\mathbf{\Phi}_{H}\mathbf{\Psi}\end{array}\right]\left[\begin{array}{c} \boldsymbol{\alpha}_{1}\\ \boldsymbol{\alpha}_{2}\\ \vdots\\ \boldsymbol{\alpha}_{H}\end{array}\right] \tag{8}\]  
or in a concise form:  
\[\mathbf{y}=\mathbf{\Theta}\boldsymbol{\alpha} \tag{9}\]  
where \(\mathbf{y}=\left[\mathbf{y}_{1}^{\mathsf{T}},...,\mathbf{y}_{H}^{\mathsf{T}}\right] ^{\mathsf{T}}\) is the joint measurement vector, \(\mathbf{\Theta}=\mathrm{diag}\left\{\mathbf{\Phi}_{1}\mathbf{\Psi},\mathbf{ \Phi}_{2}\mathbf{\Psi},...,\mathbf{\Phi}_{H}\mathbf{\Psi}\right\}\) is the joint measurement matrix of \(H\) array sensors and \(\boldsymbol{\alpha}=\left[\boldsymbol{\alpha}_{1}^{\mathsf{T}},...,\boldsymbol {\alpha}_{H}^{\mathsf{T}}\right]^{\mathsf{T}}\) is the joint sparse vector. To implement DOA estimation, the sparse vector at each array sensor needs to be recovered. Considering that \(\boldsymbol{\alpha}_{h},1\leq h\leq H\) share the same sparse structure under the assumption that signals of interest are composed of identical harmonics, the sparse vector reconstruction, given Equation (9), can be realized based on the concept of group-sparsity [26]. Define a matrix \(\boldsymbol{\beta}=\left[\boldsymbol{\alpha}_{1},\boldsymbol{\alpha}_{2},...,\boldsymbol{\alpha}_{H}\right]\), with \(\boldsymbol{\beta}_{k}\) denoting the  
Figure 8: The active CS process at each array sensor using a projection matrix constructed from a permutation or Gaussian matrix.  
\(k\)-th row of \(\mathbf{\beta}\), and \(\bar{\mathbf{\kappa}}=\left[\left\|\mathbf{\beta}_{1}\right\|_{2},\left\|\mathbf{\beta}_{2} \right\|_{2},...,\left\|\mathbf{\beta}_{N}\right\|_{2}\right]^{T}\); then, \(\mathbf{\alpha}_{h},1\leq h\leq H\) can be recovered by solving the following group sparsity-based \(l_{1}\)-norm minimization problem:  
\[\begin{array}{ll}\min&\left\|\bar{\mathbf{\kappa}}\right\|_{1}\\ \text{subject to }&\mathbf{y}=\mathbf{\Theta}\mathbf{\alpha}\end{array} \tag{10}\]  
which is representable in a second order cone programming (SOCP) frame and solved using the SeDuMi toolbox [27].