1. 引言
盲源分离(Blind Source Separation, BSS)是近年来,信号处理领域的一个研究热点[1] 。由于该技术运用很少的先验信息,所以在图像处理、数字通信、语音信号处理、生物医学信号处理等领域获得了广泛应用[2] 。独立分量分析(ICA)是解决BSS问题的主要方法。但是该方法只能用于源信号间相互独立的情况,在某些实际应用中ICA算法并不适用[3] 。因此,赵知劲等人将NMF引入盲源分离,提出了基于约束NMF的盲源分离算法(NMF-DSC),该算法在NMF的目标函数上添加行列式、相关性、稀疏度等约束条件,可有效地分离出源信号[4] 。为了进一步提高NMF-DSC的分离性能,本文提出了基于正交约束的NMF盲源分离算法[5] 。
2. 基于正交约束的NMF盲源分离算法
NMF的优化问题可以利用原始非负矩阵
与重构的非负矩阵
之间的欧式距离来度量它们之间的相似度,其目标函数可以写为:
(1)
在基于NMF的盲源分离算法中,需要在NMF的优化目标函数上施加合适的约束条件,已有算法采用的约束条件是行列式约束,稀疏度约束和相关性约束,其优化目标函数为:
(2)
其中
,
,
均被称作平衡参数,
,
,
分别为行列式约束、稀疏性约束和相关性约束,其数学表达式为:
(3)
(4)
(5)
由乘性更新规则分别对式(2)的
与
求导并取合适的步长因子得迭代公式为:
(6)
(7)
其中
是
的第
行向量。
式(6)和式(7)就是NMF-DSC算法的迭代公式,该算法每次更新需要乘法次数为
,并且需要两次矩阵逆运算。
正交性约束能提升聚类效果,使原数据分解后得到的非负矩阵稀疏性增强,从而使得表征原有数据的基之间的区别进一步增强。其数学定义式为:
(8)
把NMF-DSC算法中的相关性约束改成正交性约束,就形成了本文所提出的基于正交约束的NMF盲源分离算法,简记为NMF-DSO,该算法的目标函数为:
(9)
式(9)虽然可以在正交约束下求出最佳解,但是运算量非常大,于是本文采用线性规划的方法将正交约束添加到目标函数中一起就行优化,于是得到函数(10):
(10)
采用用乘性更新规则可得
的更新公式为式(6),
的更新公式为式(11):
(11)
式(6)与式(11)就是NMF-DSO算法。该算法每次迭代需要乘法次数为
和一次矩阵逆运算。
3. 算法的仿真分析
本文分析比较NMF-DSO算法和NMF-DSC算法的分离性能。用信号重构信噪比
作为评价指标,其中
是对
的估计。分离信号的SNR越大,则说明算法的分离性能越好。
3.1. 分离性能分析
四个非稀疏信号如图1所示,随机生成6 × 4的混合矩阵,混合信号如图2所示,根据NMF-DSO算

Figure 1. Source signals
图1. 源信号

Figure 2. Mixed sign
图2. 混合信号
法分离得到的信号如图3所示,根据NMF-DSC算法得到的信号如图4所示,分别使用NMF-DSO算法和NMF-DSC算法对混合信号进行矩阵分解,求恢复源信号的SNR值,如表1所示。
对于非稀疏信号,两种盲分离算法都可以有效的分离出源信号。由表1可知,NMF-DSC算法分离信号的SNR在25 dB和47 dB之间,其中第一个和第四个在32 dB以下,而NMF-DSO算法分离信号的SNR都在45 dB以上,其中第一个和第四个信号的SNR高出NMF-DSC算法20 dB左右。由此可见,NMF-DSO算法的分离性能优于NMF-DSC算法。
3.2. 复杂度分析
由上文的两种算法所需乘法次数之比为
,因为
和
相差较小,所以假设两者相等,且
取值在1000左右,故舍去没有
的项,可得:
(12)
由此可得
,即NMF-DSC算法乘法次数略少于NMF-DSO算法,然而NMF-DSC每次迭代

Figure 3. The separated signal of NMF-DSO
图3. NMF-DSO分离的信号

Figure 4. The separated signal of NMF-DSC
图4. NMF-DSC分离的信号

Table 1. The SNR of separated signal based on two algorithms
表1. 基于两种算法的分离信号的SNR
需要两次矩阵逆运算,而NMF-DSO算法只需一次矩阵逆运算,因此两种算法的复杂度相差不大。
4. 结束语
本文针对NMF-DSC盲源分离算法复杂度高及分离性能不足的缺点,提出了基于正交约束NMF-DSO算法,实验表明NMF-DSO算法的分离性能优于NMF-DSC算法。然而,该算法依然是在三重约束下进行盲分离,如何减少约束条件是以后研究的重点。