Page 148 - 应用声学2019年第4期
P. 148
608 2019 年 7 月
在各类信号重构算法中,OMP 算法 [15] 的计算 和的最大值,保存最大值位置λ t 的索引和对应的原
复杂度较低,该算法的主要过程为计算观测矩阵和 子X i,λ t ,也就是X i 对应的第λ t 列。公式表示为
压缩采样信号的最大相关位置,通过求解最小二乘 ∑
N
t
问题得到信号的近似解。在迭代次数小于稀疏度的 λ t = argmax |⟨X i , r ⟩|,
i
i=1
情况下,重复上述过程,输出最大相关的索引集和重
Ω = Ω ∪ λ t ,
构后的信号。
. (12)
Phit i = Phit i ∪ X i,λ t
1.3 DCS算法的DOA估计模型
(3) 采用最小二乘法求出信号的近似解:
分布式压缩感知算法在经典压缩感知算法的
T −1
基础上,考虑多组信号之间的共同稀疏性来提高重 β i = [(X i,λ t ) X i,λ t ] X i,λ t Y i ,
构性能。对于阵列各个阵元接收信号,可以看作同 i = 1, 2, · · · , N. (13)
一个信号经过傅里叶变换,但是由信号传播而导致 保存各个数据块的信号近似解:S i = S i ∪ β i , (i =
的幅度衰减和相位偏移 [9] 后获得,符合 DCS 理论 1, 2, · · · , N),并求残差:
中的JSM2模型。在理想环境下,如果声源相对于麦 t
r = Y i − Phit i S i , i = 1, 2, · · · , N. (14)
i
克风阵列的位置保持固定,则可认为此时声源在空
(4) 收敛判断:如果残差 r < thres,或者迭代
t
间域的稀疏性是固定的,即不同时刻从同一个声源 i
次数 t < K,则返回第 (2) 步继续迭代,否则停止迭
传到麦克风阵列处的信号在空间稀疏性是保持一
代并输出结果。
致的,这种同一个声源连续语音之间具有共同稀疏
在上述迭代的过程中可以看出,联合稀疏重构
性的特性,可以在DCS理论中被用于提高稀疏信号
算法在 OMP 基础上,利用每个数据块具有相同稀
的无损恢复概率,从而进一步提高对声源方向的压
疏位置的特性,对数据块之间相同的稀疏部分进行
缩感知估计能力。
叠加,以进一步提高找出信号稀疏位置的能力。特
在 JSM2 模型中,第 i 个数据块的接收信号 Y i
别的,当 N = 1 时,联合稀疏重构的 SOMP 算法退
在基矩阵下可线性表示为
化成经典的OMP算法。
T
Y i = S i Ψ + W i , i = 1, 2, · · · , I, (10) 在理想环境的多声源场景下,声源数量和信
其中,I 表示数据块个数。建立如下优化问题: 号稀疏度 K 是对应的。但是实际环境下由于房
N 间冲激响应长度大于窗函数的长度,算法重构后
∑
ˆ
S = argmin ||S|| 0 , (11)
的信号 S 的稀疏度 K 大于声源个数,即存在非零
i=1
值处的空间位置没有声源。DCS 理论同样需要综
其中,N 表示联合 N 个数据块进行联合稀疏重构。
合利用多个频点信息,声源信号经过长度为 L 的
CS 矩阵 Θ 在满足 RIP 的条件下,对系数 S 联合重
离散傅里叶变换后,保留接收信号的 L/2 个频点
构后的结果在基矩阵Ψ 上的表示最稀疏。对S 的联
信息,选择其中能量最高的 (ηL/2)% 个频点做叠
合重构问题可以采用SOMP算法进行求解。
加估计。而对于人的语音信号,低频段的能量较
联合稀疏重构实现声源定位的算法流程如下:
高,从而可以直接选择低频部分能量叠加得到
输入:N 个接收数据块 Y = [Y 1 , Y 2 , · · · , Y N ],观测
¯
¯
T
¯
S(k) = {S 1 (k), S 2 (k), · · · , S I (k)} ,对于 I 维矢量
矩阵Φ,稀疏度K,残差误差门限thres。
S(k) 中最大的 K 个元素所对应的索引即为估计的
输出:重构信号 S = [S 1 , S 2 , · · · , S N ],稀疏位置集
多声源的空间位置。
Ω,残差r。
t
(1) 初始化:残差 r = Y i , (i = 1, 2, · · · , N),上
i 2 数值仿真
标t 表示迭代次数,初始化t = 0,下标表示第 i个数
据块;稀疏位置集 Ω = ∅;原子集 Phit i = ∅;第 i 个 2.1 仿真设置
数据块对应的重构信号S i = ∅, (i = 1, 2, · · · , N)。 为了评估 DCS-SOMP 算法对于多声源的定位
t
(2) 选取观测矩阵 Φ 中的原子 X i 与残差 r 做 性能,本文首先进行了仿真评估分析。仿真实验麦
i
内积,并求出 N 个数据块对应的内积和,计算内积 克风阵列的直径为 65 mm,阵列拓扑结构为圆形阵