发明名称 一种对卷积混叠语音信号进行盲源分离的方法
摘要 本发明提供了一种对卷积混叠语音信号盲源分离的方法,将时域的卷积混叠模型转化为频域的多通道线性瞬时混叠模型。首先将卷积混叠的时域信号变换到频域,之后对各个通道进行相互独立的ICA运算并得到独立成分。接下来用MSBR方进行重列:首先将不同频段的信号进行分类,然后分步骤根据不同的目标函数渐进得转置矩阵,重列的各个步骤相互补充。MSBR算法利用谐波频率的强相关性提高迭代准确率,根据相邻频段和对应基准频率的连续性解决剩余频段的剩余不确定性,MSBR算法计算复杂度近似正比于基准频率段的个数。本发明提高了收敛效率,还提高了准确度,更适合实时处理,使卷积混叠语音信号的分离性能良好,在真实语音环境中也可以应用。
申请公布号 CN101667425A 申请公布日期 2010.03.10
申请号 CN200910018960.X 申请日期 2009.09.22
申请人 山东大学 发明人 刘琚;刘清菊;杜军;董治强
分类号 G10L15/20(2006.01)I 主分类号 G10L15/20(2006.01)I
代理机构 济南金迪知识产权代理有限公司 代理人 于冠军
主权项 1.一种对卷积混叠语音信号进行盲源分离的方法,其特征是:将时域的卷积混叠模型转化为频域的多通道线性瞬时混叠模型,将卷积混叠的时域信号变换到频域之后对各个通道进行相互独立的独立成份分析得到独立成分并重列,在频域进行ICA时采用预独立化的快速峭度最大化算法,不同频段的信号在重列时进行分类,然后分步骤根据不同的目标函数得到重列的转置矩阵,重列的各个步骤相互补充,根据相邻频段和基准频率的连续性解决剩余频段的剩余不确定性,计算复杂度正比于基准频率段的个数;其中,卷积混叠信号的模型为:<img file="A2009100189600002C1.GIF" wi="563" he="120" />其中h<sub>pk</sub>(l)是在延迟l上第k个源信号s<sub>k</sub>(t)到第p个传感器信号x<sub>p</sub>(t)的冲激响应,并对源信号提出以下的限制:相互独立;最多有一个是高斯信号;H(l)必须是列满秩的;具体包括以下步骤:(1)将卷积混叠的信号进行离散时间傅立叶变换;(2)在各个频域段内利用快速峭度最大化算法进行相互独立的独立分量分析运算;(3)使用多步骤基准重列算法对频域的独立分量分析分离数据进行重列;A步骤:解决预先确立的基准频率f<sub>b</sub>的顺序不确定性选取f<sub>b</sub>=0,(M/L)f<sub>s</sub>,(2M/L)f<sub>s</sub>,...,((L-1)/L)f<sub>s</sub>为基准频率,其中M是一个正奇数;先求得恢复信号零均值的功率轮廓对数:<maths num="0001"><![CDATA[<math><mrow><mi>E</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>f</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mi>log</mi><mrow><mo>(</mo><msub><mi>Y</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>f</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><msubsup><mi>Y</mi><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>f</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mi>mean</mi><mrow><mo>(</mo><mi>log</mi><mrow><mo>(</mo><msub><mi>Y</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>f</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><msubsup><mi>Y</mi><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>f</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>)</mo></mrow></mrow></math>]]></maths>然后最小化目标函数:<maths num="0002"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>i</mi><mo>=</mo><mi>K</mi></mrow></munderover><msup><mrow><mo>|</mo><mo>|</mo><mi>E</mi><mrow><mo>(</mo><mi>&Pi;</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>f</mi><mi>b</mi></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>E</mi><mi>i</mi></msub><mrow><mo>(</mo><mo>&CenterDot;</mo><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>其中∏(·)是一个前面介绍的一一对应关系,||·||表示一个向量的欧几里德范数,E<sub>i</sub>(·)表示频域上第i个源信号的功率轮廓,通过对E(∏(i),f<sub>b</sub>,t)在所有频段上求均值得到,以迭代方式最小化该函数求得在该基准频率上的∏(·),从而得到转置矩阵P(f<sub>b</sub>);之后通过转置矩阵P(f<sub>b</sub>)对分离矩阵W(f<sub>b</sub>)和相应的分离数据Y(f<sub>b</sub>,t)重列;B步骤:解决基准频率临近的频段的顺序不确定性经过A步骤后还有(1-1/M)L个频段未解决不确定性,根据相邻分离矩阵的相似性,以第一步骤中的L/M个频段为基准,对剩下的频段重新排序,以第j个基准频段f<sub>bj</sub>=((j-1)M/L)f<sub>s</sub>为例,它的临近频段为f<sub>bj-(M-1)/2</sub>,...,f<sub>bj-1</sub>,f<sub>bj+1</sub>,f<sub>bj+2</sub>,...,f<sub>bj+(M+1)/2</sub>,其中f<sub>bj+l</sub>=(((j-1)M+l)/L)f<sub>s</sub>;在对频段f<sub>bj+l</sub>进行重新排序时,先求出该频段分离信号的相关矩阵W(f<sub>bj+l</sub>),然后列举出所有可能的转置矩阵P(f<sub>bj+l</sub>)W(f<sub>bj+l</sub>),接着求出分离矩阵W(f<sub>bj</sub>)和(P(f<sub>bj+l</sub>)W(f<sub>bj+l</sub>))<sup>T</sup>的相关阵C<sup>bj+l</sup>,则C<sub>mn</sub><sup>bj+l</sup>表示W(f<sub>bj</sub>)的第m行和P(f<sub>bj+l</sub>)W(f<sub>bj+l</sub>)的第n行的相关系数,通过最小化下面的目标函数得到最终的转置矩阵P(f<sub>bj+l</sub>):<maths num="0003"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mfrac><mn>1</mn><msup><mrow><mo>|</mo><msubsup><mi>C</mi><mi>mm</mi><mrow><mi>bj</mi><mo>+</mo><mi>l</mi></mrow></msubsup><mo>|</mo></mrow><mn>2</mn></msup></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>&NotEqual;</mo><mi>m</mi></mrow><mi>K</mi></munderover><msup><mrow><mo>|</mo><msubsup><mi>C</mi><mi>mn</mi><mrow><mi>bj</mi><mo>+</mo><mi>l</mi></mrow></msubsup><mo>|</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>接下来验证该转置矩阵的准确性与否:若min|C<sub>mm</sub><sup>bj+l</sup>|,m=1,...K大于一个预先设定的门限值且max|C<sub>mn</sub><sup>bj+l</sup>|,m,n=1,...K,m≠n小于另外一个预先设定的门限值,那么通过此转置矩阵对频域信号进行重新排序就是准确的,通过转置矩阵P(f<sub>bj+l</sub>)对分离矩阵W(f<sub>bj+l</sub>)重列,否则的话,需要利用C步骤对对应频率段重新排序;C步骤:通过信号包络的连续性解决剩余频段的顺序不确定性首先设计一个低通滤波器,对于频段f<sub>bj+l</sub>和其相应的基准频段f<sub>bj</sub>,得到分离语音的上包络:<maths num="0004"><![CDATA[<math><mrow><mi>En</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>f</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mi>envelope</mi><mrow><mo>(</mo><msub><mi>Y</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>f</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>N</mi><mo>+</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mo>=</mo><mi>t</mi><mo>-</mo><mi>N</mi></mrow><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mo>=</mo><mi>t</mi><mo>+</mo><mi>N</mi></mrow></munderover><mo>|</mo><msub><mi>Y</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>f</mi><mo>,</mo><msup><mi>t</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>|</mo></mrow></math>]]></maths>其中N是一个正整数,通过遍历∏(·)来最小化下面目标函数得到需要的P(f<sub>bj+l</sub>):<maths num="0005"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>i</mi><mo>=</mo><mi>K</mi></mrow></munderover><mfrac><msup><mrow><mo>|</mo><mo>|</mo><mi>En</mi><mrow><mo>(</mo><mi>&Pi;</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>f</mi><mrow><mi>bj</mi><mo>+</mo><mi>l</mi></mrow></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mi>En</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><msub><mi>f</mi><mi>bj</mi></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mrow><mo>|</mo><mo>|</mo><mi>En</mi><mrow><mo>(</mo><mi>&Pi;</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>f</mi><mrow><mi>bj</mi><mo>+</mo><mi>l</mi></mrow></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>&CenterDot;</mo><mo>|</mo><mo>|</mo><mi>En</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><msub><mi>f</mi><mi>bj</mi></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow></mfrac></mrow></math>]]></maths>之后通过转置矩阵P(f<sub>bj+l</sub>)对分离矩阵W(f<sub>bj+l</sub>)重列;(4)然后利用最小失真原则(MDP)对频域的ICA分离矩阵进行幅度调整;根据如下算法对分离矩阵进行幅度调整:W(f)←diag(inv(W(f)))W(f)(5)最后求得时域分离矩阵并恢复原始信号;对频域的分离矩阵W(f)实行离散傅立叶反变换求得时域上的分离矩阵W(t),得到时域分离矩阵W(t)后,套用以下公式对传感器信号进行卷积,能够最终获得原始信号的估计;<maths num="0006"><![CDATA[<math><mrow><mi>y</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>W</mi><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow><mi>x</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mi>&tau;</mi></munder><mi>&alpha;</mi><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mi>s</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow></math>]]></maths>其中源向量s(t)=[s<sub>1</sub>(t),s<sub>2</sub>(t),...,s<sub>K</sub>(t)]<sup>T</sup>,观测向量x(t)=[x<sub>1</sub>(t),x<sub>2</sub>(t),...,x<sub>P</sub>(t)]<sup>T</sup>,分离向量y(t)=[y<sub>1</sub>(t),y<sub>2</sub>(t),...,y<sub>K</sub>(t)]<sup>T</sup>,上标″T″表示转置,W(l)对应延迟l上的时域K×P分离矩阵。
地址 250100山东省济南市历城区山大南路27号