您当前的位置:首页 > 计算机论文>计算机网络论文

基于改进遗传算法的盲源分离算法研究的创新

2015-08-01 09:43 来源:学术参考网 作者:未知

 0 引言
  盲源分离是指在不知道源信号分布和混合系统的情况下,仅根据观测到的混合信号恢复源信号的过程。由于盲源分离无需知道信号的先验信息,从而在信号处理领域得到广泛的应用,语音盲分离更是因为其实用性成为其中研究的热点。语音分离技术对计算机听觉、语音识别等方面的研究具有重大意义,同时高质量的语音通信、助听器、电话远程会议系统等也都得益于此,因此,语音盲分离的研究具有非常重要的理论价值和应用价值[1]。在通常的盲信号研究中,大多数的盲源分离算法都是假设原信号是线性混叠的,然而在实际中混叠模型更多的是非线性或者弱非线性的,这就要求去寻求一种对非线性混叠情况适用的分离算法。
  1 遗传算法分析及其改进  
  1.1 遗传算法简介
  遗传算法是一种概率寻优算法,其依据生物遗传进化和优胜劣汰的原理,是以个体适应度为基础,对个体进行选择、交叉、变异,搜索参数最优解的智能算法。遗传算法可以用于对系统的一个或多个参数进行智能优化,优化控制器的控制效果。基本的遗传算法包含初始化、适应度计算、选择、交叉、变异、终止判断等操作。
  1.2 遗传算法的数学分析
  由遗传算法的模式定理可知,若低阶、高适应度的某种模式中包含了最优解,则遗传算法就可能把它找出来,但是若低阶、高适应度的所有模式中均没有包含最优串的值,则遗传算法就不能找到最优解,通常只能给出次优解。
  若在模式H和H'中,不确定位基因的具体位置是一致的,但在任一确定位上的基因编码均完全不同,就称H和H'互为竞争模式。例如,10***与01***属于竞争模式;10***与11***则不属于竞争模式。
  假定f(x)的最大值对应的未知量x的集合为x',H为包含x'的m阶模式,H的竞争模式为H',若f(H)<f(H'),则f为m阶欺骗。例如,对于一个三位二进制编码的模式,若f(111)为最大值,则下列任意一个不等式的成立都将说明其中存在欺骗性。
  当模式阶数为1时:
  f(**1)<f(**0),
  f(*1*)<f(*0*),
  f(1**)<f(0**)。
  当模式阶数为2时:
  f(*11)<f(*00),
  f(1*1)<f(0*0),
  f(11*)<f(00*)。
  f(*11)<f(*01),
  f(1*1)<f(0*1),
  f(11*)<f(01*)。
  f(*11)<f(*01),
  f(1*1)<f(1*0),
  f(11*)<f(10*)。
  种群个体的编码位数越多,模式阶越高,计算复杂性越高,遗传算法产生欺骗性问题的可能性就越大,找到全局最优解的难度也就越大。
  造成上述欺骗问题的主要原因主要有两个:编码不当或适应度函数选择不当。若它们均为单调关系,就不会存在欺骗性问题,但对于非线性问题,难以实现其单调性。
  1.3 遗传算法的改进  本文对算法进行了改进,在寻优过程中插入种群精简算法,将种群中相同或者相似度很高的部分个体予以精简,种群空位以新个体补足,可以有效地保持种群多样性,同时采用二进制编码方法,可有效避免算法欺骗性问题的产生,使得算法更有可能找到全局最优解[2]。
  由积木块假设可知,遗传算法能够最终找到最优解的条件为:表现型相近的个体基因型类似且遗传因子间相关性较低。若种群中个体的相关性较高,则不符合此条件,即算法很难找到最优解,因此必须对种群进行精简,降低个体间的相关性。此处以种群个体间的相似度来表征其相关性。
  首先,若种群为非初代种群,则对其个体按适应度由高到低的原则排序,之后比较个体之间的相似度。相似度的计算方法为:
  将染色体解码后的c个参数作为某高维空间中某些点的向量坐标,每个染色体个体都与空间中的一点对应,用两点间距的倒数表征j、k两染色体的相似度,相似度计算如式⑴。
   ⑴
  其中Djc和Dkc分别代表染色体j、k的第c个参数值。
  [开始][确定染色体基因编码方法][产生初始种群][格雷码解码][种群精确算法][适应度评价][选择、交叉、变异][最优解输出][满足终止条件] [结束] [Yes][No]
  图1  遗传算法的工作原理流程图
  设排序后的种群染色体分别为A1、A2、…AN,N为种群个体数。具体相似度比较方法为:首先以A1作为基准,从A2开始逐个比较其与A1的相似度,直至某个体Am与A1的相似度小于设定的阀值l,精简过程为:若m-1大于L=xT2/3,则保留A1~AL的个体,将AL+1~Am-1个体淘汰,并以新的随机格雷码将种群空位补足,否则不作改动。其中T为代数,x为预设值;之后以Am为基准,从Am+1开始逐个检测其与Am的相似度,比较和精简方法同前;通过从前到后的比较和精简,直至遍历整个种群。图1为遗传算法的工作原理流程图。
  2 基于遗传算法的盲源分离
  2.1 非高斯性的度量—峭度
  自然界中大部分随机信号都是超高斯或亚高斯分布,真正满足高斯分布的很少,因此ICA(独立量分析方法)具有极其重要的意义。中心极限定理表明,当一组均值和方差为同一数量级的随机变量,共同作用的结果必定接近高斯分布。因此,如果监测信号是多个独立源的线性组合,那么监测信号比源信号更接近高斯分布。根据这个思想,对分离的信号非高斯性进行度量,当非高斯性达到最大时,可认为最佳分离[3]。
  在实际计算中,非高斯性采用4阶累积量即峭度来表示:
   ⑵
  对于零均值,单位方差的随机变量[4],式⑵变为:
   ⑶  
  2.2 基于遗传算法的盲源分离
  求解分离矩阵W实际上是一个多峰值、大空间、非线性、高复杂的优化问题,遗传算法作为一种全局并行搜索算法,其寻优不依赖于问题的梯度信息,对于盲信号分离问题,无需给出变量概率密度函数的表达式,只需通过遗传算法得到非高斯性最大的分离矩阵W。
  2.3 适应度函数的选取
  若处理的信号为不同种类的信号,既有超高斯信号,又有亚高斯信号,则单纯的峭度函数不能进行正确分离,本算法选用峭度的绝对值之和作为适应度函数,即:
   ⑷
  在E{yyT}=I约束条件下,对于某一分离矩阵W,J(y)越大,表明yi之间 的独立性越强。
  2.4 染色体的编码方式
  格雷码能够有效提高遗传算法的局部寻优能力,因此这里采用格雷码编码方式,每个参数采用十位格雷码表示。以2阶分离矩阵为例,W为2*2的方阵,共4个待寻优参数,每个参数用10位格雷码表示,则染色体为40位长的格雷码。
  2.5 解码算法
  将位串个体从位串空间转化成问题参数空间的解码函数Γ,得到的4个十进制的实数。具体的解码算法为:
  ⑸
  其中,c为转化为十进制的待寻优的参数个数,此处c=4;j为种群的染色体个数,即j=Size;i为染色体的序位。
  解码后的位串包含的c个数即为待寻优参数的十进制表示形式,为后续的种群精简及控制效果评价过程做准备。
  3 仿真与试验研究
  取两路语音信号,采样频率为8KHz,长度为450000点,随机选取混合矩阵A。用遗传盲源分离算法分离混合语音信号。图2、图3为采集到的语音信号,图4、图5为经过随机混合矩阵A后得到的混合信号,图6、图7为经过遗传盲源分离算法后得到的分离信号。
  将信号分离前和分离后进行比较发现,信号波的形状一致,但是幅值大小不同,波形顺序不定,这主要是由盲源分离的两个不确定性决定的。
  为了更直接地观察分离结果的正确性,本文采取将源信号和分离信号分别通过快速傅里叶变换在频域下进行比较,如图10、图11所示。通过对经过FFT变换得到的幅频图对比可以看出,分离信号的幅频图很接近源信号的幅频图(在此不考虑幅值大小和信号顺序的问题)。
  由此可见,该方法所实现的分离信号能够很好地再现源信号。
  4 结论
  本文针对遗传算法的欺骗性进行改进,在寻优过程中插入种群精简算法,有效地抑制网络陷入局部最小,防止了震荡,加快了权值的收敛速度。算法所分离的信号与原信号在顺序上都不一致,且幅度和相位各不相同,这正是盲信号分离的两个不确定性决定的[5-6]。从仿真实验可以看出,遗传算法做盲信号分离得到的信号与源信号相比,吻合情况较为满意。因此,改进的遗传算法用于多路混叠语音信号分离具有可行性和有效性。  
  参考文献:
  [1] Taleb A,Jutten C. Source separation in post nonlinear mixtures[J].
  IEEE Trans. Signal Processing,1999.47: 2807-2820
  [2] K. Matsuoka, M. Kawamoto, M. Ohya. A Neural Net for Blind
  separation ofNonstationary Signal Source. Neural Networks,1995.8(3):411-419
  [3] 杨俊安,王伦文,庄镇泉.基于高阶统计理论和量子遗传算法的非线
  性盲源分离算法研究[J].模式识别与人工智能,2004.1:41-45.
  [4] 彭安洪,赖惠成.一种采用云自适应粒子群算法的盲源分离[J].计算
  机仿真,2013.30(9):340-343
  [5] 马建芬,李鸿燕,张雪英等.盲源分离在单通道语音增强算法中的应
  用[J].计算机应用,2006,26(11):2694-2695

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页