粒子群算法用于盲信号分离的研究

时间:2022-07-28 05:59:02

粒子群算法用于盲信号分离的研究

摘 要:提出一种采用粒子群优化算法进行盲信号分离的新方法,为盲信号分离领域提供一种新的研究思路与方法。该方法采用峰度作为适应度函数,利用粒子群算法对由多个源信号混合而成的信号进行盲信号分离。与自然梯度法盲信号分离相比,粒子群算法精度更高,收敛速度更快,实例仿真成功地对两个图像混合信号进行了盲分离,表明了算法的有效性和优越性。

关键词:粒子群算法; 盲源分离; 峰度; 自然梯度算法

中图分类号:TN911-34文献标识码:A

文章编号:1004-373X(2010)17-0094-03

Application of Particle Swarm Algorithm in Blind Source Separation

LIU Hui, LI Bai

(College of Physics and Information, Hunan Normal University, Changsha 410081,China)

Abstract: A new method of using particle swarm optimization(PSO) algorithm for blind source separation is introduced, which provides a new research idea and method for blind source separation field. The method uses peak as fitness function, and adopts the PSO algorithm to separate blind signals from several source signals. Compared to the natural grad algorithm, the PSO algorithm is better in accuracy and convergence speed, and has more validity.

Keywords: particle swarm algorithm; blind signal separation; peak; natural grad algorithm

0 引 言

盲信号分离(BSS)是20世纪末发展起来的新研究领域,它指在对源信号、传输通道都未知的情况下,仅从若干个观测到的混合信号中恢复出源始信号[1]。目前,对BSS问题存在多种算法。随机梯度、自然梯度等梯度算法是一种较常见的算法,然而该方法的关键是需要计算非线性激活函数,使算法的复杂度增加,同时算法需要计算矩阵的产逆,计算量大,而且鲁棒性较差,收敛性有待改进[2]。文献[3-4]提出基于神经网络的盲分离算法,该方法收敛速度较慢,且容易陷入局部极值。本文将粒子群算法引入BSS中,为BSS领域提供一种新的方法,该方法简单高效,与传统方法复杂、收敛慢的特点相比,有较大的优势。

1 盲分离问题描述

设有n个混合信号X(t)是n个未知的相互统计独立的源信号S(t)的线性组合,即:

X(t)=HS(t)

(1)

┦街:X(t)=[x1(t),x2(t),…,xn(t)]T;S(t)=[s1(t),s2(t),…,sn(t)]T;H为n×n阶混合未知矩阵,H=[H1,H2,…,Hn],其中Hi=[hi1,hi2,…,hin],i=1,2,…,n。盲分离就是要在H和S未知的情况下,使用一定的算法,对观测到的X(t)进行处理,得到一个n×n阶分离矩阵ω,使得到的输出信号:

Y=ωX(t)

(2)

是源信号X(t)的最好估计。

2 基于粒子群算法的盲分离

2.1 粒子群算法

粒子群算法(PSO)是一种智能优化算法[5-6]。在PSO中,有N个微粒和一个适应度函数,每个微粒在D维搜索空间中以一定的速度飞行。该飞行速度由个体的飞行经验动态调整。各微粒根据自己的当前位置和速度不断更新自己的位置。微粒i的位置和飞行速度分别表示为[Xi1, Xi2,…XiD]和[Vi1, Vi2,…,ViD]。И┟扛霆微粒存在一个由它的位置决定的与适应度函数相对应的值,根据微粒的适应度值判断粒子的优劣,取最优粒子的位置作为最优解。粒子的飞行速度和位置调整的方程如下:

Vij(t+1)=wVij(t)+c1(t)[pij(t)-xij(t)]+

c2r2(t)[pgj(t)-Xij(t)]

Xij(t+1)=Xij(t)+Vij(t+1)

(3)

式中:t为当前迭代次数;i表示第i个微粒;j表示┑j维;c1,c2为区间[0,2]的常数,其中c1为调节微粒飞向自身最好位置(pi)方向的步长,为认知系数;c2为调节微粒飞向全局最好位置(pg)方向的步长,为社会学习系数;r1~U(0,1),r2~U(0,1)为两个独立分布的随机数;w为惯性权重,让w随着迭代次数增加而减少,可使PSO算法在初期有较强的全局收敛能力,而晚期有较强的局部收敛能力[7-8]。

2.2 分离原理

为了对混合信号X(t)进行盲分离,П疚奶岢鍪褂PSO算法求解式(2)中的分离矩阵ω。根据中心极限定理可知,由多个独立随机变量之和的分布比其中任一变量更接近高斯分布,因此可将信号的非高斯性作为信号独立性的度量[9-10]。式(2)的目标就是要找出分离矩阵Е,使输出信号Y=ωX(t)的非高斯性最强,这时便由混合信号分离出了源信号。这时有ω=H-1,в谑怯:

Y=ωX(t)=H-1HS(t)=S(t)

从而实现混合信号的盲分离。

