初始化設定:
給定接收訊號 \(\mathbf{y}[m] \in \mathbb{C}^{N_c}\) 和感測矩陣 \(\mathbf{X}_m \in \mathbb{C}^{N_c \times L}\),設定:
初始噪聲估計:
For \(i = 1, 2, \ldots, K_{\max}\):
計算當前CIR:
$$\hat{\mathbf{h}}^{(i)} = \mathbf{X}_m^H \mathbf{y}^{(i-1)}, \quad \hat{\mathbf{h}}_{\text{abs}}^{(i)} = |\hat{\mathbf{h}}^{(i)}|$$定義搜尋遮罩(排除已檢測位置):
$$\text{mask}[\ell] = \begin{cases} 0, & \exists p \in \mathcal{S}^{(i-1)}: |\ell - p| \leq r_{\text{ex}} \\ 1, & \text{otherwise} \end{cases}$$尋找遮罩後峰值:
$$\ell_i^* = \arg\max_{\ell} \left\{\text{mask}[\ell] \cdot \hat{\mathbf{h}}_{\text{abs}}^{(i)}[\ell]\right\}$$ $$a_i = \hat{\mathbf{h}}_{\text{abs}}^{(i)}[\ell_i^*]$$定義有效搜尋集合:
$$\mathcal{M}^{(i)} = \{\ell : \text{mask}[\ell] = 1\}$$動態噪聲水平(使用最低30%樣本):
$$\sigma_n^{(i)} = \text{mean}\left(\hat{\mathbf{h}}_j^{(i)}\right) + 2 \cdot \text{std}\left(\hat{\mathbf{h}}_j^{(i)}\right)$$其中 \(j \in\) 最低30%的 \(\mathcal{M}^{(i)}\) 元素
峰值-噪聲比計算:
$$\text{SNR}^{(i)} = 20\log_{10}\left(\frac{a_i}{\sigma_n^{(i)} + \epsilon}\right)$$停止條件:
$$\text{if } \text{SNR}^{(i)} < \gamma_{\text{th}} \text{ then break}$$提取感測矩陣第 \(\ell_i^*\) 列:
$$\mathbf{g}_i = \mathbf{X}_m[:, \ell_i^*]$$最小二乘估計複數幅度:
$$\alpha_i = \frac{\mathbf{g}_i^H \mathbf{y}^{(i-1)}}{\mathbf{g}_i^H \mathbf{g}_i}$$構建單目標通道向量:
$$\mathbf{h}_{\text{temp}} = \alpha_i \cdot \mathbf{e}_{\ell_i^*}$$其中 \(\mathbf{e}_{\ell_i^*}\) 為第 \(\ell_i^*\) 個標準單位向量
計算目標貢獻:
$$\mathbf{s}_i = \mathbf{X}_m \mathbf{h}_{\text{temp}} = \alpha_i \cdot \mathbf{g}_i$$更新殘差:
$$\mathbf{y}^{(i)} = \mathbf{y}^{(i-1)} - \mathbf{s}_i$$殘差能量比:
$$\rho^{(i)} = \frac{\|\mathbf{y}^{(i)}\|_2^2}{\|\mathbf{y}^{(0)}\|_2^2}$$停止條件:
$$\text{if } \rho^{(i)} < 10^{-3} \text{ then break}$$End For
最終檢測結果:
$$\mathcal{S}_{\text{coarse}} = \{(c_k, \alpha_k^{\text{coarse}})\}_{k=1}^K$$其中:
註:階段一的粗估計結果將作為階段二(迭代精煉)的初始值,進行更精確的參數優化。