﻿ 通过CWLS−DL优化St−OMP算法的盲信号重构
«上一篇
 文章快速检索 高级检索

 应用科技  2019, Vol. 46 Issue (3): 40-45, 50  DOI: 10.11991/yykj.201809021 0

### 引用本文

GUO Lingfei, ZHANG Linbo. Blind signal reconstruction of St−OMP algorithm optimized by CWLS−DL[J]. Applied Science and Technology, 2019, 46(3), 40-45, 50. DOI: 10.11991/yykj.201809021.

### 文章历史

Blind signal reconstruction of St−OMP algorithm optimized by CWLS−DL
GUO Lingfei , ZHANG Linbo
College of Information and Communication Engineering, Harbin Engineering University, Harbin 150001, China
Abstract: Considering the source signal reconstruction algorithm, which is improved in the " two-step method” of sparse component analysis theory, this paper proposes an algorithm combining correlation weighted least squares dictionary learning method and stagewise orthogonal matching pursuit algorithm. It solves the F-norm minimization problem that has weighted signal errors and changes the complexity of the algorithm by increasing the number of atoms in a single iteration. This combination algorithm is used to simulate the blind source separation of speech signals and complete source signal reconstruction. The experimental results show that the signal reconstructed by the combined algorithm can guarantee the improvement of reconstruction accuracy and the compromise of algorithm complexity. The performance of this combined algorithm is optimal in a noiseless environment. The minimum signal-to-noise ratio that can achieve signal reconstruction in a noisy environment is about 17-18 dB.
Keywords: compressed sensing    blind signal reconstruction    signal reconstruction accuracy    computational complexity    sparse component analysis    weighted least squares    dictionary learning    orthogonal matching pursuit algorithm

