模拟技术学习
直播中

张帆

7年用户 224经验值
私信 关注
[问答]

如何降低LMS算法的计算复杂度,加快程序在DSP上运行的速度,实现DSP?

基于线性预测的FIR自适应语音滤波器的系统结构由那几部分组成?
如何降低LMS算法的计算复杂度,加快程序在DSP上运行的速度,实现DSP?

回帖(1)

袁钧质

2021-4-12 17:28:43
  在实际环境中,语音信号在声电转换时不可避免地要受到周围环境的影响,高背景噪声会严重地影响语音信号质量。语音通信系统中的一个重要工作就是从带噪语音信号中提取纯净的原始语音、抑制背景噪声。各种语音降噪算法正处于广泛的研究中。
  其中,利用自适应滤波技术进行语音降噪是一种效果较好的方法。自适应滤波能在输入信号与噪声的统计特性未知或变化的情况下,自动估计出所需的统计特性,并以此为依据自动调整滤波参数,以达到最佳的滤波效果。
  传统的自适应噪声抵消法多采用双声道(多声道)系统,以得到一个或多个参考噪声作为辅助输入,这势必造成系统结构复杂等一系列问题。所以本文选取原始输入的延时信号作为参考噪声输入的单声道系统,构建基于线性预测的自适应语音滤波器,并对LMS算法作出改进,被噪声污染的语音信号通过该滤波器滤波,噪声得到有效抑制,显著提高了信噪比。
  1 原 理
  基于线性预测的FIR自适应语音滤波器的系统结构形式如图1所示。
  
  在自适应语音滤波器的计算中,本文采用LMS算法,μ的选取参考文献中介绍的计算公式,即:
  μ=1/(10×L×Px)
  式中:L为线性预测阶数,即自适应FIR滤波器的长度;Px为输入信号功率。
  μ计算公式的稳定性保险系数比较大,而且自适应语音滤波器又主要工作在强干扰噪声状态下,可直接选取Px为环境噪声的平均功率。
  该系统是利用了信号的相关性和噪声的不相关性,使原始信号中的相关部分得到加强,而不相关部分得到削弱,从而提取出有用的信号,所以信号的相关性和噪声的不相关性对于信噪比的提高影响很大。延迟时间不同则信噪比的改善程度也不相同,这是因为信号在不同时刻的相关性不同,t时刻的信号s0和t+τ时刻的信号s1相关性越强,则信号越容易从噪声中提取出来。
  以采样周期T对语音波形进行采样,得到语音信号5(k)(k=0,1,2,…)。当前时刻的样本值s(k)与邻近的L个过去时刻的样本值s(k-1),s(k-2),…,s(k-L)相关,即s(k)可由s(k-i)(i=1,2,…,L)的线性组合近似表示为:
  
  通常情况下,语音信号sk被加性的环境宽带噪声nk污染,实际采样得到的信号xk可以表示为xk=sk+nk。虽然语音信号受到宽带噪声的影响,但在一定程度上,实际信号仍然保存着语音信号所存在的相关性,只是由于噪声干扰,使得相关性有所减弱。因此,采用作为sk线性预测的近似值。
  
  系数权向量Ak通过均方误差性能函数测度法调节,使得:
  
  为最小。由于宽带噪声与语音信号不相关,且宽带噪声在不同时刻的自相关系数也非常小。
  因此:
  
  从上式可以看出,ε(Ak)是一个Ak的二次性能函数,必然存在全局最佳点。当Ak=Akopt时,ε(Ak)达到最小,则也达到最小,因此,最逼近Sk值。
  一般梯度估值的自适应算法要从统计样本中进行估计。实时情况难以实现梯度估值计算。LMS算法是直接利用单次采样数据|εk| 2来代替期望值E[|εk|2]的简化方法来进行梯度估值计算。
  2 算法改进
  LMS算法的计算复杂度主要来自于在进行系数更新时执行的乘法运算,以及对自适应滤波器输出的计算。在需要自适应滤波器高速工作的应用中,如语音降噪,使硬件的复杂度最小是很重要的。同时,噪声种类的多样性导致语音降噪的复杂性,这对算法的收敛性也提出了更高的要求。
  为了简化LMS算法并加速算法的收敛性以达到更好的降噪效果,结合基于线性预测的FIR自适应滤波器的特点,本文对LMS算法作出改进:
  
  
  式中:sgn[·]为符号函数,参数α和β是2的幂,是用来修正系数向量的,当α>1,增大系数向量的调整;当α<1,则减小系数向量的调整;β的作用同α,如何选择要视输入信号信噪比情况而定。选择合适的α和β有助于改善算法的收敛特性。系数向量的初始化要尽可能接近或者在滤波器正常工作时的系数变化范围之内,这有助于自适应滤波器的性能稳定,缩短收敛时间。由于参数α和β是2的幂,则系数的更新可以利用简单的乘法来实现,基本上是由比特移位和相加运算组成的,降低了LMS算法的计算复杂度。
  算法的程序流程图如图2所示。
  
  3 仿真及结果分析
  为验证基于线性预测的自适应语音滤波器的有效性和改进算法的效果,本文采用MATLAB软件进行仿真,仿真计算后的降噪效果用下面的语音信号波形说明。
  采用在4种背景噪声下现场录制的带噪语音(采样频率均为8 kHz)进行仿真实验,图3~10的降噪效果仿真图中,(a)为带噪语音信号波形,(b)为采用原LMS算法滤波后的语音信号波形,(c)为采用改进的LMS算法滤波后的语音信号波形。
  第一种,背景噪声为白噪声,噪声类型属理想的平稳宽带噪声;
  第二种,背景噪声为电台噪声,噪声类型属近似平稳宽带噪声;
  图3、4分别为信噪比约9 dB、6 dB的白噪声降噪效果仿真图,图5、6分别为信噪比约9 dB、6 dB的电台噪声降噪效果仿真图。由图可以看出,白噪声和电台噪声得到了大幅度的抑制,信噪比提高约8 dB的以上,采用改进的算法比原算法噪声抑制得更大,降噪效果更好;在听觉效果上,此算法提高了语音的清晰度和可懂度,虽有很小的失真,但对听觉影响不大。
  
  
  第三种,背景噪声为报警器噪声,噪声类型属非严格周期窄带噪声;
  
  第四种,背景噪声为2 000 Hz单频噪声,噪声类型属严格周期窄带噪声;
  图7、8分别为信噪比约9dB、6dB报警器噪声降噪效果仿真图,图9、10分别为信噪比约9 dB、6 dB的2 000 Hz单频干扰噪声降噪效果仿真图。由图可以看出,报警器噪声和2 000 Hz单频干扰噪声也得到了大幅度的抑制,信噪比提高约10 dB以上,采用改进的算法比原算法噪声抑制得更大,降噪效果更好;由于窄带噪声频率成分比宽带噪声简单得多,自适应算法可以更快地收敛,所以可把噪声滤除得比较干净;在听觉效果上,此算法提高了语音的清晰度和可懂度,很好地保持了语音的自然度,失真很小,对听觉的影响可忽略不计。
  
  
  4 结束语
  通过多次高噪音环境下的实验得出,基于线性预测的FIR自适应滤波器结合改进的LMS算法对平稳噪声、信噪比在6 dB以上的带噪语音具有较明显的降噪效果,信噪比提高可达8~10 dB以上;在听觉效果上,此算法提高了语音的清晰度和可懂度,但语音略有失真,对语音自然度有一定程度的影响,这是由于线性预测的结构以及LMS算法本身的缺陷所致,有待日后改进。本文提出的LMS改进算法思想巧妙,降低了原LMS算法的计算复杂度,加快了程序在DSP上运行的速度,便于DSP实时实现。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分