基于细菌觅食优化的盲信号提取算法
2020-09-25
来源:我们爱旅游
第29卷第2期 2012年2月 计算机应用研究 Application Research of Computers VoI.29 No.2 Feb.20l2 基于细菌觅食优化的盲信号提取算法水 陈雷 一,张立毅 甜,郭艳菊。,刘婷 ,李锵 (1.天津商业大学信息工程学院,天津300134;2.天津大学电子信息工程学院,天津300072;3.河北工业大学 信息工程学院,天津300130) 摘要:提出了一种新的基于细菌觅食优化的盲信号提取算法。采用负熵作为信号提取的目标函数,利用球坐 标变换原理将对提取向量的求解转换为对旋转角度的求解。使用改进的细茵觅食优化算法对目标函数进行优 化求解,从而实现对源信号的盲提取。通过多次提取和去相关消源过程,可以实现对所有源信号的成功提取。 对多路语音信号混合后的盲提取实验验证了所提出算法的有效性。 关键词:细菌觅食优化;盲信号提取;负熵;消源 中图分类号:TP391 文献标志码:A 文章编号:1001・3695(2012)02—0451—04 doi:10.3969/j.issn.1001—3695.2012.02.012 Blind signal extraction algorithm based on bacterial foraging optimization CHEN Lei 一,ZHANG Li.yi , ,GUO Yan-ju ,LIU Ting 一,LI Qiang。 (1.School ofInformation Engineering,Tianjin University ofCommerce, a n 300134,China;2.School ofElectronic Information Engi ̄ering, Tianjin University,Tianifn 300072,China;3.SchoolofInformationEngi ̄ering,Hebei University of ∞z ,Tianfin 300130,Chia)n Abstract:This paper proposed a new blind signal extraction algorithm based on bacterial foraging optimization.It used Be— gentropy as the objective function for blind extraction and used spherical coordinates transformation principle orf transforming extraction vector into rotation angle.Modified bacterial foraging optimization algorithm was used for optimizing the objective function and source signal could be extracted.All the source signal could be extracted successfully by using the process of ex— traction and deflation repetitively.Simulation result for speech signal blind extraction proves the validity of the blind extraction algorithm proposed. Key words:bacterial foraging optimization(BFO);blind signal extraction;negentropy;delfation 0 引言 盲信号处理技术是目前信号处理技术领域研究的热点。 盲信号提取技术是盲信号处理技术的一个重要分支,可以广 泛应用于语音、图像和生物医学等各个领域 J。基于自然 界生物生存和发展行为的智能优化方法在近年来也已经成 新的基于细菌觅食优化的盲信号提取算法。该算法可以从混 合信号中将源信号逐次提取出来。由于算法中使用负熵而非 高阶累积量作为盲提取的目标函数,所以该算法在保证了较高 提取精度的基础上,具有较低的计算复杂度和更好的鲁棒性。 1 细菌觅食优化算法 细菌觅食优化(BFO)算法是Passino_5 根据大肠杆菌的生 存觅食原理提出的一种新型群体智能优化方法。BFO算法利 用了自然界中生物体生存发展的原理进行优化问题的解决,具 有良好的优化性能,目前已经被广泛应用于解决机组组合 、 为人们研究的热点,其在解决难以建模的复杂优化问题上具 有独特的优势。 解决盲信号提取问题的关键在于对目标函数的优化求解。 传统的盲信号提取算法主要采用梯度法对目标函数进行优化 求解 。采用梯度法需要解决非线性函数选取的问题,并且 当初值选择不够合理时,在优化求解过程中,梯度法容易收敛 于局部最优值。采用智能优化算法对盲信号提取的目标函数 自适应均衡 ]、图像边缘检测 ]、图像分割 等各领域问题, 并取得了良好的效果。 BFO算法主要利用大肠杆菌在觅食过程中的趋化、聚集、 繁殖、消散四种行为过程实现对待优化问题的求解。下面对这 四种行为过程进行介绍 J。 1)趋化行为 进行优化时无须使用非线性函数,且算法的全局收敛性更好。 因此,将智能优化方法用于解决盲信号提取问题,具有可行性 和良好的发展前景。本文将细菌觅食优化(BFO)算法 引入 盲信号提取研究方向,利用负熵作为盲信号提取的目标函数, 采用细菌觅食优化算法对目标函数进行优化求解,得到了一种 收稿日期:2011—06—24;修回日期:2011—07-30 (20080710) 细菌在觅食过程中会根据周围环境成分进行判断,分别执 行翻转(tumbling)或前进(swimming)两种动作。当环境成分 基金项目:国家自然科学基金资助项目(60802049);天津市高校科技发展基金资助项目 作者简介: 陈雷(1980一),男,河北唐山人,讲师,博士,主要研究方向为盲信号处理、智能计算;张立毅(1963.),男(通信作者),山西忻州人,教 授,博导,博士,主要研究方向为盲信号处理、信号检测与处理(zhangliyi@tjcu.edu.en);郭艳菊(1980.),女,河北邢台人,讲师,博士研究生主要研 ,究方向为盲信号处理、智能计算;刘婷(1981一),女,山西人,讲师,博士研究生,主要研究方向为盲信号处理、智能计算;李锵(1974.),男,山西太原 人,副教授,博士,主要研究方向为数字信号处理. ・452・ 计算机应用研究 第29卷 对细菌具有排斥力时,细菌个体利用自身的鞭毛摆动实现翻转 运动,从而选择新的方向去寻找具有更好环境成分的位置;当 环境成分对细菌具有吸引力时,细菌个体利用自身的鞭毛摆动 实现前进运动。细菌经过一次趋化行为后的新位置可表示为 0 ( +1, ,z)=0 ( ,k,z)+c( ) ( ) (1) 2基于负熵的目标函数 盲信号分离技术是指在不知道源信号的混合特性,仅利用 多个传感器采集到的观测信号恢复出源信号的方法。可以设 来自N个独立信号源的统计独立源信号矢量为s(t)= 其中:e ( ,k,1)为细菌i在第z次消散、第k次繁殖、第 次趋化 后的位置;e ( +1,k,1)为细菌i在第1次消散、第k次繁殖、第 +1次趋化后的新位置; ( )为下一次趋化过程的单位长度随 [s (t),S (t),…,s (t)r,对于瞬时线性混合模型,K个观测 信号矢量为 (t)=[ ,(t), (t),…, (t)r。一般情况下 N=K。混合过程可表示为 x(t)=AS(t) (4) 机方向向量,体现出细菌下一次趋化行为的移动方向;C(i)为 下一次趋化的前进步长值。 其中:A为满秩可逆混合矩阵。盲信号分离算法的目的就是利 用观测信号x(t)估计出源信号。对于每次分离出一路源信号 的盲提取方法,设Y (t)为第i次提取出的某一路源信号: y;(£)= x(£) (5) 2)聚集行为 自然界中的生物在生存发展的过程中大多具有群体性,群 体中的个体之间存在着广泛的合作与竞争,细菌也不例外。细 菌在觅食的过程中,细菌个体之问也会进行信息交流,从而通 过相互之间的吸引与排斥作用而实现聚集。在BFO算法中通 过修正因子., (e,P( ,k,z))来实现菌群的聚集效应。 S 其中: 为第i次提取行向量。盲提取算法的原理就是找到使 得提取出来的信号与某一源信号的波形保持一致的提取向量 ,即实现: y (t)= x(£)=A 5 (t) (6) Jc (0,P(j,k,f))= J;c(0,0‘( ,k,f))= S P [一daltractexp(一∞ 。 rad∑(0 一 ) )]+ .其中:A 为缩放系数;i=1,2,…,N;k=1,2,…,Ⅳ。 解决这一问题首先要确定一个以 为变量的目标函数, (2) =1 m=1 S D [hrepellantexp(一∞ l 艺(0 一 ) )]l ,然后利用某种优化算法对该目标函数进行优化,从而找到使目 标函数取得极大值(或极小值)的 ,即可代入式(5)得到一 路源信号的估计。因此,目标函数的选取是盲信号提取问题求 解的一个关键。 式中:e=[o --,opr,为待优化变量空间中的某一位置;d 为吸引力的深度;09 为吸引力的宽度;h…m 为排斥力的高 度;to~ 。 为排斥力的宽度; 为第i个细菌所处位置的第m 维分量值。算法中根据菌群觅食过程中的实际行为,设计细菌 个体通过散发吸引物质使其他细菌向处于更好位置的细菌聚 集。同时,为了模拟自然界中生物体真实的行为,算法中也设 计了细菌个体通过散发排斥物质使细菌们不会聚集于同一位 置的机制。算法中通过修正因子 (0,P(j,k,1))对目标函数 在信息论的基本原理中,具有相同方差的随机变量中,高 斯变量具有最大的熵。因此,熵是信号非高斯性的一种很好的 度量。一般情况下,使用具有非负值的负熵作为信号非高斯性 的度量。负熵的定义为 ,( )=日( )一/t( ) (7) 值进行修正,使菌群向着具有更好目标函数值的区域移动。 3)繁殖行为 在BFO算法中,菌群经过多次趋化行为后,会根据每个细菌 其中: … 和y是具有相同协方差矩阵的高斯随机向量。由于 负熵具有坚实的统计理论基础,所以负熵在一定程度上被认为 是非高斯性的最优估计” 。 如果直接使用负熵的定义来计算负熵,需要估计随机变量 的pdf,这在实际问题的求解中是比较困难的。因此,在采用负 熵作为盲信号提取问题的目标函数时,一般采用负熵的简化估 所处位置目标函数值的大小进行选择性繁殖操作,即复制目标函 数值较好的细菌,淘汰目标函数值较差的细菌,从而保持整个菌群 的健康发展。细菌位置的好坏由健康指标函数以。 表示: Nc+1 计方法。例如使用一个非二次函数的期望对负熵进行近似可 (3) 以 l h= l,( , , , ) 以得到 ,(y)oc[E<G(y))一E.[G( ))]。 (8) J I 其中:t, 即为第i个细菌在第1次消散、第k次繁殖、第 次 趋化下的健康指标函数,算法中会根据每个细菌的健康情况决 定其是否被复制或是被淘汰。 一通过选择随自变量增长不快的非二次函数G,就可以得到 鲁棒的负熵估计。因此根据文献[11],在ll lI=1的约束条 件下,盲信号提取的目标函数可以定义为 ,( )=[E{G(y))一E{G( ))] (9) 般情况下会根据 按顺序选取前一半优势细菌进行 1:1复制,同时淘汰掉后一半劣势细菌,在此过程中保证菌群 中细菌总数量不变。 4)消散行为 在此,选择G(y)=一exp(一y2/2),即可得到较好的估计 效果 …。 大部分群智能优化算法在进化搜索的过程中都会存在陷 入局部极值的可能性。因此,BFO算法中设计了消散行为过 程,即在若干次繁殖和趋化行为之后对每个细菌都以一定概率 移动到新的搜索范围,从而增强菌群摆脱局部极值的能力。 BFO算法通过上述四种行为的综合作用,充分利用细菌 个体的搜索能力和群体中个体问的信息交互,可以实现对复杂 的、难以建模的实际问题进行有效的优化求解。 当目标函数确定之后,需要采用优化算法对其进行最大化 求解,即可得到提取出一路源信号的提取向量 。 3基于细菌觅食优化的盲信号提取 求解盲信号提取问题的两项主要工作是目标函数的确定和 优化算法的使用。当确定使用基于负熵理论的目标函数后,本 文使用BFO算法对该目标函数进行优化,从而得到提取向量。 第2期 3.1细菌位置编码 陈雷,等:基5-m菌觅食优化的盲信号提取算法 ,。453・ 执行步骤e);否则重复执行步骤d),趋化步数计数器 e)如果已经达到中间层循环的繁殖次数 ,执行步骤 使用智能优化方法求解盲信号提取问题,首先需要解决参 累加。 数编码问题。例如对Ⅳ路源信号进行提取,提取行向量应为 =[W¨,W啦,…,W叫],对应的细菌位置编码应为[W¨,W啦, ll:1的约束条件,可以通 f);否则执行繁殖行为,繁殖次数计数器累加,趋化步数计数器 清零,执行步骤d)。 f)如果已经达到消散次数 ,执行步骤g);否则进行消 …,W ]。为满足目标函数中l l过数学中的球坐标变换原理,将对 :[W¨,YJ ,…, . ]的 求解转换为对旋转角度e =[0¨,0∞,…,0 一 ]的求解,则对 散操作,消散次数计数器累加,同时对趋化步数计数器和繁殖 次数计数器进行清零,然后转到步骤d)执行。 应的细菌位置编码转换为[ ~0。,…, . 一 ]。例如当源信号 的数目N=3时,提取向量中的各维变量可分别表示为W = COS 0izCOS ¨,W∽=cos 2 sin ,W =sin 0啦,其对应的细 ,,菌位置编码为[ ¨, ]。此时,盲提取的目标函数转换为 J(0 )=[E{G(y)}_E{c( ) (10) 采用BFO算法对式(10)的目标函数进行优化求解,即可 得到一路源信号的估计。为了平衡细菌群体对目标函数优化 过程中的搜索精度和全局探索能力,在算法中使用趋化步长的 动态调整策略 : c(k,z)= (11) 其中:Lred是设定的趋化步长初始值;n是控制步长动态调整的 参数;C(k,1)是执行第f次消散操作以后,进行第k次繁殖操 作后的趋化过程中的步长值。 在菌群优化过程的开始阶段,菌群可以较大的趋化步长在 搜索空间中进行大范围搜索;而在优化过程的后期,菌群可以 较小的趋化步长进行精细的高精度搜索。 3.2消源过程 采用BFO算法对基于负熵的目标函数进行优化后,即可 得到一路源信号的估计。下一步需要从源混合信号中消除该 路源信号的成分,即执行消源过程;然后针对新的混合信号再 进行下一次优化提取过程,就会得到另外一路源信号的估计。 最终通过多次提取和消源过程,可以得到所有源信号的估计。 消源方法采用文献[13]的方法,设y (t)= x(t)是采用 本文的盲提取算法第一次提取出来的一路源信号,根据二阶统 计特性: ( ( )y1( ))=F((王0”s )ps (f))= E(Y1(f)Yl( )) (12) 设 (t)为已去除Y (t)成分得到的新混合信号: ( )= ( )一aiks (£)= (£)一 1( )= c)_ ) (13) 在进行下一次信号提取时,需要针对新的混合信号 (t) 进行基于BFO算法的盲提取过程和消源过程。最终通过多次 提取和消源过程即可恢复出所有源信号。 3.3算法具体步骤 a)对混合信号 (t)进行去均值和白化操作。 b)确定菌群优化过程中的细菌维数和细菌位置编码。 c)初始化菌群中各细菌的位置,设定菌群优化过程中的 消散次数 、繁殖次数Ⅳ 、趋化步数 和步长初始值等参 数,将三层循环的计数器置零。 d)执行趋化行为,如果已经达到最内层循环的趋化步数 g)根据由菌群优化得到的最优细菌位置0 得到提取向量 。如果已经得到所有提取向量,执行步骤i);否则,执行步 骤h)。 h)进行式(13)的消源计算过程,得到新的混合信号,执行 步骤b)。 i)由求得的各提取向量根据式(6)得到所有源信号的 估计。 4仿真分析 为验证本文所提出的基于细菌觅食优化的盲信号提取算 法的有效性,针对语音信号的混合信号进行盲提取实验。实验 雌 5 O 中选取随机生成的混合矩阵A对源信号进行混合,采用本文 所提出的算法对混合后的信号进行盲提取。 ,0.6500 0.0526 0.6275, A=l 0.4240 0.4084 0.1723 I L0.0437 0.3249 0.7183 J 仿真实验中的各项参数设置为:细菌数量为30,细菌编码 维数D=2;消散次数 =2,繁殖次数 =2,趋化步数No= 50,趋化步长初值L =0.05,步长控制参数n=5,沿同一方向 的最大前进步数Ns=4,消散操作选取概率P =0.25。 源信号、混合信号和通过三次提取得到的提取信号分别如 图1—3所示。通过观察比较图3和1可知,本文所提出的基 于细菌觅食优化的盲信号提取算法可以有效地实现对源信号 0 500 1o0O 1500 2Ooo 250 0 -3ooO 4000 5000 #。 oo ∞oo oo。 3000 350a oo。 0o 500a — 。 o0 ’ao0 恻 ∞。 踟 。 00 oo。 00 oo。 图1源信号 为了客观评价算法对源信号的恢复效果,采用提取出的信 号与对应源信号的相关系数的绝对值作为评价指标。设 为 提取出的某路源信号的估计, 为 对应的源信号,则提取出 信号与源信号的相关系数的绝对值¨ 可以定义为 ly (£)s ( ) l ‘, ,5^ I I‘ 5 5