峰度是随机信号非高斯性的一种判据。随机信号y的峰度定义为:

kurt(y)=E{y4}-3E{y2}2

(4)

当kurt(y)=0时,y为高斯信号;|kurt(y)|越大,y的非高斯性越强。因此,本文使用PSO算法,采用峰度的绝对值如式(5)作为适应度函数进行寻优:

F(ω)=kurt(Y)=∑ni=1kurt(Yi)=∑ni=1kurt(ωiX)

=|∑ni=1E((ωiX)4)-3[E((ωiX)2)2|

(5)

2.3 算法步骤

采用PSO算法对混合信号X(t)进行盲分离的具体步骤如下:

(1) 确定算法的各个参数值:c1,c2,vmax,MaxDT并初始化各微粒。

(2) 根据式(5)计算各微粒的适应度值。

(3) 对每个微粒,判断是否更新粒子的局部极值和全局极值。

(4) 按进化方程式(3)进化各微粒。

(5) 判断是否满足终止条件,否就转步骤(3),是就转步骤(6)。

(6) вpg得到分离矩阵ω,从而得到分离信号Y。

3 仿真分析

用Matlab对本算法进行实例仿真分析。选取2个图像作为源信号,如图1所示,以线性方式混合,混合矩阵H=0.304 60.543 30.613 80.294 7,混合图像如图2所示。算法参数设置为:群体大小N=30,参数维数dim=4, 惯性权重wв1.2线性变到0.9,粒子群中所有粒子位置的取值范围都限制在[-1,+1],最大速度Vmax=1,最大迭代次数 MaxDT=100。仿真得到分离出来的┝礁霆图像如图3所示,可以看到分离图像与源图像非常接近,只是顺序不一样,这是由盲分离问题的不确定性引起的,不影响结果的正确性。因此本算法成功地分离出了┝礁霆图像。

图1 源图像

图2 混合图像

图3 分离图像

为了评价本算法的优劣,将混合图像用自然梯度算法进行盲分离,将两种算法进行对比。表1是两种算法进行盲分离的收敛情况表。可以看到,收敛的时候,PSO算法所用的迭代次数要少于自然梯度算法,因此PSO算法的收敛速度快于自然梯度法的收敛速度。比较两种算法的抽取精度,可以用信噪比来表示。将分离信号与源信号之差看作是噪声,分离出的第i个信号的信噪比(单位:dB)可以表示为:

SNRi=10log210{∑Nk=1s2i(t)/∑Nk=1[yi(t)-si(t)]2}

(6)

式中:N为信号的取样点数。

表2是两种算法的信噪比比较表,可以看到PSO算法比自然梯度算法分离的图像有较高的信噪比,因此本算法有较高的准确度。

表1 收敛情况表

抽取信号迭代次数运行时间 /s

PSO算法446

自然梯度算法518

表2 性能对照表

算法y1,y2У男旁氡 /dB

PSO算法28.45,30.01

自然梯度算法26.78,26.52

4 结 语

将粒子群算法引入盲信号分离中,并通过仿真实例成功分离出源信号,与自然梯度盲分离算法对比,粒子群盲分离算法在分离精度和收敛速度上有一定的优越性,精度更高,收敛速度更快,为盲信号分离领域提供了一种新的研究思路与方法。

参考文献

[1]张贤达,保铮.盲信号分离[J].电子学报,2001,29(12A):1766-1771.

[2]CICHOCKI A, AMARI S, CAO J. Neural network models for blind separation of time delayed and convolved signals[J]. Japanese IEICE Trans.on Fundamentals, 1997, E-82-A(9):1595-1600.

[3]COMON P, JUTTEN C, HERANLT J, Blind separation of sources:problem statement[J]. Signal Processing, 1991,24(1): 11-20.

[4]HERAULT J, Jutten C. Blind separation of sources: an adaptive algorithm based on neurominetic[J]. Signal Processing, 1991, 24(1): 1-10.

[5]谢晓峰,张文俊,杨之廉.微粒群算法综述[J].控制与决策,2003,18(2):129-134.

[6]KENNEDY J, EBERHART R C. Particle swarm optimization[C]//IEEE International Conference on Neural Networks.Perth,Australia: IEEE 1995:1942-1948.

[7]SHI Yu-hui, EBERHART R C.Empirical study of particle swarm optimization[C]//Proceeding of the IEEE Congress on evolutionary Computation. Piscataway, NJ: IEEE Press, 1998: 69-73.

[8]曾建潮,介婧,崔志华.微粒群算法[M].北京:科学出版社,2004.

[9]张贤达,牛奕龙,陈海洋.盲信号处理[M].北京:国防工业出版社,2006.

[10]CARDOSO J F, LAHEL B H. Equivariant adaptive source separation[J]. IEEE Trans. Signal Processing, 1996, 44(12): 3017-3030.

上一篇:通信电子线路PSpice仿真的研究与实现 下一篇:相互作用多模型跟踪过程中的航迹外推算法