APP下载

基于变换域稀疏度量的多级FrFT语音增强

2020-09-29范珍艳庄晓东李钟晓

计算机工程与设计 2020年9期
关键词:阶数傅里叶信噪比

范珍艳,庄晓东,李钟晓

(青岛大学 电子信息学院,山东 青岛 266071)

0 引 言

语音增强技术可有效地消除周围干扰噪声,提高语音质量,保证语音通信及人机交互的正常进行[1]。目前已经提出了很多语音增强算法,传统的卡尔曼滤波法、维纳滤波法和谱减法等语音增强方法对平稳噪声的抑制效果较好,但是非平稳噪声环境中很难从带噪语音中分离出纯净语音信号[2]。近年来,小波变换[3]、神经网络[4]已在语音增强方面得到了广泛的应用,这两种方法也有或多或少的不足,例如小波变换中固定的小波基不能适应语音信号的随机变化,神经网络法所需样本量大,计算复杂度高。

变换域语音增强方法是实际应用中大量采用的方法,但传统的变换域存在无法将语音信号和噪声完全分离的问题,分数阶傅里叶变换(fractional Fourier transform, FrFT)可实现较灵活的时频平面上的分析,因此基于 FrFT 的语音增强方法也是一种比较有效的语音降噪方法。FrFT反映了信号在时频域的信息[5],通过旋转时频轴可将语音信号和噪声在分数阶域分离。文献[6,7]提出了基于单级FrFT的语音增强算法,在某一个特定的FrFT域估计滤波器或硬阈值法进行滤波,但实际上在复杂噪声环境中单个分数阶域也很难将语音信号和噪声完全分离,不能完全地去除噪声,需要多次旋转时频轴将语音信号和噪声在多个最优FrFT域尽最大可能地分开。而且FrFT变换的最优阶数确定一直是未能很好解决的瓶颈问题,因此本文针对上述问题,结合语音信号在变换域的稀疏特性,提出了基于稀疏度量的多级FrFT语音增强方法,高效地确定多个最优变换阶数,并在多个分数阶域逐帧滤波,可有效地去除噪声,提高语音质量。

1 分数阶傅里叶变换

分数阶傅里叶变换是用单一变量表示时频信息的线性变换,避免了常用二次型时频分布的二次变换交叉项干扰问题,是一种时频分析工具[8]。对于非平稳信号,仅用傅里叶变换并不能很好地分析其局部特征,而FrFT对信号具有很强的聚集性,所以可以选择信号最集中的角度去分析信号特性。在同等条件下,FrFT可得到比传统时频分布更好的效果,而且有更好的分辨率。目前分数阶傅里叶变换已经广泛应用于雷达、通信、信息安全等领域。信号的α阶傅里叶变换可以理解为信号在时频平面内坐标轴绕原点逆时针旋转β=απ/2角度后构成的分数阶域上的表示方法[9]。

信号x(t)的α阶傅里叶变换表示为[10]

(1)

由分数阶傅里叶变换的周期性和阶数可加性可知,当α=0时, F0[x(t)]=x(t) 是原信号,当α=1时, F1[x(t)]=X(f) 是x(t)的普通傅里叶变换,当α=-1时, F-1[x(t)]=X(-f) 是x(t)的普通傅里叶逆变换。

分数阶傅里叶变换的特征向量是Hermite-Gaussian函数ψn(t)

Fα[ψn(t)]=e-iαnπ/2ψn(tα)

(2)

式中:n阶Hermite-Gaussian函数为

(3)

核函数可以表示为

(4)

将连续时间函数对应到离散时间函数中,可得离散分数阶傅里叶变换矩阵为

(5)

式中:uk[n] 为第k个Hermite-Gaussian函数, (N)2≡Nmod 2,N为信号的样本点数。离散分数阶傅里叶变换也具有与连续时间分数阶傅里叶变换相同的性质,因此当α=1时,是普通的离散傅里叶变换。

2 FrFT域语音增强

分数阶傅里叶变换对信号在变换域有一定的能量聚集性,且其能量聚集性与变换阶数有关,在最优阶数下能量聚集性最好。本文对若干单音信号及噪声进行了FrFT时频分布实验分析,对每个信号计算阶数α从0到1之间的1000个阶数值之下的FrFT变换;并基于FrFT可看作在时频平面上旋转的解释,画出各阶变换在时频平面上的分布图(图1中扇形区域),结果表明分数阶傅里叶变换对浊音和清音都有一定的能量聚集性,如图1(a)、图1(b)所示,而分数阶傅里叶变换对噪声的能量聚集性差,如图1(c)所示,这个差异可被用于语音增强算法设计。

