一种基于改进蝴蝶优化算法的语音信号盲分离方法

文档序号:31468133发布日期:2022-09-09 22:15阅读:62来源:国知局
一种基于改进蝴蝶优化算法的语音信号盲分离方法

1.本发明涉及信号处理技术领域,具体涉及一种基于改进蝴蝶优化算法的语音信号盲分离方法。


背景技术:

2.在采用语音信号进行通信的实际过程中,难免会受到干扰,使得接收端无法得到原始语音信号,各种混合信号使有用信号的传输受到严重影响,从而降低了信号处理系统的质量,因此需要对接收端的混合信号进行处理,使得语音信号质量得到改善。
3.盲源分离是一种较新的信号处理方法,可在缺乏先验知识如信源和信道的情况下,利用得到的观测信号来恢复源信号。盲源分离可将混合的语音信号进行分离,得到有用信号,从而实现语音增强目的。国内外对语音信号盲分离方法的研究已有很多,但是传统的自然梯度算法过度依赖梯度信息,快速固定点算法对初始解敏感,这极大地影响了算法的分离性能。因此,如何提高求解分离矩阵的速度和精度,得到更高质量的分离信号具有重要现实意义。


技术实现要素:

4.本发明的目的在于,提供一种基于改进蝴蝶优化算法的语音信号盲分离方法,其克服了传统盲源分离方法过度依赖梯度信息、对初始解敏感的局限性,有效提升了分离性能。
5.为实现上述目的,本技术提出一种基于改进蝴蝶优化算法的语音信号盲分离方法,包括:
6.步骤1:从语音信号中获取源信号s(t)=[s1(t),s2(t),...,sn(t)],经过非奇异混合矩阵a处理后得到观测信号x(t)=[x1(t),x2(t),...,xm(t)],其中sn(t)是源信号s(t)的第n个分量,xm(t)是观测信号x(t)的第m个分量,t为采样时间,m和n为正整数,a是m
×
n阶混合矩阵;
[0007]
步骤2:对所述观测信号x(t)进行中心化和白化处理;
[0008]
步骤3:设定最大迭代次数t,维度空间d,[0,1]之间的随机数r,得到初始种群x,其中每个个体xi的位置对应着一个信号分离矩阵,每个个体xi的适应度值对应其峭度值;
[0009]
步骤4:根据语音信号盲分离问题的适应度函数获取种群个体对应的信号峭度;更新当前群体最高峭度值和个体最高峭度值;
[0010]
步骤5:当随机数r小于生成转换概率p时,种群个体能感知到周围有更高的峭度便朝峭度最高的个体聚集,其聚集方式为:
[0011][0012]
其中,f是[0,2]之间的实常数,λ为[0,1]之间的随机数,和表示在第t次迭代解空间中的第i、第j和第k只蝴蝶对应的分离矩阵,g是当代种群中最优的分离矩阵,随机数r1的表达式为:
[0013][0014]
所述生成转换概率p的表达式为:
[0015][0016]
其中,e和t分别为当前的和最大的迭代次数,μ为常数2;
[0017]
当随机数r大于等于生成转换概率p时,种群个体未能感知周围有更高的峭度便随机移动,其移动方式为:
[0018][0019]
其中,r2是[0,2π]之间的随机数,r3和r4为[0,1]之间的随机数;
[0020]
步骤6:在迭代后期,执行种群重启策略,所述种群重启策略为:引入一个计数器count,设置其初始值为0;在每一轮迭代之后,如果全局最优分离矩阵g保持不变,则计数增加1;如果全局最优分离矩阵g发生变化,则重置计数器;当计数器count超过0.1*t时,则默认算法优化停滞;为了保留历史优化结果,提升种群个体对应峭度值的多样性,跳出局部优化,采用随机选择方法从原始种群中选择20%的个体(包括最优解),剩余80%的个体将被丢弃,并替换为随机生成的新个体;
[0021]
步骤7:判断是否达到最大迭代次数,若达到最大迭代次数则输出种群峭度最高的个体对应的分离矩阵w,根据y(t)=wx(t)输出语音分离信号,实现对混合信号的盲分离;否则返回步骤4。
[0022]
本发明采用的以上技术方案,与现有技术相比,具有的优点是:本发明使用改进蝴蝶优化算法处理了混合语音信号,得到的分离信号与源信号相似性较高,提升了接收端的语音信号质量,可以有效解决语音信号在进行通信的实际过程受到干扰问题,相较于盲源分离传统算法提升了分离性能,在现代信号处理中具有广泛的应用前景。
附图说明
[0023]
图1为本发明盲源分离算法模型图;
[0024]
图2为本发明基于改进蝴蝶优化算法的语音信号盲分离方法流程图;
[0025]
图3为本发明源信号示意图;
[0026]
图4为本发明观测信号示意图;
[0027]
图5为本发明分离信号示意图。
具体实施方式
[0028]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术,即所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。
[0029]
实施例1
[0030]
在图1中,语音源信号s(t)=[s1(t),s2(t),...,sn(t)]由n个统计独立的信号si(t)构成,观测信号x(t)=[x1(t),x2(t),...,xm(t)]由m个信号xi(t)构成,噪声信号n(t)=
[n1(t),n2(t),...,nm(t)]为m个信号ni(t)构成。盲源分离方法的关键是确定一个适应度函数,然后利用改进蝴蝶优化算法对其进行迭代寻优,得到最优的信号分离矩阵w,使得输出的分离信号y(t)各个分量独立性最强。其中,分离信号y(t)与观测信号x(t)的关系如下:
[0031]
y(t)=wx(t)=was(t)+wn(t)(5)
[0032]
其中,y(t)=[y1(t),y2(t),...,yn(t)]。
[0033]
由于没有源信号和信道信息,盲源分离后的信号幅值和顺序难以确定,称为模糊性。虽然盲源分离具有模糊性,但在大多数科学研究和生产实践中,盲源分离的模糊性不会对结果产生太大影响。
[0034]
为了证明本发明所提方法的有效性,选择3路语音信号作为源信号,将其混合后得到观测信号,利用本发明提出的方法对观测信号进行盲分离得到分离信号。语音信号的采样频率和采样点分别为40964和1000。
[0035]
如图2所示,本实施例提供一种基于改进蝴蝶优化算法的语音信号盲分离方法,具体包括:
[0036]
步骤1:从3路语音信号中获取图3所示线性混合的源信号s(t)=[s1(t),s2(t),...,sn(t)],经过非奇异混合矩阵a处理得到图4所示观测信号x(t)=[x1(t),x2(t),...,xm(t)],其中sn(t)是源信号s(t)的第n个分量,xm(t)是是观测信号x(t)的第m个分量,t为采样时间,m和n为正整数,a是m
×
n阶混合矩阵。
[0037]
步骤2:对步骤1中得到的所述观测信号x(t)进行中心化和白化处理。
[0038]
步骤3:设定最大迭代次数t,维度空间d,随机数r,得到初始种群x,其中每个个体xi的位置对应着一个信号分离矩阵,每个个体xi的适应度值对应其峭度值;
[0039]
步骤4:根据语音信号盲分离问题的适应度函数获取种群个体对应的信号峭度;更新当前群体最高峭度值和个体最高峭度值;所述适应度函数为:
[0040][0041]
其中,峭度
[0042]
步骤5:在r<p和r≥p两种情况下分别更新种群个体对应的分离矩阵。
[0043]
步骤6:在迭代后期,执行种群重启策略,提高种群个体对应峭度值的多样性。
[0044]
步骤7:判断是否达到最大迭代次数,若达到最大迭代次数则输出种群峭度最高的个体对应的分离矩阵w,根据y(t)=wx(t)输出语音分离信号,实现对混合信号的盲分离;否则返回步骤4。
[0045]
本方法中各参数可以设置为:最大迭代次数t为50,种群个数为30;
[0046]
从图5可以看出,使用本发明方法分离得到的信号可以对源信号进行较好还原。另外,分离信号的次序、幅度与源信号不一致,体现了盲源分离的模糊性,但是信号的信息隐藏在波形中,所以在大多数科学研究和生产实践中,盲源分离的模糊性不会对结果产生太大影响。
[0047]
为了比较算法的分离性能,取相似系数、串音误差和计算时间作为评估指标。其中,相似系数是衡量源信号和分离信号的相似程度的指标,相似系数越大,则分离效果越好,它在本发明中是一个3
×
3的矩阵,取每个通道的最大值作为实验数据;串音误差越接近
于0,分离性能越好。对比算法有本发明提出的dmboa、蝴蝶优化算法(boa)、鲸鱼算法(woa)和结合混沌和粒子群优化的蝴蝶优化算法(hpsoboa)。每种算法独立运行30次,以提高实验的准确性。
[0048]
对比结果见表1。其中,所有算法最好的相似系数、串音误差和计算时间将被加粗。
[0049]
表1.几种算法求解语音信号盲分离问题性能评价指标数据。
[0050][0051]
从表1可以看出,dmboa的总体分离性能优于作为对比的其他算法,得到的分离信号相似系数最高,串音误差和计算时间最小。因此本发明所提方法具有良好的分离性能。
[0052]
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1