## 3 Compressive Sampling Algorithm
As shown in Equation (9), the random measurement matrix is determined by the Bernoulli function, which contains only 0 and 1. The elements with the values of '1' represent the real physics measurement paths that are selected in the measurement stage. On the contrary, '0' stands for the related real physics path that is abandoned from the improved measurement net. When all the selected paths have been measured, the flaws and holes of the STS will be reconstructed based on the \(\ell_{1}\)-minimization algorithm of the CS method in the reconstructed stage. \[\boldsymbol{\Phi}=\left[ \begin{array}{cccc}1&0&0&\cdots&0\\ 0&0&1&\cdots&0\\ 0&1&0&\cdots&0\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ 0&0&0&\cdots&1\\ \end{array} \right]_{m\times N} \tag{9}\]  
Figure 2: Practical example of compressive sampling: (**a**) Original smiley face image; (**b**) Random selected 200 ray-paths; (**c**) Reconstructed image. In summary, based on the sparse distribution of the flaws and the randomly selected measurement paths, CS theory can be used to reconstruct the internal situation of the structure with a reasonable accuracy. The random measurement paths \(m>\upmu\!\cdot\!K\!\cdot\log(N/K)\) samples are sufficient for \(\ell_{1}\)-minimization to accurately recover the slowness vector \(\Delta\)s. If the representation of \(\Delta\)s is truly sparse and the number of the flaws is indeed small, then the measurement times \(m\) can be much less than \(N\), which is required by the traditional ultrasonic CT technique for the same accuracy. The proposed \(\ell_{1}\)-minimization algorithm of CS theory is expressed as the following equation to recover \(\Delta\)s, representing the internal situation of concrete-filled steel tube of an STS structure:  
\[\Delta\mathbf{\hat{s}}=arg\;min(\,||\mathbf{\Theta}\Delta\mathbf{s}-\mathbf{y }\,||_{2}+\lambda\,||\Delta\mathbf{s}\,||_{1})\,,\;\text{where}\;\mathbf{ \Theta}=\mathbf{\Phi}A \tag{10}\]  
where, \(\Delta\mathbf{\hat{s}}\) is the reconstructed slowness, \(\lambda\) is the regularization parameter, \(||\cdot||_{1}\) is the \(\ell_{1}\)-norm, and \(||\cdot||_{2}\) is the \(\ell_{2}\)-norm [33]. The purpose of Equation (10) is to attempt to recover the sparsest solution of slowness vector \(\Delta\)s by solving an \(\ell_{1}\)-minimization optimization problem. This \(\ell_{1}\)-minimization optimization approach has been proven to be a powerful method for computing sparse signals. This optimization problem is solved using the general-purpose convex optimization package CVX ([PERSON] and [PERSON], CVX: Matlab Software for Disciplined Convex Programming, version 2.1, available at [[http://cvxr.com/cvx/download/](http://cvxr.com/cvx/download/)]([http://cvxr.com/cvx/download/](http://cvxr.com/cvx/download/))). The regularization parameter \(\lambda\) balances the data misfit (\(||\mathbf{\Theta}\Delta\mathbf{s}-\mathbf{y}\,||_{2}\)) and model constraint (\(||\Delta\mathbf{s}||_{1}\)), providing various constrained versions of the problem. To pursue a meaningful sparsest solution, the value of parameter \(\lambda\) can be appropriately determined by solving Equation (10) for different values and then choosing \(\lambda\) so that \(\mathbf{\Theta}\Delta\mathbf{s}-\mathbf{y}_{2}<\epsilon\) (which makes the solution of Equation (10) the same as Equation (7)). The parameter \(\lambda\) is also called a data consistency tuning constant, which is a variable value related to the variance and signal-to-noise ratio (SNR) in various cases. In this case, the value of parameter \(\lambda\) is 0.083, determined by signal processing and the numerical simulation.