图1 时频域能量分布

2.1 基于变换域稀疏度量的最优阶数确定

最优阶数的确定是进行FrFT域语音增强的必要前提,目前常用的方法有最小均方误差(MMSE)法、最大信噪比法等,这些方法通常需要在[0,1]内遍历选取不同阶数,根据滤波后的均方误差值最小或信噪比最大来确定最优变换阶数,计算量较大,因此本文基于信号在变换域具有稀疏性的共性,提出了采用不同分数阶域的稀疏度量确定最优变换阶数的方法,该方法首先对含噪语音信号确定最优变换阶数,在最优阶数下对含噪语音信号做分数阶傅里叶变换并滤波,避免大量的重复滤波运算。信号的稀疏度由向量范数来衡量[11],信号的稀疏性越强,能量聚集性也越强。

对于长度为N的一维信号x=[x1,x2,…xN]T, 它的l0范数可以表示为

(6)

信号的l0范数表示信号中非零元素的个数,而在实际应用中很少有信号的元素绝对为零,且l0范数是非凸性的,求解过程比较复杂,因此l0范数作为信号的稀疏度量方法并不适用。近年来人们提出了lp范数度量信号的稀疏度[12]。信号的lp范数定义如下

(7)

设信号x=[x1,x2,…xN]T的α阶傅里叶变换为FX=Fαx, 则α阶傅里叶变换下的稀疏度表示为

(8)

在[0,1]之间均匀取J个点记作αj(j=1,2,…,J), 计算不同阶数的稀疏度Lj, 则第一级FrFT的最优阶数可表示为αopt=min(Lj),j=1,2,…,J。

第二级α阶傅里叶变换的稀疏度表示为

(9)

同样在[0,1]之间取K个点记作αk(k=1,2,…,K), 计算不同阶数的稀疏度L2k, 则第二级FrFT的最优阶数可表示为α2opt=min(L2k),k=1,2,…,K。 计算单音 /u/ 和白噪声(white)的稀疏度随阶数的变化曲线如图2所示。图2(a)为单音/u/的稀疏度随阶数的变化曲线,在α=0.977处稀疏度最小,即单音 /u/ 的最优变换阶数为α=0.977。图2(b)为白噪声的稀疏度随阶数的变化曲线,在α=0.826处稀疏度最小,即白噪声的最优变换阶数为α=0.826。

图2 单音 /u/ 和白噪声的稀疏度随阶数变化曲线

2.2 单级FrFT域语音增强算法

假设带噪语音模型为

y=x+n

(10)

式中:y,x,n分别为带噪语音信号、原始语音信号和加性噪声,且均是长度为N的列向量。

首先采用分数阶稀疏度量确定最优变换阶数α,则单级FrFT域语音增强的模型如图3所示。

图3 单级FrFT域语音增强模型

去噪后的增强语音为

(11)

式中:Fα(N×N)和F-α(N×N)分别为α阶和-α阶的离散FrFT矩阵,滤波器G(N×N)为对角矩阵,其对角元素为分数阶频率响应g,即g=diag(G)=(g0,g1,…,gN-1)。

为了获得最优的滤波器分数阶频率响应gopt, 本文采用均方误差(MSE)作为优化准则,均方误差定义为

(12)

对带噪语音信号分帧,每帧信号长度为l,每L帧估计一个最优的滤波器响应gopt, 将L帧的均方误差表示为目标函数C(g)

(13)

第i帧含噪语音信号的α阶傅里叶变换为zi=[zi,0……zi,l-1]T=Fαyi, 令Gzi=Zig,zi=diag(Zi), 则目标函数表示为

(14)

将式(14)中目标函数写为

C(g)=gHQg+bTg+c

(15)

为求得最优的滤波器分数阶频率响应gopt, 对式(15)中的目标函数求偏导得

(16)

化简得到

2Qgopt+b=0

(17)

