## 3 The Proposed BS-CS Method  
While the DCS algorithm was proposed to explore the time-varying characteristic of UWA channel, the sparse multipath with block sparsity tends to be underrated. Hence, in our work, to exploit the block sparsity of the time-varying UWA channel, the BS-CS algorithm is proposed. The measurement model at time \(t\) can be expressed by [15; 16]:  
\[\mathbf{y}_{t}=\mathbf{Xh}_{t}+\mathbf{w}_{t}, \tag{8}\]  
where \(\mathbf{y}_{t}\), \(\mathbf{h}_{t}\), and \(\mathbf{w}_{t}\) are the received signal, the CIR, and the sea noise at time \(t\), respectively. Let \(T_{t}\) denote the estimate support set of \(\hat{\mathbf{h}}_{t}\), and \(T_{t}^{c}\) denote the complement of \(T_{t}\). Figure 2 shows the flowchart of the proposed BS-CS algorithm. We describe the proposed BS-CS algorithm below. _(1) Running the BOMP._ At time \(t\), we adopt the BOMP [23] algorithm to perform an initial channel estimation. Firstly, we compute the inner product between residual error \(\mathbf{r}\) and sub-matrix \(\mathbf{X}[j]\), where \(j\) takes from \(T_{t-1}\), namely, the support set of the estimated channel \(\mathbf{\hat{h}}_{t-1}\) at time \(t-1\). Furthermore, the location \(\gamma_{k}\) is given by maximum absolute value of the inner product of each sub-block. With the initialization of \(k=1,\mathbf{r}^{0}=\mathbf{y}_{t}\), we have:  
\[\gamma^{k}=\operatorname*{arg\,max}_{j=T_{t-1}}||\mathbf{X}[j]^{T}\mathbf{r}^ {k-1}||_{2}, \tag{9}\]  
where \(k\) denotes the iteration number of BOMP. Then, we add \(\gamma_{k}\) into the block index \(\hat{T}_{t}\) as:  
\[\hat{T}_{t}^{k}=\hat{T}_{t}^{k-1}\cup\gamma^{k}. \tag{10}\]  
Thus, using the updated block index \(\hat{T}_{t}\), we can have the multipath magnitude of the UWA channel with LS algorithm:  
\[\mathbf{\hat{h}}_{t,tmp}=(\mathbf{X}[\hat{T}_{t}^{k}])^{\intercal}\mathbf{y }_{t}. \tag{11}\]  
Next, the residual error \(\mathbf{r}^{k}\) is updated by:  
\[\mathbf{r}^{k}=\mathbf{y}_{t}-\mathbf{X}[\hat{T}_{t}^{k}]\mathbf{\hat{h}}_{t, tmp}. \tag{12}\]  
Iteration stops when the maximum iteration number \(\kappa\) is reached, and an initial channel estimation result \(\mathbf{\hat{h}}_{t,tmp}\) is obtained. Otherwise, the above iterations continue. _(2) Computing the additions._ The residual error of the BOMP is:  
\[\mathbf{\hat{y}}_{t,res}=\mathbf{y}_{t}-\mathbf{X}\mathbf{\hat{h}}_{t,tmp}. \tag{13}\]  
We can see that the residual error \(\mathbf{\hat{y}}_{t,res}\) in (13) can be rewritten as:  
\[\mathbf{\hat{y}}_{t,res} =\mathbf{X}\mathbf{b}_{t}+w_{t}, \tag{14a}\] \[\mathbf{b}_{t} =\mathbf{h}_{t}-\mathbf{\hat{h}}_{t,tmp}, \tag{14b}\]  
where \(\mathbf{b}_{t}\) is a \(|\hat{T}_{t}\cup\Delta_{t}|\)-sparse vector with \((\mathbf{b}_{t})_{(\hat{T}_{t}\cup\Delta_{t})^{c}}=\mathbf{0}\). Thus, the CS algorithm [16] can be used on \(\mathbf{\hat{y}}_{t,res}\) and followed by thresholding \(\alpha\) to calculate its new support at time \(t\) as:  
\[\Delta_{t} =\{i\in\hat{T}_{t}^{c}:|(\mathbf{b}_{t})_{i}|>\alpha\}, \tag{15a}\] \[\hat{T}_{t} =\hat{T}_{t}\cup\Delta_{t}. \tag{15b}\]  
_(3) BOMP update._ We use the new support \(\hat{T}_{t}\) to perform the BOMP [23] estimate. With the initialization of \(k=1,\mathbf{r}^{0}=\mathbf{y}_{t}\), we have:  
\[\gamma^{k}=\operatorname*{arg\,max}_{j=T_{t-1}}||\mathbf{X}[j]^{T}\mathbf{r}^ {k-1}||_{2}, \tag{9}\]0  
where \(k\) denotes the iteration number of BOMP. Then, we add \(\gamma_{k}\) into the block index \(T_{t}\) as:  
\[\gamma^{k}=\operatorname*{arg\,max}_{j=T_{t-1}}||\mathbf{X}[j]^{T}\mathbf{r}^ {k-1}||_{2}, \tag{9}\]1  
\[\gamma^{k}=\operatorname*{arg\,max}_{j=T_{t-1}}||\mathbf{X}[j]^{T}\mathbf{r}^ {k-1}||_{2}, \tag{9}\]2 The flowchart of the proposed BS-CS algorithm.