一种基于压缩感知的语音信号重构方法与流程

文档序号:13032609阅读:1479来源:国知局

本发明涉及语音处理技术、压缩感知技术等多种领域,特别是一种基于压缩感知的语音信号重构方法。



背景技术:

语音是人类最直接最方便最快捷的通信方式,然而,传统的语音信号处理方法是建立在奈奎斯特采样定理之上的,不仅造成较大的采样信号数据量且编码时浪费大量空间存储冗余数据,造成数据量、计算量和存储量都比较大。于2006年正式提出的压缩感知(compressedsensing,cs)技术利用自然信号在某些基下具有稀疏性的特征,对其进行非自适应的全局采样并通过合适的重构算法就能从较少的测量值中以高概率恢复出原始信号,从而避免了传统的信号处理方法带来的弊端。因此基于压缩感知的语音信号处理方式能够有效地避免传统方式的缺陷,从而在保证重构信号精度的前提下大大降低数据量和处理时间。重构算法的设计是语音信号压缩传感的核心问题之一。

目前主流的压缩感知恢复算法算法主要有凸优化算法、贪婪算法和组合算法。其中,凸优化算法所需要的测量值较少,但是计算的复杂度较高。而组合算法的运算速度虽然较快,但是需要大量的测量值。贪婪算法则在以上两种算法之间取了折中。贪婪算法中最经典的正交匹配追踪(orthogonalmatchingpursuit,omp)算法应用较为广泛,然而未经优化的omp算法采用信号的稀疏度作为算法迭代终止的判定条件,事实上信号的稀疏度并不是一个精确的数值,因此omp算法的迭代次数无法十分准确地确定。若稀疏度取值过大则迭代次数过多,造成计算量过大计算时间较长,若稀疏度取值过小则迭代次数过少,造成信号重构效果欠佳。因此omp算法的重构终止条件仍有待进一步的优化。



技术实现要素:

为了克服现有技术的不足,本发明提出了一种基于压缩感知的语音信号重构方法,该方法在算法中除稀疏度外,再利用测量值与测量矩阵中列的相关性作为除了稀疏度之外的另一个循环终止条件,实现omp恢复算法的优化,适用于语音信号的压缩感知恢复。

本发明的一种基于压缩感知的语音信号重构方法,该方法包括以下步骤:

步骤1、采集原始语音信号,获得测量矩阵测量值y和信号稀疏度k;

步骤2、初始化索引集λ、残差r、增量矩阵ω和迭代次数i,并且设置合适的阈值比例μ:r0=y,i=1,μ=1.2;

步骤3、计算和测量矩阵中列向量和测量值的最大内积值j表示测量矩阵中列向量的序号;此处的测量矩阵与残差的内积作为衡量匹配程度的标准,即获得了测量矩阵和测量值的最大匹配度数值,

步骤(4)、计算当前残差ri和测量矩阵中列向量的内积值获得每一次迭代过程中此时的最大内积值,选择最佳匹配项;

步骤5、寻找到索引λi,使得其中λi表示测量矩阵中选定列向量的序号,也就是寻找到测量矩阵中与当前重构残差的最大相干列的列号;

步骤6、扩充索引集λ和增量矩阵ω:λi=λi-1∪{λi},将选定的最大相干项的列号依次添加到索引集λ中,选定的最大相干列依次添加到增量矩阵中;

步骤7、获得信号的新近似值,求解最小二乘问题得到新近似值xi:xi=argminx||y-ωix||;最小二乘是通过最小化平方误差来衡量得出信号的最佳匹配,因此得到与测量值y和当前增量矩阵ωi最合适的重构向量,即为上述新近似值xi;

步骤8、更新残差ri=y-ωixi,以便下一次迭代进行最大相干项的选择;

步骤9、若迭代次数i≤k且uj≥u/μ,则返回步骤4,否则输出此时信号的重构值xi和索引集合λi,完成此信号的重构。

本发明具有简单、易操作的特点,避免了omp恢复算法中由于稀疏度选取不当导致的数据量和存储量的增加,在保证信号重构准确性的基础上提高了信号重构的速度;可以用于语音信号的压缩感知恢复。

附图说明

图1为本发明一种基于压缩感知的语音信号重构方法整体流程图。

具体实施方式

下面将结合附图对本发明的实施方式作进一步的详细描述。本发明的框架实现可分为以下步骤:

由于omp恢复算法的原理之一是利用残差与测量矩阵的相关性作为从测量矩阵中选取索引列的依据,而此索引列被添加进增量矩阵中用于原始信号的重构,因此本发明的整体构造思路是对于算法的终止条件除稀疏度外再以残差值与测量矩阵中列的相关性作为判定标准。

如图1所示,本发明的一种基于压缩感知的语音信号重构方法具体包括以下步骤:

步骤1、采集原始语音信号,获得测量矩阵测量值y和信号稀疏度k;

步骤2、初始化索引集λ、残差r、增量矩阵ω和迭代次数i,并且设置合适的阈值比例μ:r0=y,i=1,μ=1.2;

步骤3、获得测量矩阵和测量值的最大匹配度数值,即计算和测量矩阵中列向量和测量值的最大内积值omp算法的基本思想是在每次的迭代时,从过完备原子库(即测量矩阵)中选择与信号的残差最匹配的原子来稀疏逼近,而衡量匹配程度的标准是测量矩阵与残差的内积,j表示测量矩阵中列向量的序号;

步骤4、计算当前残差ri和测量矩阵中列向量的内积值为获得每一次迭代过程中此时的最大内积值以便选择最佳匹配项;

步骤5、寻找到索引λ,使得其中λi表示测量矩阵中选定列向量的序号,也就是寻找到测量矩阵中与当前重构残差ri-1的最大相干列的列号;

步骤6:扩充索引集λ和增量矩阵ω:λi=λi-1∪{λi},将选定的最大相干项的列号(依次添加到索引集中,选定的最大相干列依次添加到增量矩阵中;

步骤7:获得信号的新近似值,求解最小二乘问题得到新近似值xi:xi=argminx||y-ωix||;最小二乘是通过最小化平方误差来衡量得出信号的最佳匹配,因此得到与测量值y和当前增量矩阵ωi最合适的重构向量xi;

步骤8:更新残差ri:ri=y-ωixi,由于此时信号的近似值已经更新,因此残余误差也进行重新计算以便下一次迭代进行最大相干项的选择;

步骤9:若迭代次数i≤k且uj≥u/μ,则返回步骤4,否则输出此时信号的重构值xi和索引集合λi,完成此信号的重构。在本步骤中迭代终止条件除了原始omp恢复算法中依据迭代次数不超过稀疏度k的限制外,为了避免因k值较大造成运算过度而依据omp算法的原理又设置了测量矩阵与残差的内积值的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1