一种基于免疫算法的盲信号分离算法
摘 要: 针对现有盲源分离算法性能受限于非线性函数选择且算法实现复杂、计算量大的问题,文章提出了一种基于人工免疫算法的盲信号分离算法,达到满足实际应用中有效分离的需求。该算法不依赖于源信号概率密度的非线性函数估计,通过免疫算法最小化信号的互信息,实现对观测混合信号的分离。基于免疫算法的盲信号分离,利用免疫算法隐形并行处理,具有较好的全局搜索性能和易收敛到最优解的特点。仿真分析表明,与传统的ICA盲分离算法相比,所提出的算法对于多路混叠信号具有更好的分离效果。
关键词: 盲源分离; 免疫算法; 互信息; 独立分量分析
中图分类号:TP399 文献标志码:A 文章编号:1006-8228(2018)03-42-05
A blind signal separation algorithm based on immune algorithm
He Qing1, Luo Zhongqiang2
(1. Faculty of Eelectronical Engineering, Luzhou Vocational and Technical College, Luzhou, Sichuan 646000, China;
2. Artificial Intelligence Key Laboratory of Sichuan Province, Sichuan University of Science and Engineering)
Abstract: In view of the confined performance and computational complexity problems of the existing blind source separation algorithms due to the choice of nonlinear functions, this paper proposes a blind source separation algorithm based on artificial immune algorithm for the purpose of the effective separation in practical application. The proposed algorithm does not depend on the estimation of probability density properties of the source signals, but implements mutual information minimum via immune algorithm to realize the blind separation of source signals. This algorithm utilizes immune algorithm's invisible parallel processing, and has the character of strong global search performance and easy to converge to the optimal solution. Simulation experiments and analysis show that the proposed algorithm has better separation performance for multi-channel mixed signals.
0 引言
盲源/信分离(blind source/signal separation,BSS)是20世纪最后10年发展起来的一个新的研究领域,是人工神经网络学界和信号处理学界共同关心的热点领域。近年来,盲源分离在多领域获得了快速发展,被广泛应用于生物医学、语音增强、雷达与通信系统、数据挖掘等领域[1-3]。信号分离是指从接收到的混合信号中恢复出原始信号。用于信号处理的各种滤波器,如时域滤波器、频域滤波器、空域滤波器和码域滤波器都是一种信号分离器,能分离出人感兴趣的信号。但滤波分离方法都需要建立在源信号和传输通道参数已知的情况下;当源信号和传输通道参数未知时,通过滤波根本无法完成信号的分离,这就需要采用盲信号分离技术。
盲信号分离(BSS)是指在源信号和传输通道参数的先验知识未知的情况下,根据源信号的统计特性,仅从观测到的混合信号中恢复出原始信号的技术。术语“盲”的含义是:①源信号不能被观测;②源信号如何混合未知。目前针对BSS问题有多种算法。基于随机梯度、自然梯度分离等梯度算法是较常见的算法,然而该方法的关键是需要计算非线性激活函数,使得算法复杂度增加,同时算法需要计算矩阵的产逆,计算量大,而且鲁棒性较差,收敛性有待改进[1-2]。独立分量分析(ICA)是最常见的盲信号分离算法,围绕解决ICA问题已经提出了许多的算法[2-3]。大多数算法的基本思想是围绕信号源的独立性提出各种准则,然后结合各种优化算法来寻找分离矩阵,如FastICA算法,Infomax算法,自然梯度ICA算法。但这些算法大多会涉及到非线性函数的选取问题,且这些函数的选择取决于源信号的概率密度性质。因为,在实际应用中,源信号的概率密度性质在分离前是未知或难以获取的,只能通过非线性函数模拟其概率密度,但是这种模拟又存在误差,这一矛盾会极大地影响了ICA算法的分离性能。
综上所述,本文将针对这一缺点,提出一种基于免疫算法的盲源分离算法来克服其不足,实现有效的分离。算法的基本思想是:以信号间的互信息最小原则建立目标函数,利用免疫算法的隐形并行性和全局收敛性来寻优最优分离矩阵,即通过免疫算法最小化互信息,实现对信号的分离。 本文余下的章节安排如下:第2节描述盲信号分离问题模型;第3节提出基于人工免疫的盲信号分离算法;第4节进行仿真实验和分析;第5节总结全文,得到结论。
1 盲源信号分离问题描述
本文研究的盲信号分离系统模型如图1所示[5-6]。
图1 盲处理原理框图
假定原始信号来自不同的信号源,即各信号源相互独立。由传感器采集得到N观测信号{xi(t),i=1,2,…,N},其中任意第i个信号xi(t)都是由N个信号源(sj(t),j=1,2,…,N)线性混合而成,即:
⑴
其中hij为混合系数,ni(t)为加性传感器噪声。对于N个观测信号(混合信号),可以用矢量表示为:
X(t)=HS(t)+n(t) ⑵
其中H=[hij],S(t)=[sj]
Y(t)=WX(t) ⑶
其中Y(t)=[y1(t),y2(t),y3(t),…,yN(t)]T表示对源信号的估计向量,W∈RN×M表示分离矩阵。
盲源分离主要建立在下列前提假设的基础上:①源信号各分量相互统计独立,且其中最多只能有一个分量服从高斯分✞布;②传感器数目不小于源信号的数目[6-7]。在概率论中,独立性是通过变量间的联合概率密度与边缘概率密度之间的关系来衡量的,但计算变量的概率密度分布并非易事。事实上,并不直接用这种方法作为衡量变量独立的标准,而是采用了其他的一些准则,如互信息、负熵等等,其中以互信息最为常用[8-9]。定义y1,y2,…,yn变量的互信息为:
⑷
其中H(yi)为变量的熵,p(yi)为变量yi的概率密度函数。
互信息度量了各个随机变量♒之间的相互独立性,互信息总是非负的,只有当y的各个随机变量之间是相互独立时,才有I(y1,y2,…,yn)=0。对于线性变换Y=WX,由密度变换公式
⑸
⑹
又因为,所以有
⑺
由于H(x)为定值,故优化目标函数可以表示为:
⑻
2 免疫盲源分离算法
2.1 免疫算法基本原理
免疫算法ส是借鉴生物免疫系统原理而提出的一种新型的智能搜索算法。它是一种确定性和随机性相结合并且具有“勘探”与“开采”能力的启发式随机搜索算法。免疫算法将优化问题中待优化的问题与免疫应答中的抗原相对应,可行解对应抗体(B细胞),可行解质量对应于免疫细胞与抗原的亲和度。这样就可以将优化问题的寻优过程与生物免疫系统识别抗原并实现抗体进化的过程相对应,将生物免疫应答中的进化过程抽象为数学上的进化寻优过程,形成一种智能优化算法。免疫算法的一般步骤主要包括:抗原是被与初始抗体产生,抗体评价,免疫操作等[10-11]。
免疫算法的运行过程为一迭代过程,其运行过程所必须完成的内容和过程如下[12]:
⑴ 抗原识别,对问题进行分析,构造合适的亲和度函数,并制定各种约束条件;
⑵ 产生初始抗体群,即通过编码把问题的可行解表示成空间中的抗体,在解得空间内随机产生一个初始种群;
⑶ 对群中每一个可行解进行亲和度评价;
⑷ 判断是否满足算法终止条件,满足则终止并输出结果,否则继续寻优;
⑸ 计算抗体浓度和激励度;
⑹ 进行免疫处理,即免疫选择、克隆、变异、克隆抑制;
⑺ 种群刷新,以新生成的新抗体代替种群中激励度较低的抗体,形成新一代抗体,转步骤⑶。
2.2 盲源分离算法实现
盲源分离问题本质是一个复杂的优化问题,本文通过免疫算法,找到一个最优的分离矩阵,使得互信息达到最小值,即得到原信息的最佳估计。其算法实现过程如下:
⑴ 抗体编码
由于实数编码具有良好的直观性、精度较高且能避免二进制编码所带来的“维数灾难”问题,故本文采用实数编码方式Wi对进行编码。分离矩阵W可以分解为[w1,w2,…,w,…,wn]T,将wi作为算法的抗体,以满足使得盲源分离系统输出量的互信息最小化为目的进行寻优,此外同时保证各个wi向量之间满足正交性,防止wi收敛的同一最优解。
⑵ 种群初始化
随机产生N个wi的抗体,抗体wi属于解空间。
⑶ 计算亲和度
本算法以目标函数作为免疫细胞与原抗体之间亲和度的度量。
⑼
在约束条件E{yyT}=I的约束下,对于某一分离矩阵W,目标函数越小,表明yi之间的独立性越强。
⑷ 抗体浓度和激励度
抗体wi浓度定义如下:
⑽
其中N为种群规模,S(wi,wj)为抗体间的相似度,可表示如下:
⑾
为抗体i与抗体j的亲和度,体现抗体间的相似程度,th为相似度阈值。
⑿
其中wi,k和wj,k分别表示抗体wi和wj的第k维,L为抗体编码长度。
抗体wi激励度是对抗体质量的最终评价结果,计算方法如下:
⒀
其中a,b为计算参数,根据实际情况确定。
⑸ 免疫操作算子
免疫操作算子主要包括免疫选择算子、克隆算子、变异算子和克隆抑制算子。免疫选择算子是在抗体群中选择激励度较高的抗体,以备克隆操作。
变异算子是产生新抗体,实现区域搜索的重要算子,描述如下:
⒁
其中wi,j,m是抗体wi的第m个克隆体的第j维;δ为定义的领域范围,根据进化过程自适应确定;pm为变异概率。 ⑹ 种群刷新
种群更新主要作用是从抗体群中删除激励度较低的抗体,并以随机产生的新抗体代替,这样有利于保持抗体的多样性,实现全局搜索,探索新的可行解区域。
3 仿真试验与分析
为了验证算法的有效性,考虑仿真试验采用余弦波、方波、锯齿波和随机噪声作为源信号,如图2所示。源信号经过随机混合矩阵混合后,得到混合观测信号,如图3所示。
图2 源信号
图3 混合信号
图4 ICA算法分离效果
将信号分离前和分离后进行比较发现,信号波的形状一致,但是幅值大小不同,波形顺序不定,这主要是由盲源分离的两个不确定性决定的。
图5 本文算法分离效果
为比较分离算法的性能,采用分离信号与源信号的相似系数作为性能指标,即
⒂
其中M表示信号样本维数。
分离信号后,由图4可知,分离信号y1对应源信号s3,分离信号y2对应s2,分离信号y3对应s1,分离信号y4对应s4;由图5可知,分离信号y1对应源信号s1,分离信号y2对应s2,分离信号y3对应s3,分离信号y4对应s4;经计算,ICA算法分离后,相似系数所构成的相似矩阵为:
本文算法分离后,相似系数所构成的相似矩阵为:
比较和,可以看出,本文算法能达到较好的分离效果,与ICA算法相比具有一定的优势。
4 结束语
本文研究了线性盲源信号分离问题,结合互信息建立优化判据(目标函数), 利用免疫算法的隐形并行性和全局收敛性来进行寻优最优分离矩阵。实验仿真结果表明,用本文方法得到的分离信号与源信号十分相似,且较优于ICA算法分离效果,由此可见本文方法是一种有效地、分离准确度较高的盲分离算法。由于在实际应用中,观测信号大多为非线性混合,故在下一步的研究中,需要进一步研究此种方法对于观测信号是非线性混合信号的分离性能。
参考文献(References):
[1] 毛欣,徐慨,刘杰.盲信号分离技术现状与发展动态 [J].通信技
术,2013.46(8):24-26
[2] WANGR J, ZHAN Y J.A method of underdetermined blind
sourceseparationin time-domain[J].Internation-alJournalof-
Electronics,2012.99(4):543-555
[3] 周治宇,豪.盲信号分离技术研究与算法综述[J].计算机科
学,2009.36(10):16-20
[4] Yao Bo,Yang Ji-hai,Chen Xiang.Underdetermined Blind
Source Separation Based on Sparse Component Analysis Applied inDecomposition of Surface Electromyography[J]. Sparse Medicine & Medical Engineering,2012.25(2):107-111
[5] Thiagarajan J J, Ramamurthy N R, Spanias A. Mixing
matrix estimation using discri®minative clustering for blind sourceseparation[J]. Digital Signal Processing,2013.23(1):9-18
[6] 张贤达,保铮.盲信号分离[J].电子学报,2001.29(12A):
1766-1770
[7] 吴新杰,王静文等.基于压缩感知和优化算法的欠定盲源信
号分离[J].辽宁大学学报(自然科学版),2014.41(3):201-215
[8] 张登科.基于ICA的盲信号分离正定性检验方法[J].电子学
报,2012.40(11):2303-2307
[9] 邱萌萌,周力.基于二阶统计和时间结构的盲信号分离方法[J].
计算机应用,2014.34(9):2510-2513
♫[10] 杜振华,闫肃,谌海云.免疫克隆选择多目标优化算法与
MATLAB实现[J].智能计算机与应用,2014.4(3):45-48
[11] 黄席樾,张著洪.基于免疫应答原理的多目标优化免疫算法
及其应用[J].信息与控制,2003.32(3):209-213
[12] 钱海,马建辉,王煦法.一种新的基于克隆选择原理的人
工免疫算法[J].中国科学技术大学学报,2008.38(12):1397-1405
Key words: blind source separation; immune algorithm; mutual information; independent component analysis