通过求解N阶线性方程式(17)可获得最优的分数阶滤波器频率响应gopt, 在最优分数阶域对含噪语音信号滤波去噪,可获得较好的去噪效果。

2.3 多级FrFT域语音增强算法

单级FrFT域滤波可很好地验证稀疏度量确定最优阶数的准确性,但若信号和噪声在时域和频域均有重叠,如图4(a)所示,在时域或频域滤波并不能很好地去除噪声,旋转时频轴在单个分数阶域可将带噪信号中的信号s(t)和噪声n(t)分离,采用单级FrFT域滤波方法便可很好地去除噪声。而如图4(b)中所示,旋转两次时频轴才能将带噪信号中信号s(t)和噪声n1(t),n2(t)分开,则需要在每次旋转后的相应分数阶域分别滤波以较好去除噪声成分。因此本文提出了基于稀疏度量的多级FrFT域语音增强方法,可以更好地滤除噪声,尽可能地还原原始语音信号。

图4 信号和噪声的Wigner分布

采用分数阶稀疏度量分别确定最优变换阶数α1,α2,…,αM, 多级FrFT域语音增强模型如图5所示。

图5 多级FrFT域语音增强模型

去噪后的增强语音为

(18)

式中:F-αM(N×N),Fαk+1-αk(N×N),Fα1(N×N)为离散FrFT矩阵,滤波器Gk(N×N)为对角矩阵,其元素为:g1,…,gk,…,gM即gk=diag(Gk)=[gk,0,…,gk,l-1]T。

同单级FrFT域语音增强方法相同,对带噪语音信号分帧,帧长为l,每L帧估计一个最优的滤波器分数阶频率响应gk(k=1,2,…M), 定义目标函数为

(19)

式中:θ表示每个阶数下的滤波器响应,即θ={g1,g2,…,gM}。

设ai=Fαk-αk-1Gk-1Fαk-1-αk-2Gk-2…G1Fα1yi,B=F-αMGMFαk+2-αk+1Gk+1, 则目标函数写为

(20)

(21)

将式(21)简化为

(22)

为了获得最优的分数阶滤波器频率响应gkopt, 对式(22)求偏导得

(23)

计算得到

(Q+QT)gkopt+d=0

(24)

本文采用迭代方法求gk(k=1,2,…,M), 步骤如下:

(1)首先初始化所有的滤波器G1,G2,…,GM为单位阵I;

(2)设k=1,通过式(24)求得gk;

(3)求得gk, 即第k个滤波器Gk确定,将B,αi代入式(24)求得gk+1, 然后令k=k+1;

(4)重复步骤(3)直到求得最后的滤波器频率响应gM;

(5)重复步骤(2)到步骤(4)直到得到使均方误差相对够小的滤波器分数阶频率响应gk(k=1,2,…,M)。

3 仿真分析

为了能较好地检测本文语音增强算法的去噪性能,进行以下仿真实验。本文采用的纯净语音材料选自NOIZEUS语音库[13]的‘sp01.wav’语音和‘sp05.wav’语音,背景噪声选自Noisex-92噪声库[14]的粉色噪声(pink),白噪声(white)和F16座舱噪声(f16),采样频率均为8 KHz。对语音信号分帧,帧长取32 ms,帧移为1/2帧长,本文基于语音信号在分数阶域的稀疏性,采用稀疏度量在[0,1]之间每5帧(即L=5)确定最优变换阶数,在最优变换阶数下估计最佳分数阶滤波器频率响应进行单级FrFT域滤波和两级FrFT域滤波去噪。并与现有的一些语音增强方法(维纳滤波法、谱减法、小波去噪、MMSE估计法、子空间法和FrFT域阈值法)进行比较。仿真实验是在Matlab R2014a软件中进行的。

