## 3 Theoretical Background
### Compressive Sensing (CS)  
Compressive sensing (CS) is also referred as compressive sampling, sparse recovery, or compressed sensing. Conventional Shannon theorem-based sampled signal recovery algorithms have the following basic constraints [58]:  
* The Shannon theorem states that the sampling rate needs to be more than or equal to twice the signal's bandwidth [59]. * Linear algebra stipulates that the length of the observed samples must be equal to or greater than the length of original signal [38]. ```
Initialize:  Set initial positions \(x_{i}(0)|\;i\in\{1,2,3,\ldots,N\}\) and velocities \(v_{i}(0)|\;i\in\{1,2,3\ldots,N\}\) of each of the \(N\) particles randomly within a specified range. Set intertia weight \(w\). Set constant \(c_{1}\) and \(c_{2}\). Set \(p_{best}^{i}\) for each particle as the initial position. Set \(g_{best}\) as the best position among all particles. Main:  While termination criterion is not met do:  For each particle do:  Evaluate fitness of particle through objective function presented in eq. (18)  If current position is better than \(p_{best}^{i}\):  Update \(p_{best}^{i}\) with current position  If current position is better than \(g_{best}\):  Update \(g_{best}\) with current position  For each particle do:  Update particle velocity using: \(v_{i}(t+1)=w\cdot v_{i}(t)+\;c_{1}\cdot r_{1}\cdot(p_{best}\;-\;x_{i}(t))+\;c_{2 }\cdot r_{2}\cdot(g_{best}\;-\;x_{i}(t))\)  Update positions of particles using: \(x_{i}(t+1)=x_{i}(t)+v_{i}(t+1)\) End while  Return \(g_{best}\) as the best solution found
```  
**Algorithm 1**PSO Algorithm  
Compressive sensing aims to overcome these limitations by stating that sparse signals can be reconstructed from incomplete samples. It enables the reconstruction of a compressed signal with only a few linear and non-adaptive measurements [1]. Additionally, unlike conventional signal compression methods, which use a sample-then-compress procedure, the CS achieves compression while sampling. The fundamental equation for recovering the CS signal is as follows:  
\[\left[y\right]_{M\times 1}=\left[\phi\right]_{M\times N}\cdot\left[x\right]_{N \times 1}+\left[v\right]_{M\times 1} \tag{9}\]  
where \(x\), \(y\), and \(v\) denote the sparse signal, observation vector, and noise, respectively, while \(\phi\) denotes the sensing (recovery) matrix. To achieve proper compression and recovery through CS, the following conditions must be satisfied:  
1. \(M\ll N\), to ensure the compression [60; 61]. 2. \(x\) is required to be a k-sparse vector that satisfies \(k<<N\), where \(N\) denotes the length of \(x\). 3. \(\phi\) required to be a matrix having full rank. The reconstruction of \(x\) from \(y\) using Equation (9) requires the estimation of \(\phi\)-inverse:  
\[x\approx\phi^{-1}y,\text{ neglecting the }\
u \tag{10}\]  
Since \(\phi\) is a non-square matrix (\(M\
eq N\)), instead of inverse, the pseudo-inverse is used. Pseudo-inverses are defined for matrices with real or complex entries, and it is unique for these matrices [62]. The estimation of pseudo-inverse requires the decomposition of the phi matrix into three matrices using singular value decomposition (SVD) factorization as follows:  
\[\phi=USV^{T} \tag{11}\]  
where \(\phi\) and \(U\) are an orthogonal matrix and \(S\) is a diagonal matrix containing singular values. Therefore, the pseudo-inverse of matrix \(\phi\) through singular values is calculated as:  
\[\phi^{+}=VS^{+}U^{T} \tag{12}\]  
where \(S^{+}\) is obtained by replacing each non-zero singular value in \(S\) with its reciprocal.