基于频点修正的卷积盲源分离方法
【专利摘要】本发明请求保护一种基于频点修正的卷积盲源分离方法,属于信号处理技术领域。通过对源信号短时傅立叶变换(STFT)和相应频点分离信号做特性分析,找出各频点间的相似性;然后,通过设立门限值来找到盲源分离错误的频点,再利用相邻频点处正确的分离信号对其进行校正;最后将排序和修正后的信号逆变换,还原出分离信号。本方法可以在低信噪比的环境先分离出比较准确地还原出语音信号,实际播放有良好的效果,从而对卷积盲源分离的研究具有重要意义。
【专利说明】
基于频点修正的卷积盲源分离方法
技术领域
[0001] 本发明涉及语音信号处理,具体为一种基于频点修正的卷积盲源分离问题。
【背景技术】
[0002] 盲源分离(BSS,blind source separation)是从混合方式未知的观测信号中还原 出源信号的过程。到目前为止,盲源分离领域衍生出了很多分支,比如独立和非独立,线性 和非线性,欠定和非欠定,瞬时混合和卷积混合等,其中属瞬时混合盲源分离算法的研究最 为成熟,并且盲源分离在通信、生物信号处理等领域中有很多潜在的应用,例如噪声的鲁棒 识别和串声分离。然而现实生活中信号常以卷积方式混合,尤其是在多径环境影响的情况 下,瞬时混合只是卷积混合一种特殊的存在方式,因此卷积盲源分离的科学研究显得十分 有必要。近年来,国内外诸多学者对此做了大量研究,并且有了一定的成效,主要分为时域 方法和频域方法。其中时域法是直接在时域从混合信号中求解源信号的方法,由于卷积模 型复杂,导致信号建模困难,计算量非常大,并且随着卷积长度的增加,时域算法变得不稳 定,效果不理想。而频域法则是利用卷积混合信号频域瞬时特性,把混合信号变换到频域直 接利用成熟的BSS算法还原出源信号,由于该过程避免了卷积运算,受卷积阶数的影响小, 所以计算量比较小。但是,由于独立成分分析固有的输出顺序不确定性和幅值不确定性问 题,直接导致了从频域各频点上的分离信号还原出错误的源信号。
[0003] 目前文献针对语音信号的卷积盲源分离算法研究的文献比较少,且集中在频域 法方面。文献"汤辉,王殊.基于稳健联合分块对角化的卷积盲分离.自动化学报,2013",通 过对分离子信号相邻频段幅度相关系数大小估计来解决排序不确定性问题,但是由于频点 处盲分离算法性能不稳定,间接的影响该算法的稳健性。文献"薄祥雷,何怡刚,尹柏强,等. 基于影响因子的频域盲源分离排序算法.电子学报,2013"改进了频域幅度相关排序算法, 通过设定不同的影响因子来控制频点距离和各频点分离质量对排序的影响,但是,该方法 需要了解源信号的先验信息,并且对于不同的语音信号需要设立不同影响因子,影响因子 的不同直接导致该算法分离效果的差异。文献"Ikram M Z,Morgan D R.Permutation inconsistency in blind speech separation: investigation and solutions. Speech and Audio Processing,IEEE Transactions on,2005"和文南犬"Clark F S P,Petraglia M R,Haddad D B.A New Initialization Method for Frequency-Domain Blind Source Separation Algorithms. IEEE Signal Processing Letters,2011"通过对各步页点波达方 向角的估计来确定独立分量所对应的源信号,该方法首先需要对源信号的方位进行估计, 计算量比较大,并且精度不足。文献"Wang Lin,Ding Heping,Yin Fuliang.A Region-Growing Permutation Alignment Approach in Frequency-Domain Blind Source Separation of Speech Mixtures. IEEE Transactions on Audio Speech&Language Pr〇CeSSing,2011"利用每个频点分离出的信号的能量比的相似系数把整个频点划分为多 个区域,然后逐个区域进行排序校正。然而,真实的语音混合环境总是千变万化的,并且在 多数情况下对源信号的先验信息掌握不够充分,因此,有必要对频域盲分离算法做进一步 研究,提出了基于频点校正的语音信号的卷积盲源分离方法。
【发明内容】
[0004] 本发明所要解决的技术问题,针对频域盲源分离排序算法中存在的单一频点盲 分离错误引起的频点反转问题,提出一种频点校正的排序算法,解决了语音信号卷积盲分 离的难题。该方法能够精确的还原出原始的语音信号。在频点校正的过程中采用相邻点间 替代的方法能够到达精确还原语音信号的目的。
[0005] 本发明解决上述技术问题的技术方案是:一种基于频点校正的语音信号卷积盲源 分离算法。其步骤在于,首先通过对源信号短时傅立叶变换(STFT,short time Fourier transform)和相应频点分离信号做特性分析,找出各频点间的相似性;然后,通过设立门限 值τ来找到盲源分离错误的频点,再利用相邻频点处正确的分离信号对其进行校正;最后将 排序和修正后的信号逆变换,还原出分离信号。
[0006]典型的卷积盲分离模型可以写成+巧的,其中S1U)是 未知源信号,hdl)表示从源信号i到达传感器(接收点或观察点)j的冲激响应,nKt)表示 加性噪声,一般是加性高斯白噪声。通过对上面公式做STFT变换处理就可以得到其频域的 单频点模型为¥〇11,〇=1(〇乂(111,〇,其中乂(111,〇为第111帧数据混合信号的短时傅立叶变换, Y(m,f)为第m帧数据分离信号的短时傅立叶变换,W(f)为W ij(I)的短时傅立叶变换,fe[l, L],L为STFT变换点数。通过对单频点信号X(m,f)的分析,得到了再利用BSS方法分离时有错 误的情况,以至于分利息效果不理想,为了解决这种问题,本发明改进了幅度相关排序算 法,提出一种频点修正的排序算法。该算法首先通过相似度检测各频点的分离信号的正确 性,然后用正确的相邻频点信号校正分离错误的频点,直到排序结束,最后,逆变换还原出 源信号。本文分析比较了传统的排序算法,并且在不同环境下测试了两种算法的性能,本 发明的方法性能从各个方面要优于传统的排序算法。
【附图说明】
[0007] 图1本发明卷积盲源分离频域算法框架图;
[0008] 图2本发明STFT滑动窗函数示意图;
[0009] 图3本发明语音信号频域相邻频点实部和虚部值;
[0010] 图4本发明源语音信号的相邻频点间的相似系数;
[0011 ]图5本发明利用传统相关排序算法在无噪声的环境中分离效果;
[0012]图6本发明在分离信号错误情况想的频点间幅值相关系数;
[0013]图7本发明频点校正排序方法基本框图;
[0014] 图8本发明与传统方法分离效果对比图;
[0015] 图9本发明与传统方法分离性能对比图;
[0016] 图10本发明衰减系数对不同信号分离性能效果对比图
【具体实施方式】
[0017] 以下结合附图和具体实例,对本发明的实施作进一步的描述。
[0018] 图1为本发明采用方法的具体流程框图,具体步骤:首先对混合信号进行STFT变 换,再对每个频点下的信号做瞬时盲源分离,得到不同频点下的分离信号,再用排序算法对 各个频点的分离信号分类解决排序不确定性问题,再用幅值归一化算法解决幅度不确定性 问题,最后逆变换还原出源信号,实现语音信号的卷积盲源分离。
[0019] 卷积混合盲源分离的目的是从未知卷积混合信号中将源信号恢复出来,设有N个 未知源信号si(t),i = l,. . .N,M个可观察混合信号xj(t), j = l, . . .M,典型的卷积盲分离模 型可以写成:
[0020]
(!)
[0021 ]其中hi j (1)表示从源信号i到达传感器(接收点或观察点)j的冲激响应,nj (t)表示 加性噪声,一般是加性高斯白噪声。卷积盲源分离的目标就是要找到一组分离滤波器Wlj (1),解卷积得到y i (t)。
[0022]
(-)
[0023]忽略噪声影响,式(1)可以写成:
[0024]
P)
[0025]由STFT变换到频域单频点的分离模型为:
[0026] Y(m,f)=ff(f)X(m,f) (4)
[0027] 其中X(m,f)为第m帧数据混合信号的短时傅立叶变换,Y(m,f)为第m帧数据分离信 号的短时傅立叶变换,W(f)为 Wij(1)的短时傅立叶变换,f e [ I,L],L为STFT变换点数。
[0028] 卷积盲分离问题由此转化成了频域瞬时盲源分离问题,所以式(4)的问题可以用 复数域的瞬时盲源分离算法解决,比如CFastICA、Jade算法,然而瞬时盲分离固有的排列不 确定性和输出幅值不确定性存在于各个频点,其可以表示为:
[0029] Y(m,f)=ff(f)X(m,f) = Λ (f)D(f)S(m,f) (5)
[0030] 其中Λ (f)为对角矩阵,表示频点f处的幅度不确定性问题,D(f)为置换矩阵,表示 频点f处的幅值不确定性问题。所以,在频域盲源分离算法中,有必要解决排列问题和幅值 不确定性问题,否则还原不出源信号。本文通过各频点间的联系来解决排列问题,幅值不确 定性问题可以由最,丨、生直准0丨丨魅决;
[0031]
(6)
[0032] 其中WP(f)为经过排序后的频点f处的分离矩阵,,/(/)是^(〇的逆矩阵,diag (·)为取矩阵对角线上的元素,Ws(f)为处理了幅值不确定性问题后f频点处的分离矩阵。 [0033]图2为所示为STFT的滑动窗函数示意图:
[0034] 语音信号是一种非平稳信号,其又具有短时平稳特性,而标准的傅立叶变换要求 信号是全局平稳,所以针对此问题有了分帧加窗的傅立叶变换,其定义式如下:
[0035]
(7)
[0036] 其中w( ·)为窗函数,η是短时傅立叶变换点数。
[0037] 由图2可以看出,窗函数w(k-m)和w(k-m+l)对于x(m)信息的截取是比较相近的,尤 其是在STFT点数比较多的情况下,相邻的频点包含的信息越相近。以采样率为8000,信号长 度为20000的一段语音信号为例,对其分别做不同点数的STFT变换,窗函数为64为长度的 harming窗,分别取一些相邻频点信号的实部与虚部进行观察如图3所示。
[0038] 图3所示为相邻频点间的实部和虚部值,可以看出相邻频点处信息的实部和虚部 的轮廓非常相似,因此可以对不同信号各相邻频点间的特性进行做相关度测试,所以定义:
[0039]
[0040] (9)
[0041] 其中V1(Hij)第i个信号的第m帧数据频域f频点处信号的幅值,T为数据的帧数,Plj 为信号i和信号j之间的相关度。
[0042] 图4为相邻频点间信号的相似系数,其可以看出同一信号相邻频点之间的相似度 非常高,而两个不同信号之频点间的相似度明显要低于同一信号频点之间的相似度。因此, 在频域分离出来的信号也会在一定程度上继承这一特点,所以可以利用频点间的相似性, 解决盲分离的排列不确定性问题。
[0043] 由上面的推导可知,利用频点间的相关性解决排序问题具有一定的可行性,通过 对各频点间包络相关性大小的比较可以对分离信号区分,将其统一归类。以两路混合信号 为例,定义比较系数λ为:
[0044] (10)
[0045] (1Π
[0046] 如果λ>1则输出顺序正确,不需要重新排列,其中Y1(Hij)为频点f处的第i路分离 信号。
[0047] 本文瞬时盲分离算法采用复数域的联合对角化(JADE)算法,其代价函数为:
[0048] (12)
[0049]
[0050] 其中Qx(D)为观测矩阵的四阶累计量,Qs(D)为源信号的四阶累积量,D为任意nXn 矩阵,U为酉变换矩阵, 〇ff( ·)为非对角元素的平方和,U1为U矩阵的第i列,通过最小化白 化信号四阶统计量的非对角元素来求解酉矩阵U,再通过矩阵U估计出源信号。
[0051] 混合信道采用模拟高斯信道,多径衰减系数为〇,H(k)为一个2 X 2信道指数矩阵, hdk)为k径中第i个发射器到第j个接受器上的信道指数,其产生方式如下:
[0052]
(14)
[0053]图5为采用两路声音对算法做测试,其中多径衰减系数〇 = 0.8,模拟卷积阶数为20 阶分离效果图。由其可知通过相邻频点间的相关度来解决排序问题具有可行性,但是,对于 比较复杂的语音信号而言,频域的复数盲分离算法并不能保证每个频点分离结果的正确 性,由此,对于那些分离效果不理想的频点,其分离结果有可能会导致相邻频点相关度与 源信号同频点的相关度有许多差异,并且此排序算法是通过相邻频点逐次排序的,所以会 造成由几个频点错误引起整体排序错乱的情况,最后得到的分离信号与源信号相比,还原 的精度不高,甚至直接导致还原出错乱的信号,其中错误情况中相邻频点间的相关度一种 情况如图6所示。
[0054]图6为在分离信号错误情况想的频点间幅值相关系数,在STFT变换频点数为1024 个点的情况下,有许多个点的幅值相关度值发生了异变,并在一段频点内相关度值都比较 小,这正是由频点处盲源分离输出错误引起的连锁反应,因此,分离效果的正确性直接与每 个频点输出排列顺序有关。
[0055] 基于上面的分析可知,相邻频点间相关排序法确实在一定程度上能解决排序问 题,但是其也存在许多不足,特别是对于瞬时盲分离算法精度不足所引起的排序错乱的情 况,针对此问题,本文提出一个频点校正的方法,改进的算法框图如下图7所示。
[0056] 图7本发明频点校正排序方法基本框图,该算法是基于相邻频点间幅度相关排序 的改进算法,其中心思想是在对各频点进行排序的时候先通过相关系数值来确认频域盲分 离算法分离的结果的正确性,由于相邻频点的分离信号有非常大的相似度,因此可以用前 一个频点排序好的分离信号来近似替代当前频点分离效果差的信号,然后重复以上算法, 直到排序结束。
[0057]定义相关度门限值τ如下:
[0058] τ = min(0.7,0.8xp..1:!K(a)) (15)
[0059] 其中Am⑷为前d个已排序好的频点的最大相关度Pmax=max (Pi j)的平均值,当当 前频点的最大相关度Pmax和次大相关度P_x小于α时,则认为该频点的盲分离算法分离结果 不准确,然后用上一个频点处的分离结果来代替当前频点的分离值。
[0060] 综上所述,本专利算法具体实现流程描述:
[0061 ] 1、分别对X1 (t),X2 (t)做L点长度的STFT变换,得到X1 (m,f),X2 (m,f);
[0062] 2、从€=1^(〇 = [乂1011,032(111,0],用复数域盲分离算法对乂(€)做盲源分离, 得到册,/),册,/);
[0063] 3、从f = 2开始,按式(9)计算Pij,然后找到最大相关度iw和次大相关度Ρ_χ,通过 对比门限τ值来判断是否盲分离算法分离正确,得到ΥΚπι,?Ο,ΥΚπι,?·),如果小于门限值则用 前一个频点的分离结果代替,如果大于门限值则转到步骤5;
[0064] 4、计算出λ值,如果λ>1则不需要变换该频点分离结果的顺序,反之对调相应频点 分离结果的位置,再令f = 3,转到步骤4;
[0065] 5、当f = L时,整个排序过程结束,用式(6)对每个频点进行幅值处理;
[0066] 6、把整个频点f = I: L看成一个整体,然后进行ISTFT变换得到分离信号yi(t),y2 (t)〇
[0067] 图8所示本发明与传统方法分离效果对比图,图9所示为本发明与传统方法分离性 能对比图。语音信号盲分离通常利用客观评价标准,即盲源分离工具箱(Blind Source Separation Evaluation,BSS_EV AL)来判定改进算法的性能。将分离得到的估计信号 分解为式(16)所示的四个部分,其中Starge3t(t)表示估计信号中属于源信号的部分,称为正 面贡献,e int(3rf(t)表示估计信号中不符合源信号的,但属于混合信号的部分,是由其它信号 源引起的估计误差,e ncilSf3(t)表示观测噪声干扰误差,eartlf(t)表示由于算法产生的系统噪 声误差,
[0068] (16)
[0069]由亍本文没W考虑十杌噪戸的影啊,所以enciise(t)为零,所以可以得到三个性能参 数,分别为信号偏差(3〇11;1^6-1:〇-0丨81:〇1'1:;[0111^1:;[0,30 10,信号干扰比(3011;1^6-1:0-Interference Ratio,SIR),系统误差比(Source-to-Artifacts Ratio,SAR)如式(17)、式 (18)、式(19)所示,三个性能参数值越高表示分离效果越好。
[0070] (17)
[0071] (18)
[0072] (卜))
[0073]
[0074] (20)
[0075] 其中N为源信号数目,SIRk为第k路信号的输出信号干扰比。
[0076]可以看出经过频点校正过后还原出的信号较单纯用相关排序法还原出来的信号 整体要平滑一些,并且毛刺较少。从图9可以看出,改进的算法在分离信号各指标上也有提 升,具体在分离信号1上SDR、SIR、SAR分别有0.66dB、0.9dB、0.8dB的性能提升,在分离信号2 上分别有〇. 5dB、0.5dB、0.8dB的性能提升,而整个算法在平均信道干扰比(I)上有0.7dB 的性能提升,从而验证了本文算法的有效性,并且在一定的性能指标上本文算法要优于传 统算法,从SAR,SDR,SIR的指标上可以看出,改进算法的分离效果和分离质量都要比传统方 法好。
[0077]图10本发明衰减系数对不同信号分离性能效果对比图,可以看出衰减系数σ的增 加对于算法的分离性能起着反作用,无论是对于传统方法,还是对于改进算法,衰减系数 越高则分离效果越差,10(a)可以看出经过频点校正后的分离信号较传统的算法在衰减系 数的变换下有〇.3dB到0.9dB的性能的提升;并且,对比于10(b)可以得到,本文算法在两个 源信号有一定相似度的情况下分离性能和传统方法性能基本一致,说明了源信号的相似性 对本文提出的方法有一定的影响。
【主权项】
1. 一种基于频点修正的卷积盲源分离方法,其步骤在于W频域各相邻点间的相似系数 化J作参考,设立一个口限值r = min(0.7,0.8x只来筛选分离结果错误的频点,然后利用 频域各频点间的相似性利用相隔比较近的频点上的分离信号来替换邻近错误的频点,W此 来达到频点修正的目的。最后再利用相关排序算法来纠正整个频点,逆变换还原出原始信 号。2. 根据权利1的要求所述的修正方法,其特征在于采用频域相邻频点间的相似性,设置 一个合理的口限值r = min(0.7,0.8x兒来筛选出错误信号的频点,对于口限值τ的选 择,是在不同条件下的实验结果得出,然后再利用相邻频点替换的方法修正错误频点的信 号。
【文档编号】G10L21/0232GK105845148SQ201610149053
【公开日】2016年8月10日
【申请日】2016年3月16日
【发明人】张天骐, 欧旭东, 张世会, 张刚, 罗忠涛
【申请人】重庆邮电大学