一种利用频谱减法抑制噪声的数字滤波器设计方法和装置 【技术领域】
本发明涉及一种数字滤波器设计,尤其是频域内滤波器的设计。背景
在几例应用中,频域内数字滤波器H[k]是在“匆忙中”设计的。一个例子是利用频谱减法地噪声抑制。另一个例子是用于副像消除的频率选择非线性处理器的设计。这些应用的特有特征是滤波器设计方法非常复杂。由于滤波器频繁更新,给执行这些设计算法的硬件/软件带来了沉重的负担。
参考文献[1]描述了一种方法,该方法把频域k分成等长或不等长的几段,并且对每一段内的H[k]和噪声或回波污染的语音信号的基本功率谱密度估算值Φx[k]作用一个常量值。这就减少了复杂性,因为只需对频段而不是对每一个频率元(frequency bin)k确定滤波器H[k]。但是,这一方法也有缺点,即可能把H[k]的一个峰拆分为两个不同的段。这可能会引起波动峰,而产生恼人的“音乐噪声”。也会降低频谱的锐度,进一步降低语音质量。概述
本发明的一个目的是减少或消除现有技术的这些缺点。
根据所附的权利要求,可实现这一目的。
简要地,本发明使段的长度和位置动态地与语音信号功率谱的当前形状相适应。该谱的峰和谷被确定,该方法保证在频域内分配各段时峰不被拆分在不同的段内。优选地,每一个峰由峰居于其中央的段覆盖。段长优选地由人类听觉系统的频率特性来控制。
这一方法的优点是,既降低滤波器计算的复杂性,又不牺牲在重要谱峰的精确性。而且,该方法也减小了帧与帧之间谱的变化,从而提高语音质量。附图的简要说明
参考下列附图和其说明,本发明及其其它的目的和优点可得到很好的理解,其中:
图1示出有噪声的语音信号的功率谱密度估算值图;
图2示出根据现有技术分段和求平均后,图1中功率谱密度估算值图;
图3是与图1相似的图;
图4示出根据本发明分段和求平均后,图1中功率谱密度估算值图;
图5是根据本发明的方法的典型实施方案的流程图;和
图6是根据本发明的滤波器设计和滤波设备的典型实施方案的方框图。发明详述
在一些应用中,滤波器在频域中确定。例如,在电话应用中,经常使用基于频谱相减的噪声抑制(见[2,3])。这种情况下滤波器作为频率的函数H(ω)被确定:H(ω)=(1-δ(Φ^v(ω)Φ^x(ω))α)β]]>其中α,β,δ是常数,和分别为纯噪声和有噪声的语音的功率谱密度的估算值。这一表达式从下述模型得到:
x[n]=y[n]+v[n]其中v[n]是噪声信号,x[n]是有噪声的语音信号,y[n]是欲得信号。通过把H(ω)代表的滤波器应用于有噪声的信号x[n]就得到了欲得信号y[n]的估算值。
另一个滤波器在频域中被确定的应用实例是用于副像消除的频率选择非线性处理器。在这种情况中,滤波器由下述函数定义:H(ω)=f(Φ^x(ω),Φ^e(ω))]]>其中代表被残余回波污染的信号x[n]的功率谱密度的估算值,代表残余回波信号e[n]的功率谱密度的估算值。一个恰当函数f的例子是上述的用于噪声抑制函数,在此代表被残余回波污染的信号的功率谱密度估算值,则被残余回波功率谱密度的估算值所代替。滤波器H(ω)基于以下模型:
x[n]=y[n]+e[n]其中y[n]是欲得信号。通过把H(ω)代表的滤波器应用于被残余回波污染的信号x[n],就得到欲得信号y[n]的估算值。
在上述的实例中,滤波器由一个实值连续频率传递函数H(ω)描述。这一函数被采样得到离散频率传递函数H[k]。典型地当估算值基于参数估算法时,执行该步骤。但是,也可能直接得到离散频率传递函数H[k],例如通过使用基于估算法的周期图。参数估算法的一个优点是,其估算值在帧与帧之间的变化一般低于基于方法的周期图的估算值。
下列描述将限于噪声抑制,但是可以理解的是,同样的原理也可用于其他应用,如副像消除。
离散频率功率谱估算值首先公知地具有高频率分辨率,典型地为128或256频率元。图1示出有噪声的语音信号的功率谱密度估算值在这里具有256频率元。该频谱由参数估算法(典型地为一种自动回归模型,例如指令10)得到。如果滤波器传递函数H[k]欲以同样的分辨率来确定,这将给执行上述噪声抑制算法的硬件/软件带来巨大的计算量。根据[1],频率范围因此被分成恒定长度的段,并且在每段中形成的平均值,如图2所示。在计算H[k]时,该平均值代替相似的分段的和求平均的估算值代替这样,由 H[Segment]代表,并由公式H‾[segment]=(1-δ(Φ‾^v[segment]Φ‾^x[segment])α)β]]>定义的H[k]的单个值就可以用于整个段而不仅仅是一个k值。这一方法的缺点是由于段的恒定长度和位置,使得频谱的重要峰可能被拆分在几段内,如图2所示的MAX2和MAX3。这会引起这些峰的低分辨率。而且,由于从语音帧到语音帧,这些峰的位置可能移动,则它们有时被分开而有时不被分开,这将导致非常恼人的“音乐噪声”。
如下列典范的算法所示,本发明通过使段的长度和位置动态与当前估算值的形状相适应来解决这一问题。简要地,算法由找到的局部极大(峰位)和局部极小(谷位)而开始。然后使每个极大居于段的中央,并在峰之间分配段以覆盖谷。当定位极大和极小时,基于自动回归的参数频谱估算尤其吸引人,因为这样的频谱确保具有至多M/2个峰,其中M是模型指令。
优选地,使单个段的长度适应于人类听觉系统的特性,这在[4]中已经研究过。基于这一信息,可得到下列段中心fc和段长度的关系(其中频率范围为256元,采样频率为8000Hz,这样获得的频率分辨率为31.25Hz/bin)。
转化为离散频率域k,则给出:
利用这一关系,下列在图5中也示出的算法可利用动态确定的段长和位置来确一个分段的和求平均的滤波器传递函数H[k]:
S1:得到下一个x[n]的信号块
S2:确定信号块的
S3:确定的局部极大和极小
S4:设第一极大的k值为kmax
S5:设第一极小的k值为kmin
S6:设kc=kmax
S7:在以kc为中心的Segment[kc]内确定的平均值。
确定同一段中的平均值
用求平均的和确定 H[segment]
S8:如果kc-segment(kc)/2>kmin,则执行S9-S10
S9:设kc=kc-segment(kc)(在segment(kc)中用旧值kc)
S10:在以kc为中心的Segment[kc]内确定的平均值。
确定同一段中的平均值
用求平均的和确定 H[segment]
跳转到S8
S11:设kc=kmax
S12:设下一个极小的k值为kmin
S13:如果kc+segment(kc)/2<kmin,则执行S14-S15
S14:设kc=kc-segment(kc)(在segment(kc)中用旧值kc)
S15:在以kc为中心的Segment(kc)内确定的平均值。
确定同一段中的平均值
用求平均的和确定 H[segment]
跳转到S13
S16:如果kmax是最后一个极大值,跳转到S1
S17:设下一个极大的k值为kmax,并跳转到S6
把这一算法用于图1的频谱,产生图4中分段的和求平均的频谱。如其所示,图4中局部极大位于:
MAX1:k=20
MAX2:k=41
MAX3:k=73
局部极小位于:
MIN1:k=0
MIN2:k=31
MIN3:k=61
MIN4:k=128
例如,把以上算法应用于第二个极大值k=41处,给出以k=41为中心的一个5元段,再给出该极大值左侧的两个5元段,以及该极大值的右侧的两个7元段。当把图2与图1比较时,会发现覆盖峰的段总是以峰为中心。还会发现,越低的频率导致越短的段。如上所见,如果从帧到帧,峰改变了位置,该算法将保证段仍以峰为中心,并且段宽适合于峰的位置。
图6示出的是根据本发明的滤波器设计装置的典范的实施方案方框图,这里用于利用频率谱减法的噪声抑制。有噪声的语音信号采样值x[n]流被传入收集信号瞬时值块或帧的缓存器10。频谱估算器12找到该块的AR参数并利用这些参数来确定有噪声的语音信号x[n]当前块的功率谱密度估算值典型地,这一估算值具有128或256个信号采样值。极大-极小检测器14在估算值中搜索局部极大值和极小值。局部极大值和极小值的位置被传入根据参考图5所述方法分配各段的段分配器18。段的位置和长度被转入平均器20。平均器20接收估算值的采样值,并在每一个特定的段形成平均值。在一个没有语音的块期间,背景噪声信号v[n]的一个块被收集于缓存器22中。频谱估算器24找到该块的AR参数并利用这些参数来确定该背景噪声信号v[n]块的功率谱密度估算值这一估算值具有与估算值同样数量的采样值。来自段分配器18的段的位置和长度也被传入另一个平均器26。平均器26接收估算值的采样值,并在每个特定的段形成平均值。平均器20、26都把每一段的平均值传入确定每一段滤波器传递函数值的滤波器计算器28。这将产生由块30代表的分段的滤波器 H[k]。该滤波器被传入乘法器32的一个输入端。缓存器10中的信号块也被传入到把决变换到频域的快速傅立叶变换(FFT)块34。变换后的块的长度与分段的滤波器的长度相同。变换后的信号传入乘法器32的另一个输入端在乘法器32中它与分段后的滤波器相乘。最后,滤波后的信号在快速傅立叶反变换(IFFT)块36中被变换回到时间域。
典型地,图6中不同的块由一个或几个微缩处理器或,微/信号处理器的组合来实现。但是,它们也可由一个或几个ASIC(应用专门集成电路)来实现。
相似的结构可用于副象消除中的非线性滤波。这种情况下,x[n]代表残余回波污染的信号,v[n]则由残余回波e[n]的估算值所代替。另一个差别是,这种情况下,估算值和出自同一个语音帧(在利用频谱减法的噪声抑制中,噪声频谱被认为是静态的且在语音停顿期间进行估算)。
那些本领域的技术人员应当理解的是,不偏离所附权利要求其所限定的范围,可对本发明作出各种各样的修改和改变。参考文献[1]美国专利第5,839,101号(A.Vihtalo et al)。[2]J.S.Lim和V.V.Oppenheim,“含噪声的语音增强和带宽压 缩”,IEEE学报,卷67,第12,1979期,1586-1604页。[3]S.F.Boll,“利用频谱减法抑制语音中的噪声”,IEEE期刊,
并于声学,语音和信号处理,卷ASSP27,第21979号,113
-120页。[4]U.Zlser,“数字音频信号处理”,John Wiley & Sons, Chichester,英国,1997,252-253页。