APP下载

粒子群算法用于盲信号抽取的研究

2010-12-21佰,刘

电子器件 2010年1期
关键词:均方微粒高斯

李 佰,刘 辉

(湖南师范大学物理与信息科学学院,长沙 410000)

盲信号抽取是盲信号处理中一个重要方面,在许多领域都有广泛的应用。它是一种依据某种无约束优化准则,从线性混合信号中抽取单个信号源的方法[1]。当不断重复抽取,就能逐个抽取所有的源信号。文献[2]提出利用梯度下降法进行盲信号抽取,然而该方法非线性激活函数的使用增加了算法的复杂度,同时算法的收敛性也有待改进。文献[ 3]提出的Hyvarinen-Oja神经网络能用于大部分非高斯源信号的抽取,然而在抽取过程中会造成误差累积,同时,该方法收敛也较慢。将粒子群算法引入盲信号抽取中,为盲信号抽取领域提供一种新的方法,该方法简单高效,与传统方法复杂、收敛慢的特点相比,有较大的优势。

1 粒子群算法

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

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

2 粒子群算法用于盲信号抽取

盲信号抽取是要从检测到的混合信号X(t)中恢复出源信号S(t)。设有m个混合信号X(t)是n个未知源信号S(t)的线性组合,如式(2)所示:

式中, X(t)=[ x1(t), x2(t), …, xm(t)]T, S(t)=[s1(t), s2(t), …, sn(t)]T, H为m×n阶混合未知矩阵, H=[ H1, H2, …, Hm], 其中 Hi=[ hi1, hi2, …,hin], i=1, 2, …, m。

2.1 抽取

基于粒子群算法的盲信号抽取框架图如图1所示。

图1 盲信号抽取框架图

进行盲信号抽取有两步,第一步,用一定的算法从混合信号(X(t))中抽取一个源信号(si(t)),第二步,用紧缩技术从混合信号中剔除已抽取的源信号,以便进行下一轮抽取。图1中源信号s(t)经过一未知混合矩阵H混合成为X(t),传感器检测到混合信号X(t)并进行白化处理为X1(t)。通过抽取和紧缩算法,得到分离向量ω1和紧缩向量ω′1。图中的y1为抽取出来的一个信号,可表示为:ω1即为从混合信号中抽取出y1的分离向量。根据中心极限定理可知,由多个独立随机变量之和的分布比其中任一变量更接近高斯分布,因此可将信号的非高斯性作为信号独立性的度量[6-7]。式(3)的目标就是要找出向量ω1使输出信号y1=ωT1X1的非高斯性最强,这时便从混合信号中抽取出了源信号y1。峰度是随机信号非高斯性的一种判据。随机信号y的峰度定义为:

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

每寻优一次,获得一个极值即分离向量ωi,从而抽取出一个信号yi。

2.2 紧缩

在每抽取一个信号yi(i=1, 2, …, n-1)后,要用紧缩技术将yi从混合信号中剔除掉,以便进行下一轮抽取。剔除yi的过程如式(6)。

式中yi=ωTiXi, ω′i是通过PSO算法最小化能量代价函数式(7)获得的紧缩向量。当已抽取信号yi从混合信号中剔除时,式(7)取得最小值。

2.3 步骤

本文利用 PSO算法进行盲信号抽取并紧缩。步骤如下:

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

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

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

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

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

(6)由pg得到ωi分离向量,从而抽取出信号yi。

为了再抽取其余信号,应将yi从混合信号中去除,即采用紧缩技术。紧缩过程同以上步骤(1)-(6),不同的是第(2)步根据式(7)计算适应度值,第(6)步得到ω′i紧缩向量。接着就可以重复以上步骤进行其他信号的抽取。

3 仿真分析

用Matlab对本算法进行一个实例仿真分析。选取3个声音信号作为源信号如图2所示,进行混合,混合矩阵H各行分别为:[ -0.16 0.83 0.24], [0.50 0.68 0.46], [0.58 -0.26 -0.61] ,混合信号波形如图3所示。本算法参数设置为:群体大小size=30,参数维数dim=3, 惯性权重ω由1.2线性变到0.9,粒子群中所有粒子位置的取值范围都限制在[ -1, 1],最大速度Vmax=1,最大迭代次数MaxDT=100。

图2 源信号波形

图3 混合信号波形

仿真得到抽取出的三个信号波形如图4所示,可以看到本算法成功地抽取出了三个源信号。为评价本算法的优劣,将混合信号用自然梯度算法进行盲抽取,将两种算法进行对比。

图4 抽取信号波形

表1是两种算法进行抽取的收敛情况表。可以看到,收敛的时候, PSO算法所用的迭代次数要少于自然梯度算法,此PSO算法的收敛速度快于自然梯度法的收敛速度。比较两种算法的抽取精度,可以用均方误差表示。对于抽取出的第i个信号yi和实际的源信号si,均方误差可表示为:

式中, N为抽样点数,这里取N为1 000。抽取信号yi和源信号si幅度可能会不一致,因要先把它们的幅度归一化处理。表2是两种算法的均方误差比较表,可以看出本算法有较高的抽取精度。

表1 收敛情况表

表2 均方误差比较表

4 结论

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

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

[ 2] Cichocki A, Amari S, Cao J.NeuralNetwork Models for Blind Separation of Time Delayed and Convolved Signals[ C] //Japanese IEICE Transaction on Fundamentals, 1997, E-82-A(9):1595-1603.

[ 3] Hyvarinen A, Karhunen J, O jaE.IndependentComponent Analysis[ M] .New York:JohnWiley, 2001.

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

[ 5] Kennedy J, Eberhart R C.Particle Swarm Optlm ization[ C] //IEEE International Conference on Neural Networks.Perth, Australia, 1995:1942-1948.

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

[ 7] Cardoso JF, Lahel BH.EquivariantAdaptiveSource Separation[J].IEEE Trans.Signal Processing, 1996, 44(12):3017-3030.

猜你喜欢

均方微粒高斯
Beidou, le système de navigation par satellite compatible et interopérable
数学王子高斯
天才数学家——高斯
循环凋亡微粒在急性冠状动脉综合征中的作用
FePt纳米微粒有序化温度的影响因素
致今天的你,致年轻的你
基于线性最小均方误差估计的SAR图像降噪
从自卑到自信 瑞恩·高斯林
基于抗差最小均方估计的输电线路参数辨识
基于随机牵制控制的复杂网络均方簇同步