1 压缩感知问题描述 1.1 盲源分离与压缩感知等效模型

 ${X}(t) = {AS}(t)$ (1)

 $\left[ {\begin{array}{*{20}{c}} {{x_1}(t)}\\ {{x_2}(t)}\\ \vdots \\ {{x_M}(t)} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{a_{11}}}&{{a_{12}}}& \cdots &{{a_{1N}}}\\ {{a_{21}}}&{{a_{22}}}& \cdots &{{a_{2N}}}\\ \vdots & \cdots & \cdots & \vdots \\ {{a_{M1}}}&{{a_{M2}}}& \cdots &{{a_{MN}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{s_1}(t)}\\ {{s_2}(t)}\\ \vdots \\ {{s_N}(t)} \end{array}} \right]$ (2)

 ${X} = {\varPhi S}$ (3)

 $\left[ {\begin{array}{*{20}{c}} {{x_1}} \\ {{x_2}} \\ \vdots \\ {{x_M}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{\varphi _{11}}}&{{\varphi _{12}}}& \cdots &{{\varphi _{1N}}} \\ {{\varphi _{21}}}&{{\varphi _{22}}}& \cdots &{{\varphi _{2N}}} \\ \vdots & \cdots & \cdots & \vdots \\ {{\varphi _{M1}}}&{{\varphi _{M2}}}& \cdots &{{\varphi _{MN}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{s_1}} \\ {{s_1}} \\ \vdots \\ {{s_N}} \end{array}} \right]$ (4)

 ${S} = \sum\limits_{i = 1}^N {{b_i}{{\psi }_i}}$ (5)

 ${\varGamma } = {\varPhi \varPsi }$ (6)

${\varGamma} = {\varPhi \varPsi}$ ${\varGamma }$ 为感知矩阵。

 ${X} = {\left[ {{x_1}\left( 1 \right), \cdots ,{x_1}\left( T \right), \cdots ,{x_M}\left( 1 \right), \cdots ,{x_M}\left( T \right)} \right]^{\rm{T}}}$ (7)
 ${S} = {\left[ {{s_1}\left( 1 \right), \cdots ,{s_1}\left( T \right), \cdots ,{s_N}\left( 1 \right), \cdots ,{s_N}\left( T \right)} \right]^{\rm{T}}}$ (8)

 ${{\varphi }_{ij}} = \left[ {\begin{array}{*{20}{c}} {{a_{ij}}}&0& \cdots &0 \\ 0&{{a_{ij}}}& \cdots &0 \\ \vdots & \cdots & \cdots & \vdots \\ 0&0& \cdots &{{a_{ij}}} \end{array}} \right]$ (9)

1.2 压缩感知盲源分离主要内容

1.2.1 字典学习

1.2.2 观测矩阵构造

1.2.3 重构算法

2 压缩感知盲源分离算法 2.1 CWLS-DL方法

 ${S}\left( t \right) = \left[ {{s_i}\left( t \right)} \right]_{i = 1}^N$ (10)

 ${B}\left( t \right) = \left[ {{{b}_i}\left( t \right)} \right]_{i = 1}^N$ (11)

 $\arg \mathop {\min }\limits_{{{d}_i}} f\left( {{{d}_i}} \right) = \arg \mathop {\min }\limits_{{{d}_i}} \left\{ {{{\left\| {\left( {{S} - \sum\limits_{i = 1}^N {{{d}_i}{{b}_i}} } \right){{W}_0}} \right\|}_F}^2} \right\}$ (12)
 ${\rm{s}}{\rm{.t}}.\forall i,{\left\| {{b_i}} \right\|_0} = {K_0}$ (13)

 $\begin{array}{l} {\left\| {\left( {{S} - \displaystyle\sum\limits_{i = 1}^N {{{d}_i}{{b}_i}} } \right){{W}_0}} \right\|_F}^2 = {\rm{tr}}\left( {{SW}{{S}^{\rm{T}}}} \right) - {\rm{tr}}\left( {{SW}{{\left( {\displaystyle\sum\limits_{i = 1}^N {{{d}_i}{{b}_i}} } \right)}^{\rm{T}}}} \right) - \\ {\rm{tr}}\left( {{{\left( {\displaystyle\sum\limits_{i = 1}^N {{{d}_i}{{b}_i}} } \right)}^{\rm{T}}}{W}{{S}^{\rm{T}}}} \right) + {\rm{tr}}\left( {{{\left( {\displaystyle\sum\limits_{i = 1}^N {{{d}_i}{{b}_i}} } \right)}^{\rm{T}}}{W}{{\left( {\displaystyle\sum\limits_{i = 1}^N {{{d}_i}{{b}_i}} } \right)}^{\rm{T}}}} \right) \end{array}$ (14)

 $\sum\limits_{i = 1}^N {{{d}_i}{{b}_i}} = {SW}{\left( {\sum\limits_{i = 1}^N {{{b}_i}} } \right)^{\rm{T}}}{\left[ {{W}{{\left( {\sum\limits_{i = 1}^N {{{b}_i}} } \right)}^{\rm{T}}}} \right]^{ - 1}}$ (15)

 ${R} = {S} - \sum\limits_{i = 1}^N {{{d}_i}{{b}_i}} = \left[ {{r}\left( 1 \right),{r}\left( 2 \right), \cdots ,{r}\left( T \right)} \right]$ (16)

 ${W}^{'} = {\rm{diag}}\left[ {\frac{1}{{{{\left\| {{r}\left( 1 \right)} \right\|}_2}^2}},\frac{1}{{{{\left\| {{r}\left( 2 \right)} \right\|}_2}^2}}, \cdots ,\frac{1}{{{{\left\| {{r}\left( T \right)} \right\|}_2}^2}}} \right]$ (17)

 ${\varPsi } = \left[ {{{\psi }_1},{{\psi }_2}, \cdots ,{{\psi }_N}} \right]$ (18)
2.2 分段正交匹配追踪算法

2.2.1 算法涉及到的变量与成分

1）感知矩阵： ${\varGamma } = {\varPhi \varPsi }$

2）观测信号： ${X}$

3）迭代次数： ${S_t}$

4）阈值： ${t_s}$

1）稀疏系数向量估计值： $\hat{ B}$

2）残差： ${{r}_S} = {X} - {{\bf{\varGamma }}_S}{\hat{ B}_S}$

1）迭代次数： $t$

2）每次迭代找到的索引（列序号）： ${J_0}$

3）t次迭代索引（列序号）集合：Λt

4） ${\varGamma }$ 的第 $j$ 列： ${{\gamma }_j}$

5）按Λt选出的矩阵Γ的列集合：Γt

6）门限值 ${{r}_0} = {X},{{{\varLambda }}_0} = {\text{Ø}} ,{{\varGamma }_0} = {\text{Ø}} ,$

2.2.2 算法具体流程

1）将参数初始化： ${{r}_0} = {X},{{{\varLambda}} _0} = {\text{Ø}} ,{{{\varGamma}} _0} = {\text{Ø}} , t = 1$

2）计算 $u$ 并选择 $u$ 中大于门限的TTh值，将计算出的值对应Γt的列序号构成集合 ${J_0}$ $1 \leqslant j \leqslant N$ ）， $u$ 的计算式如式（19）：

 $u = {\rm{abs}}\left[ {{{\varGamma }_t}^{\rm{T}}{{r}_{t - 1}}} \right] = \left| {\left\langle {{{r}_{t - 1}},{{\gamma }_j}} \right\rangle } \right|$ (19)

3）按式（20）进行集合并运算，若Λt=Λt-1（即没有新列被选中），则停止迭代，进入步骤7）；

 ${{\varLambda }_t} = {{\varLambda }_{t - 1}} {{\text{∪}}} \left\{ {{J_0}} \right\}{\rm{,}}{{\varGamma }_t} = {{\varGamma }_{t - 1}} {{\text{∪}}} \left\{ {{{\gamma }_j}} \right\}$ (20)

4）求 ${X} = {{\varGamma }_t}{{B}_t}$ 的最小二乘解：

 ${\hat{ B}_t} = \arg \mathop {\min }\limits_{{{B}_t}} \left\| {{X} - {{\varGamma }_t}{{B}_t}} \right\| = {\left( {{{\varGamma }_t}^{\rm{T}}{{\varGamma }_t}} \right)^{ - 1}}{{\varGamma }_t}^{\rm{T}}{X}$

5）按式（21）进行残差更新计算；

 ${{r}_t} = {X} - {{\varGamma }_t}{\hat{ B}_t} = \left\{ {{I} - {{\varGamma }_t}\left[ {{{\left( {{{\varGamma }_t}^{\rm{T}}{{\varGamma }_t}} \right)}^{ - 1}}{{\varGamma }_t}^{\rm{T}}} \right]} \right\}{X}$ (21)

6）迭代次数增加，即 $t = t + 1$ 。若 $t \leqslant S$ ，则返回步骤2）继续执行；若 $t > S$ 或残差 ${{r}_t} = {\bf{0}}$ ，停止迭代，进入步骤7）。

7）得到最终的 $\hat{ B}$ 后，再乘上前面得到的字典 ${\varPsi}$ ，可重构信号 $\hat{ S} = {\varPsi}\hat{{B}}$ $\hat{ B}$ Λt处有非零项，其值分别为最后一次迭代得到的 ${\hat{ B}_t}$

2.3 组合算法流程图

2.4 算法性能评价标准

1）信干比

 ${R_{{\rm{SIR}}}} = 10\lg {\left( {\frac{{{{\left\| {{s_i}} \right\|}_2}}}{{{{\left\| {{{\hat s}_i} - {s_i}} \right\|}_2}}}} \right)^2}$

2）相关系数

 ${\varepsilon _i} = {\rm{cor}}\left( {{{\hat s}_i}(t),{s_i}(t)} \right) = \displaystyle\frac{{\left| {\displaystyle\sum\limits_{i = 1}^N {{{\hat s}_i}(t){s_i}(t)} } \right|}}{{\sqrt {\displaystyle\sum\limits_{i = 1}^N {{{\hat s}_i}^2(t)\displaystyle\sum\limits_{i = 1}^N {{s_i}^2(t)} } } }}$

3 仿真实验及结果分析

 ${A} = \left[ {\begin{array}{*{20}{c}} {0.750 \; 3}&{ - 0.858 \; 7}&{0.661 \; 9}&{ - 0.262 \; 6} \\ {0.532 \; 7}&{0.175 \; 3}&{0.985 \; 6}&{0.334 \; 3} \\ { - 0.068 \; 7}&{0.464 \; 2}&{0.367 \; 0}&{0.730 \; 9} \end{array}} \right]$
3.1 语音信号重构的仿真实验（无噪声环境） 3.1.1 信号重构情况

3.1.2 算法性能检验

3.2 语音信号重构的仿真实验（有噪声环境） 3.2.1 信号重构情况

3.2.2 算法性能检验

4 结论

1）提出的组合算法能够解决带权重信号误差的F−范数最小化问题，并通过增加单次迭代的原子数改变算法复杂度。

2）仿真实验结果表明，CWLS字典学习与St-OMP算法组合在原有算法基础上，可提高信号重构精度，同时在算法复杂度上有着不错的折中效果；而且在含噪声环境下同样有着较优的性能。

 [1] 许华杰, 何敬禄, 胡小明. 基于块稀疏度估计的压缩感知自适应重构算法[J]. 计算机应用研究, 2018, 35(1): 305-308, 320. DOI:10.3969/j.issn.1001-3695.2018.01.065 (0) [2] BARNICH O, VAN DROOGENBROECK M. ViBe: a universal background subtraction algorithm for video sequences[J]. IEEE transactions on image processing, 2011, 20(6): 1709-1724. DOI:10.1109/TIP.2010.2101613 (0) [3] ELAD M. Optimized projections for compressed sensing[J]. IEEE transactions on signal processing, 2007, 55(12): 5695-5702. DOI:10.1109/TSP.2007.900760 (0) [4] 何继爱, 刘向阳. 压缩感知理论及其在盲源分离中的应用[J]. 测控技术, 2016, 35(11): 149-152. DOI:10.3969/j.issn.1000-8829.2016.11.037 (0) [5] 王粒宾, 崔琛, 李莹军. 基于加权最小二乘的字典学习算法[J]. 系统工程与电子技术, 2011, 33(8): 1896-1900. DOI:10.3969/j.issn.1001-506X.2011.08.41 (0) [6] 张红丽. 基于稀疏性增强的欠定盲源分离算法研究[D]. 秦皇岛: 燕山大学, 2016: 30. (0) [7] 徐健, 常志国, 张小丹. 采用交替K-奇异值分解字典训练的图像超分辨率算法[J]. 武汉大学学报(信息科学版), 2017, 42(8): 1137-1143. (0) [8] FU Weihong, CHEN Jiehu, YANG Bo. Source recovery of underdetermined blind source separation based on SCMP algorithm[J]. IET signal processing, 2017, 11(7): 877-883. DOI:10.1049/iet-spr.2015.0100 (0) [9] 叶娅兰, 何文文, 程云飞, 等. 面向压缩感知的基于相关性字典学习算法[J]. 电子科技大学学报, 2017, 46(5): 703-708. DOI:10.3969/j.issn.1001-0548.2017.05.011 (0) [10] 练秋生, 王小娜, 石保顺, 等. 基于多重解析字典学习和观测矩阵优化的压缩感知[J]. 计算机学报, 2015, 38(6): 1162-1171. (0) [11] 汪浩然, 夏克文, 牛文佳. 分段正交匹配追踪(StOMP)算法改进研究[J]. 计算机工程与应用, 2017, 53(16): 55-61. DOI:10.3778/j.issn.1002-8331.1604-0226 (0) [12] CHEN P, PENG D H, ZHEN L L, et al. Underdetermined blind separation by combining Sparsity and independence of sources[J]. IEEE access, 2017, 5: 21731-21742. DOI:10.1109/ACCESS.2017.2764044 (0)