实验1:首先通过语音增强前后波形图,语谱图和主观听觉感受本文语音增强方法的效果。将3种加性噪声(粉色噪声(pink)、白噪声(white)和F16座舱噪声(f16))分别加入两段纯净语音信号(sp01.wav和sp05.wav)得到带噪语音信号,首先采用稀疏度量在[0,1]之间确定含噪语音信号的第一级和第二级FrFT的最优变换阶数。第一级FrFT和第二级FrFT的最优变换阶数随时间变化曲线如图6(a)~图6(l)所示,图6(a)~图6(f)分别为语sp01叠加粉色噪声(pink)、白噪声(white)和F16座舱噪声(f16)的第一级FrFT,第二级FrFT最优阶数变化曲线,图6(g)~图6(l)分别为语音sp05叠加粉色噪声(pink)、白噪声(white)和F16座舱噪声(f16)的第一级FrFT,第二级FrFT最优阶数变化曲线。由图6可以发现第一级阶数主要在0.9-1之间,而第二级阶数主要在 0-0.05 之间。滤波前后波形图如图7所示,图7(a)~图7(i)分别为sp01语音叠加粉色噪声、白噪声和F16座舱噪声滤波前后的波形图,图7(j)~图7(r)分别为sp05语音叠加粉色噪声、白噪声和F16座舱噪声滤波前后的波形图。左图为含噪语音波形图,中图和右图分别为单级 FrFT 域滤波后的波形图和两级FrFT域滤波的波形图,横轴均为时间,纵轴均为幅值。从波形图中可以看出,对于含3种不同噪声的sp01语音和sp05语音,单级FrFT域滤波和两级FrFT域滤波方法均可以有效地去除噪声,取得不错的去噪效果,而且避免了语音和噪声同时被抑制或保留的情况,在去除噪声的同时很好地保留了语音信号的完整性,减小语音失真。从主观听觉感受,单级FrFT域滤波法可以去除部分噪声,但有些许尖锐杂音,两级FrFT域滤波的听音结果可很好地分辨出原始语音信号,可懂度和清晰度均良好。

图6 6种不同含噪语音的最优阶数变化曲线

图7 6种不同含噪语音信号的滤波前后波形

分别做6种不同带噪语音信号及增强语音的语谱图,并进行比较分析。sp01语音含粉色噪声(pink),含白噪声(white)和含F16座舱噪声(f16)增强语音语谱图结果及sp05语音含粉色噪声(pink),含白噪声(white)和含F16座舱噪声(f16)增强语音语谱图结果分别如图8(a)~图8(i),图8(j)~图8(r)所示,横轴均为时间,纵轴均为频率(Hz),语谱图中的点代表信号能量的强度,颜色越深代表该处语音信号的能量越强。左图为带噪语音信号的语谱图,中图和右图分别为单级FrFT域滤波增强语音的语谱图和两级FrFT域滤波增强语音的语谱图。含噪语音的语谱图可以大体看出语谱图的条带特性,但由于噪声的影响,语谱图有些模糊,而单级FrFT滤波和两级 FrFT 滤波增强语音的语谱图条带特性均比较清晰,在有效去除噪声的前提下,清晰地显示出语音信号的谐波结构,表明采用稀疏度量确定最优变换阶数并进行多级FrFT滤波去噪效果明显。

实验2:为更好地验证本文算法的去噪性能,利用本文算法及现有的几种语音去噪方法(MMSE估计法、维纳滤波法、谱减法、小波去噪、子空间方法和FrFT域阈值法)对6种不同的含噪语音进行降噪,计算降噪前后语音信号的信噪比(SNR),结果见表1、表2。表1为含3种不同噪声的sp01语音降噪前后信噪比对比结果,表2为含3种不同噪声的sp05语音降噪前后信噪比对比结果。从表1、表2 的信噪比对比结果可以看出,现有的语音去噪方法及本文的多级FrFT滤波方法的输出信噪比较输入信噪比均有所提高,但本文算法的输出信噪比提高最大,且两级 FrFT 域滤波方法的输出信噪比高于单级FrFT域滤波方法的输出信噪比,较输入信噪比分别提高了8 dB~11 dB,9 dB~13 dB。由此可以看出,本文基于稀疏度量和多级FrFT域滤波算法具有较好的降噪性能,且优于其它几种语音去噪方法。

图8 sp01语音和sp05语音叠加3种不同噪声增强语音语谱图

