粒子群优化盲信号分离
- 格式:doc
- 大小:187.57 KB
- 文档页数:7
基于膜计算与粒子群算法的盲源分离方法孙远;杨峰;郑晶;徐茂轩;裴烁瑾【摘要】为了解决盲源分离方法收敛速度慢、分离性能不高的问题,提出一种基于膜计算(Membrane Computing,MC)和粒子群算法(Particle Swarm Optimization,PSO)的盲源分离方法.算法以分离信号负熵作为粒子群的适应值函数,将粒子均匀分布到各基本膜中,将各基本膜内最优位置输出到表层膜并选择适应值最小的最优位置作为群体最优位置,通过粒子自身最优位置和群体最优位置对种群粒子进行速度和位置的更新.粒子群最优解调整盲源分离的步长函数,进行信号的分离.提出的算法简化了惯性权重取值问题,保证了PSO算法局部搜索的精度,满足了全局搜索的多样性.仿真实验和实例应用表明,提出的算法可以很好地分离混合信号,并且能避免PSO算法的早熟收敛问题,具有更快的收敛速度和更优异的分离性能.【期刊名称】《振动与冲击》【年(卷),期】2018(037)017【总页数】9页(P63-71)【关键词】盲源分离;膜计算;粒子群算法;惯性权重【作者】孙远;杨峰;郑晶;徐茂轩;裴烁瑾【作者单位】中国矿业大学(北京)机电与信息工程学院,北京100083;中国矿业大学(北京)机电与信息工程学院,北京100083;中国矿业大学(北京)煤炭资源与安全开采国家重点实验室,北京100083;中国矿业大学(北京)机电与信息工程学院,北京100083;中国矿业大学(北京)煤炭资源与安全开采国家重点实验室,北京100083【正文语种】中文【中图分类】TN911.7随着信号处理技术的发展,盲源分离(Blind Source Separation, BSS)又称盲信号分离,得到了越来越广泛的关注与研究。
盲源分离是在无法获取源信号和传递函数先验知识的前提下,将混合后的各源信号分离出来的过程。
它主要广泛应用于医学信号处理、经济指标、语音信号识别,图像处理、地震信号勘测以及通信信号处理等方面[1]。
粒子群算法用于盲信号分离的研究刘 辉,李 佰(湖南师范大学物理与信息科学学院,湖南长沙 410081)摘 要:提出一种采用粒子群优化算法进行盲信号分离的新方法,为盲信号分离领域提供一种新的研究思路与方法。
该方法采用峰度作为适应度函数,利用粒子群算法对由多个源信号混合而成的信号进行盲信号分离。
与自然梯度法盲信号分离相比,粒子群算法精度更高,收敛速度更快,实例仿真成功地对两个图像混合信号进行了盲分离,表明了算法的有效性和优越性。
关键词:粒子群算法;盲源分离;峰度;自然梯度算法中图分类号:T N911 34 文献标识码:A 文章编号:1004 373X(2010)17 0094 03Application of Particle Swarm Algorithm in Blind Source SeparationL IU H ui,L I Bai(Colleg e of Physics and Informa tion,H unan Normal Universi t y,Changsha 410081,China)Abstract :A new metho d o f using pa rticle sw arm o pt imizatio n(PSO)alg or ithm fo r blind so urce separat ion is intr oduced,which prov ides a new r esear ch idea and metho d for blind sour ce separat ion field.T he metho d uses peak as fit ness function,and ado pt s the PSO alg or ithm to separate blind sig nals from sever al sour ce sig nals.Co mpar ed to the natural gr ad a lg or ithm,the P SO algo rit hm is better in accuracy and co nv erg ence speed,and has mor e validity.Keywords :pa rticle sw arm a lg orithm;blind signal separat ion;peak;natural g rad algo rithm收稿日期:2010 04 090 引 言盲信号分离(BSS)是20世纪末发展起来的新研究领域,它指在对源信号、传输通道都未知的情况下,仅从若干个观测到的混合信号中恢复出源始信号[1]。
改进的分段盲源分离方法及其应用李世龙;陈建宏【摘要】针对传统盲源分离算法大多存在收敛速度慢、分离精度低的缺点,提出了一种改进的分段盲源分离算法.将整个信号分离过程分为快速分离和精细分离两个阶段.在快速分离阶段,采用基于粒子群优化(PSO)的分离算法,通过较少的迭代次数实现信号较好的初步分离;在精细分离阶段,通过选择适当的学习速率,进一步提高信号的分离精度.通过数值仿真及试验分析,将改进的分段盲源分离算法与现有的分离性能较好的基于人工蜂群(ABC)的分离算法进行了对比分析.结果表明,改进的分段盲源分离算法具有更优异的分离速度、分离精度和稳定性.【期刊名称】《自动化仪表》【年(卷),期】2018(039)010【总页数】5页(P79-83)【关键词】盲源分离;粒子群优化;快速分离;精细分离;故障轴承;频谱分析【作者】李世龙;陈建宏【作者单位】太原卫星发射中心,山西太原 030027;太原卫星发射中心,山西太原030027【正文语种】中文【中图分类】TH113.1;TP1810 引言随着现代计算机技术及传感器技术的不断发展,基于振动信号分析的结构状态监测及故障诊断的应用越来越广泛。
但受到被试对象结构复杂性、信号传递路径及噪声等因素的影响,传感器接收到的信号为各独立振源的非线性混合。
而能否从实测信号中分离出纯净的源信息,很大程度上决定了故障诊断的准确性和可靠性[1-2]。
因此,如何从实测非线性混合信号中分离出有效的振源信息具有重要的研究意义。
盲源分离又称盲信号分离,指通过观测到的混合信号来恢复原始信号或信源。
近年来,盲源分离已成为信号处理领域的研究热点之一。
盲源分离中较常用的假定是源信号的统计独立性。
当各分量相互独立时,其被称为独立分量分析(independent component analysis,ICA)[3]。
ICA 算法通常采用梯度法对目标函数进行寻优。
但梯度法收敛速度慢、全局搜索能力差,其收敛性能受步长和初始值影响较大[4]。
一.设计简介本课题是基于粒子群优化的盲信号分离,采用MATLAB软件进行设计和仿真。
盲信号的种类很多,分离的方法也很多,该课题只是针对其中的一种进行研究,选用粒子群优化算法与基本的独立分量分析(ICA)算法相结合实现对语音盲信号的分离。
语音盲信号分离目前已经成为一个重要的发展领域,并且由于语音信号本身的特性,会使我们在研究中有更多的求解的选择,独立分量分析是基本的盲信号分离的方法,大致分为四种:基本的独立分量分析(ICA),独立分量分析(ICA)的信息最大化方法,快速的独立分量分析(fastICA),自然梯度法。
选用基本的独立分量分析的方法能够与粒子群优化的算法相结合,使得在分离的过程中达到最优。
粒子群优化算法在于简单、易于实现,并且有深刻的智能背景,采用这种算法提高了盲信号分离收敛速度和精度,它是一种求最优解得算法,给出目标函数,通过算法实现最优解得求解过程,基本的ICA模型能够在盲信号分离中得到便于粒子群优化的目标函数,从而实现语音盲信号的分离。
二.设计过程1.总体设计思路首先必须认真学习盲信号分离和算法的理论,在扎实的理论知识前提下,选择最佳的实现方法,确定设计思路和数学模型。
然后设计程序的流程,在设计的过程中,考虑算法的利弊,如何在编程的过程中将不利的因素摒弃掉,将两种算法很好的结合在一起,实现信号的分离。
最后,在matlab的环境下进行仿真,查看程序的对错,进行修改,得到最后的结果,并对结果进行观察和分析。
总体设计模型如下:Ss(t)是原始的信号Xs(t)是混合后的信号Ys(t)是分离后的信号图一系统模型图2.设计方法独立分量分析是一种解决盲信号处理中盲分离问题的方法,这种方法在于寻找一个线性坐标,使产生的信号尽可能地彼此统计独立,对信号解相关,也减少了高阶统计量的相关性。
在一定的条件下,这种算法可以有效地将多道观测的混合信号进行分离获得原始的信号源。
基本的ICA 模型是一个生成模型,它描述的观测数据是由混合过程产生的。
假设有n 个统计上相关独立的随机变量s 1,s 2,……s n ,其线性组合生成n 个随机变量x 1,x 2,…..,x n ,即x i =a i1s 1+a i2s 2+……+a in s n(1)一般为方便起见,使用向量矩阵表示,令X=[x 1,x 2,…..,x n ]T,S=[s 1,s 2,……s n ] T和A 是元素a ij的矩阵,对离散的混合模型来说,可以写成x=As(2)一个由于混合信号中独立信号源矩阵S 和A 都是未知的,A 为M ×M 维满秩混合矩阵。
所以独立分量分析主要任务就是估计出分离矩阵W ,以实现从多通道混合观察信号中分离出原始信号y,即y=Wx,对于分离结果就是希望分离出的信号源于原始的信号可以实现最好的逼近。
但为使得ICA 是可解得,需要有一定的限制:第一是统计独立的。
对于可估计模型来说,这是最重要的。
第二是非高斯分布,如果观察变量是高斯分布的,其高阶累积量就为0,无法根据高阶信息估计ICA 模型,无法从混合信号推出混合矩阵。
第三是未知的混合矩阵是方的,也就是说独立分量数等于观测混合信号数,为了简化估计。
在满足以上条件下,通过计算A 的逆矩阵B ,就可以得到独立分量。
围绕着分离信号之间的相互独立性,许多人已经提出了不同的目标函数。
考虑到描述信号之间相互独立最基本的准则是1()()My yi i i p y p y ==∏ (3)根据信息论理论和熵的定义,矢量y 中各个分量之间的平均互信息量可以表示为1()()()Mi i I y H y H y ==-∑ (4)根据y=Wx 式得到1,......,......,1()()()lg MM i i M i I y y H y H z z defW==--∑ (5)由于H (z 1,....,z m )与w 无关,目标函数可以简化为1()lg Mi i J H y defW==-∑ (6)每个分量的熵H (yi )可以用yi 的三阶和四阶累积量表示为2234234431()()31()lg(2)()()223!24!816i i i i i i k k H y e k k k π≈--++⨯⨯ (7)目标函数可以进一步表示为22342344311()()31[lg(2)()()]lg 223!24!816i i Mi i i i k k J e k k k defWπ==--++-⨯⨯∑ (8)其中3i k =3i m ,4i k =43i m -,i k m =[()]k i E y 。
通过上式得到分离矩阵W ,进而得到分离信号。
粒子群优化算法是通过个体间的合作与竞争,实现多维空间最优解得搜索,它的数学表述为:在一个D 维的空间中,有M 个粒子,其中第l 个粒子的位置是x l =[x l1,x l2,….,x lD ],速度v l =[v l1,v l2,……,v lD ]搜索到得最优个体位置是p l =[p l1,p l2,……,p lD ],称为Pbest ;整个粒子群搜索到的群体最优位置为p g =[p g1,p g2,……,p gD ],称为gbest 。
粒子状态的更新操作方法是V ld (t+1)=wv ld (t )+c 1r 1[p ld -x ld (t)]+c 2r 2[p gd - x ld (t)] (9) X ld (t+1)=x ld (t)+v ld (t+1) (10) 式中的 l=1,2,……M;d=1,2,…..,D ;w 是惯性因子,是一个非负的常数;c 1和c 2为正的学习因子,一般两者是相等的,并且范围在0到4之间;r 1和r 2是介于[0,1]之间的随机数;t 为当前进化的次数。
在采用粒子群优化算法时,迭代终止的条件是根据具体问题一般选为最大迭代次数或粒子群当前搜索到的最优位置满足预订的最小适应的阈值等。
V tid 是粒子i 的第d 维当前速度,d=1,2,…,n ,v tid 是粒子i 的第d 维当前的位置,V t+1id和Xt+1id是下一时刻的值。
W 是惯性因子,为了加快收敛的速度,一般取为max max min minmax ()ti i w w w w i --=+ (11)式中,i max 和i i 分别为最大迭代次数和当前迭代次数。
除此之外,为防止粒子跑出搜索空间,设定一个最大的速度限制若| v id | >v max ,则设v id = v max (12) 若f ( x id ) < f ( p d , best ) ,则p d, best = x id (13) 若f ( p best, d ) < f ( g best, d ) ,则g best, d = p best, d (14) 粒子群通过上面的式子不断更新,最终收敛到全局最优点。
基于粒子群优化的独立分量分析是将两者结合在一起的,优化目标函数也就是粒子群优化的适应度函数,而针对独立分量分析的目标函数,是粒子群优化算法是对上面目标函数取最小值,得到N 个粒子的位置,从而得到分离矩阵W。
每个粒子的种群个数为n,在n维空间中根据目标函数找到各粒子的全局最优位置,也就是分离矩阵的最优解。
3.设计过程(1)首先将语音盲信号进行数字的量化,采用的是四路语音信号,将四路信号进行量化后得到一个4*5000的矩阵。
并在软件编程的环境中读入这四路语音信号。
(2)其次然后对数据进行处理,先用独立分量分析对这四路信号进行混合,白化,得到高阶累计量,然后用粒子群优化算法对高阶累计的独立分量优化,得到最好的分离效果。
(3)最后利用matlab进行仿真,观察最后得到的结果,再利用快速的独立分量分析的方法对盲信号进行分离,最后将这两种方法的程序进行对比、观察。
具体步骤如下:①将一个的盲信号写成matlab的的文件格式,读入原始的信号,并显示出来。
②将原始信号组成矩阵,并取一个随机矩阵,作为混合矩阵的权矩阵,得到混合的信号X。
③对混合信号X进行白化处理,并计算粒子初始位置的适应度函数。
初始化各粒子的位置矢量和速度矢量。
④计算每个粒子更新位置的优化目标函数,即为适应度函数。
⑤通过优化每个粒子的适应度函数,根据上述所说的粒子群中大小比较取最优的公式更新局部最优值Pbest和全局最优值gbest。
⑥更新粒子的速度矢量和粒子位置的矢量。
⑦判断是否达到最大迭代次数,或者适应度函数是否小于最小值,如果是,则继续往下执行,如果没有,则回到第4步。
⑧选取全局最优值混合信号进行分离的处理。
⑨得出分离后的信号,并输出信号波形。
程序流程图:三.设计程序及结果1.设计过程中的问题由于对盲信号分离的方法并没有很深的认识,错误的以为对于盲信号分离的任何一种方法都能用粒子群优化进行处理,选用了快速的独立分量分析的方法进行分离,导致在编程的过程中,无法选取粒子群优化的目标函数,最近通过老师的帮助,了解到我所选用的这种方法是无法找到目标函数来进行优化的,所以又重新选择,并进行设计。
这次所选用的是基本的独立分量分析,这种方法便于研究,并能找到目标函数,从而利用粒子群优化的方法实现最优矩阵的求解,使得分离精度提高。
对于这种方法基本的设计思路已经完成,但在编程的过程中遇到一些还没有解决的问题,在仿真的过程中无法显示正确的结果。
使得在中期报告中无法提供完整的程序及结果。
2.设计的成果图3.1 输入的四路原始信号源的离散数据由于刚开始选用的FASTICA的方法,这个方法的程序及结果已经实现,在最后的报告中将这种方法与粒子群优化进行对比。
结果如下:图3.2 原始图像图3.3 混合图像参考文献:[1].陈雷,张立毅,郭艳菊,刘婷,李锵.基于粒子群优化的有序盲信号分离算法[J].天津大学学报,2011,44(2):175-179.[2].李希字,叶苗,邵明省.基于负熵粒子群算法的盲信号分离研究[J]. 郑州大学学报,2011,32(1):113-114.[3].高鹰,刘怀亮.一种改进的粒子群优化算法及其在盲信号分离中的应用[J].广州大学学报(自然科学版),2011,10(6):43-48.[4].梁淑芬,江太辉.Fast ICA算法在语音信号盲分离中的应用[J].计算机工程与设计,2010,31(13):3047-3050.[5].张文希,郑茂.基于粒子群优化的独立分量分析算法研究[J].科学技术与工程,2010,10(8):1867-1869,1873.[6].李佰.基于粒子群算法的盲分离及盲抽取的研究[D].长沙:湖南师范大学,2010.[7].董治强.独立分量分析及其在语音特征提取中的应用[D].济南:山东大学,2010.[8].李刚磊,梁蕾.基于改进粒子群的ICA算法[J].高校理科研究:81-82.[9].边峦剑.基于改进粒子群的盲源分离算法及其应用研究[D].哈尔滨:哈尔滨工程大学,2010[10].李希字,叶苗,邵明省.基于负熵粒子群算法的盲信号分离研究[J]. 郑州大学学报,2011,32(1):113-114.[11].苏野平,何量,杨荣震,朱小刚.一种改进的基于高阶累积量的语音盲分离算法[J].电子学报,2002,30(7):957-958.。