实验3:分别向纯净语音信号sp01和sp05中加入不同信噪比(-10 dB、-5 dB、0 dB、5 dB、10 dB)的F16座舱噪声(f16)和白噪声(white),采用本文算法及其它几种现有的语音去噪算法(MMSE估计法、维纳滤波法、谱减法、小波去噪、子空间方法和FrFT域阈值法)进行降噪,计算降噪后的输出信噪比见表3、表4。从表3、表4可以看出,加入不同强度的背景噪声情况下,维纳滤波法、谱减法、小波去噪法、MMSE估计法及子空间法的输出信噪比均有所提高,而在背景噪声较强的情况下FrFT域阈值法的输出信噪比提高较大,在背景噪声较弱的情况下,FrFT域阈值法的输出信噪比提高较小,甚至在输入信噪比为-10 dB时,输出信噪比低于输入信噪比。本文多级 FrFT 域滤波算法的输出信噪比均有较大提高,且高于其它几种去噪方法的输出信噪比,单级FrFT域滤波,两级 FrFT 域滤波的输出信噪比依次递增,表明在不同强度的背景噪声情况下,本文的多级FrFT域滤波方法具有良好的降噪性能。

表1 含3种不同噪声的sp01语音降噪前后的信噪比结果

表2 含3种不同噪声的sp05语音降噪前后的信噪比结果

实验4:对数谱失真测度(LSD)是一种语音失真程度的评判方法,LSD的结果值越小,则表明增强语音越接近于原始语音,增强语音质量越好[15]。向纯净语音sp01和sp05中加入不同信噪比(-10 dB、-5 dB、0 dB、5 dB、10 dB)的白噪声(white)、粉色噪声(pink)和F16座舱噪声(f16),采用其它几种语音去噪算法及本文方法降噪后,作增强语音和原始语音的对数谱失真测度对比如图9所示。图9(a)~图9(c),图9(g)~图9(i)分别为sp01语音和sp05语音叠加3种不同的噪声后采用其它几种去噪方法和本文的多级FrFT域滤波方法的LSD对比,图9(d)~图9(f),图9(j)~图9(l)分别为sp01语音和sp05语音叠加3种不同的噪声后本文FrFT域滤波方法的LSD对比。从图9可以看出,谱减法去噪后增强语音的失真最严重,维纳滤波法,子空间法,FrFT域阈值法,MMSE估计法及小波去噪法的失真测度依次低于谱减法,但均高于本文多级FrFT域滤波算法滤波后增强语音的失真测度。观察FrFT域滤波方法的LSD对比图发现,两级FrFT域滤波的失真测度小于单级FrFT域滤波的失真测度,表明采用基于稀疏度量的多级FrFT域滤波方法后的增强语音失真最小,更接近于原始语音。

表3 含不同信噪比F16座舱噪声的sp01语音降噪后信噪比

表4 含不同信噪比白噪声的sp05语音降噪后信噪比

图9 sp01和sp05语音叠加3种不同强度噪声去噪后的LSD对比

4 结束语

本文提出了一种基于稀疏度量的多级FrFT域语音增强方法,可利用稀疏度量准确确定最优变换阶数,在多个最优分数阶域将语音信号和噪声分开,根据语音和噪声的特性逐帧估计滤波器滤波可有效去除噪声。将本文算法与现有的几种语音去噪方法(MMSE估计法、维纳滤波法、谱减法、小波去噪、子空间方法和FrFT域阈值法)作比较分析,仿真结果表明,本文的多级FrFT域语音增强方法可以有效地去除噪声,提高信噪比,且输出信噪比明显高于其它几种语音去噪方法。即使在背景噪声强度较高的情况下也可以有效地去除噪声,提升语音的可懂度和清晰度。对比不同强度噪声情况下增强语音和原始语音的对数谱失真测度,验证了本文算法的对数谱失真测度明显低于其它几种语音去噪方法。

本文基于稀疏度量的多级FrFT域语音增强算法不需要事先知道噪声的统计信息,且利用语音信号在分数阶域的稀疏性,采用稀疏度量确定最优变换阶数,降低计算量,提高算法的执行效率。通过均方误差最小原则估计最优的分数阶滤波器频率响应,避免了阈值选择的问题。本文算法实现高效,具有较好的鲁棒性,在其它类型信号去噪中也具有良好的应用潜力。

猜你喜欢

阶数傅里叶信噪比
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
确定有限级数解的阶数上界的一种n阶展开方法
法国数学家、物理学家傅里叶
基于深度学习的无人机数据链信噪比估计算法
一个含有五项的分数阶混沌系统的动力学分析
双线性傅里叶乘子算子的量化加权估计
复变函数中孤立奇点的判别
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
任意2~k点存储器结构傅里叶处理器
基于傅里叶变换的快速TAMVDR算法