人们对噪声已经作了深入研究[1].一般应用较为广泛的抗噪措施包括:互补式动态压括降噪、非互补式动态压括降噪、滤波降噪、电源处理降噪、软件处理降噪等.对语音处理系统而言,不是所有的降噪系统在所有情况下效果都良好,例如,有些全声频段的降噪系统(杜比C就是其中的一种),反而对低频段的噪声消除很不得力.因此,我们应针对语音处理系统的具体情况,有的放矢地进行噪声分析以找出消除方法.
系统噪声消除,首要问题在于找出存在的或隐含潜在的主要噪声源,然后设法消除该噪声源,这是治本的方法.对于噪声来源不很明确或不好解决的情况,则应分析噪声特性,采用相应措施降低噪声,提高系统最终信噪比,这是治标的方法.
目前的语音处理系统一般应用微处理器处理语音数据,其基本构造如图1所示.系统包含两个模块:模拟模块和数字模块.这种结构使带微处理器的语音系统的噪声问题具有一定的特殊性.事实上,数字模块工作所引发的周期性冲激噪声,是语音系统噪声的一个重要来源.
克服这种周期性冲激噪声可以在不同层次上采取措施.该噪声是以电源通道为传播途径的,对电源的处理应放在首要位置,这就是前面所说的“治本”;而“治标”也不能忽视,因为电源一般并不可能处理得尽善尽美.为减小已经混入了待处理语音数据中的冲激噪声的影响,可以采用数字中值滤波或LOR滤波.在信号最终的输出端,采用模拟的窄带滤波降噪以及动态降噪,可以收到很好的效果.
下面通过对一种具体语音处理系统样机的实验和理论分析,讨论这一具有普遍意义的问题.
1 带微处理器语音系统的冲激噪声
带微处理器的语音系统的噪声源中,周期性冲激噪声是具有共性的一项.冲激噪声来自两方面,其一为TTL逻辑电路引发的小浪涌冲激电流,其二为微处理器数据传输的大浪涌冲激电流.
1.1 TTL逻辑电路引发的小浪涌噪声分析
一般的数字系统,主要由TTL逻辑电路构成.在TTL电路中,局部电流状态取决于器件的逻辑状态、外接负载电阻电容以及输出瞬时导通等因素.图2给出了TTL电路输出结构和瞬态电流产生示意图,其中,Vcc为电路电压,Vo为输出电压,Icc为电源供给该局部电路的电流,I为该局部电路输出(输入)电流.注意到,输出电压从低电平到高电平转换时将产生较大的瞬态电流值,图2a就是这种情况;特别地,高速TTL电路的浪涌电流因其持续时间较短而具有更大值.大多数情况下,负载电容充放电引起的浪涌电流比其他因素产生的浪涌电流对电源的影响大得多.因此,对设计者而言,主要应控制负载电容,在电路布线时应尽量减少不必要的散杂电容.
当然,由于大量TTL微电路一般并不可能恰好协调一致,从而导致局部浪涌电流汇聚为大的冲激电流,所以TTL逻辑电路引发的散布的小浪涌冲激电流的影响并不很大,可以通过加滤波电容的方法滤除(下面将具体描述).但是,这可以作为其他冲激电流的基础原理模型.
1.2 微处理器数据传输引发的周期性冲激噪声
该语音处理系统采用现代DSP芯片为微处理器,配备了SRAM为外置存储器,系统带A/D采集器,语音信号经A/D之前先经过预放大.系统的语音采样频率为标准的8kHz,采取两种工作模式,一种是以语音信号单样点为单位的样点处理模式,另一种是以128个语音信号样点(16ms语音)为一帧来传输处理语音的帧处理模式.
测量该语音系统的背景噪声分布,如图3所示.噪声由两部分组成,其一为常规的白噪声,其二为明显的周期性冲激噪声.图中,VIF为周期性冲激噪声的峰峰值,VGF为背景高斯白噪声的峰峰值,T为周期性冲激噪声的周期.测量不同工作模式及系统不同位置处的噪声峰峰值,如表1、表2所示.
表中,“+5V”表示所测量位置在各芯片的电压引脚处,“A/D模拟输入”表示所测量位置在模数转换芯片的模拟信号输入脚.
更加值得注意的是,系统不同处理模式下的周期性冲激噪声的周期为:
样点处理模式下,T=0.125ms (1)
帧处理模式下, T=16ms (2)
从以上实际测量的背景噪声的波形及其数据中可知,本语音处理系统性能样机中冲激噪声起主要影响,且与系统数据传输关系极其密切.首先,系统工作在样点处理模式下时,微处理器的数据传输以语音信号单样点为单位,因而冲激噪声的周期为1/8000s=0.125ms;工作在帧处理模式下时,数据传输以帧为单位,一帧含语音样点128个,因而冲激噪声的周期为1/8000×128s=16ms.实际测量值就是所分析的数值.其次,观察不同处理模式下VIF和VGF的大小,可以发现,SRAM芯片处的背景噪声(特别是冲激噪声)的峰峰值最大.可以认为,污染系统电源的冲激噪声主要由数据出入频繁的SRAM区传出.第三,系统帧处理模式下的噪声一般比样点处理模式下的相应位置处的噪声小.其原因在分析TTL逻辑电路引发的小浪涌噪声中已经提及,即高速处理引发的浪涌电流因其持续时间较短而具有更大值.
所以,微处理器数据传输所引发的周期性冲激噪声,是带微处理器的语音系统不可忽视的重要噪声来源.
2 周期性冲激噪声的处理
从根本上,周期性冲激噪声是数字模块工作时,所需功率的峰值,通过电源对模拟模块产生了污染.因此,处理系统电源是解决问题的核心.另外,为减小冲激噪声对语音数据的不利影响,软件在处理含冲激噪声的数据时,可先行采取数字滤波措施.在语音系统最终输出语音时,还可以加上业已相当成熟的模拟滤波降噪和动态降噪手段.
2.1 系统电源处理
彻底解决周期性冲激噪声的方法是采用独立功能块供电,将语音处理系统的数字模块和模拟模块分开供电,如图4所示,以切断数字模块通过电源对模拟模块的影响.
表1 样点处理模式下系统背景噪声的峰峰值
微处理器+5V | SRAM+5V | 预放大+5V | A/D模拟输入 | |
VIF/mV
VGF/mV |
200
100 |
360
200 |
220
140 |
150
100 |
光电耦合[3]的主要优点是能有效地抑制尖峰噪声干扰,从而使数据通道上的信噪比(噪声为冲激噪声)大大提高.光电耦合器的输入阻抗很小,一般在100Ω至1kΩ之间,而干扰源内阻很大,通常为105~108Ω,因而,能进入光电耦合器输入端的噪声很小.而且,冲激噪声虽有较大的电压幅度,但能量小,仅能形成微弱电流,而光电耦合器输入部分的发光二极管是在电流状态下工作,即使电压幅值的干扰很高,由于不能提供足够的电流,冲激噪声可被抑制.同时,光电耦合器作为系统模拟模块和数字模块之间的隔离器件,其输入是数字的比特流,并不影响系统原来的数据传输.
表2 帧处理模式下系统背景噪声的峰峰值
微处理器+5V | SRAM+5V | 预放大+5V | A/D模拟输入 | |
VIF/mV
VGF/mV |
160
40 |
300
60 |
200
80 |
120
40 |
为提高数据传输速率的上限并确保信号的准确性,可以采用高速光电耦合器[4],其数据传输速率可达1Mb/s,而超高速光电耦合器可以提供大于10Mb/s的数据传输速率.作为语音系统模拟模块和数字模块之间的桥梁,一般足够了.
同时,数字模块自身应尽可能抑制TTL浪涌电流和传输数据引发的冲激噪声.设计系统时,可以在器件的电源和地线间加入平滑电容.
为了滤除TTL电路工作引入的分布浪涌电流,可把数字模块电源总线设计为一种带分段电容滤波的馈电线,以提供各器件一条浪涌电流的低阻抗通路.为了有效地滤波和去耦,所接电容的容量必须能在瞬态电流的重复周期内保证“展平”浪涌电流.通常使用图6所示的配电和去耦的连接方法,即用低频滤波电容C1和高频滤波电容C2并联.低频大容量电容C1可取为1~10μF.对高频电容C2,在下述合理假设下[2]:
·浪涌电流强度ΔIcc=50mA(3)
·电源电压允许脉动幅度ΔV≤0.1V(4)
·浪涌电流持续时间Δt=20ns(5)
有:
即一般标识的103电容.
对微处理器数据传输产生的冲激电流,采用的滤波电容容量应该大些.根据表1和表2的数据,取电压脉动幅度ΔV′=200mV,实测冲激噪声持续时间Δt′=20μs,冲激电流强度仍取ΔI′cc=50mA,这时,
取5μF左右的电容(如4.7μF)接在数据RAM芯片的电源线附近,对平滑冲激电流,有一定效果.
由此,得到系统布线设计时加入去耦电容的常规做法[3]:
a.电源输入端跨接10~100μF的电解电容器;
b.原则上每个集成电路芯片,在电源和地线之间,都应安置一个0.01μF的陶瓷电容器;
c.每4~10个芯片,安置一个1~10μF的钽电容;
d.对RAM芯片、EPRAM芯片等周期性读取数据的器件,适当加大滤波电容.
2.2 软件处理冲激噪声
软件处理周期性冲激噪声,可以避免在数据处理中因为冲激噪声污染数据而导致系统处理性能下降.常用的算法有中值滤波、LOR滤波[5]等.根据冲激噪声具有的周期性,我们也可以在测知其周期的情况下用陷波器滤除.陷波器实现复杂,我们介绍简单高效的中值滤波和LOR滤波,它们都是非线性滤波算法,可有效抵抗冲激噪声,同时尽可能保持原来语音信号的高频分量,如陡峭边界和较剧烈的变化等.
中值滤波[5]一般使用标准中值滤波器(SMF)和回归中值滤波器(RMF).算法如下:设{x(.)}和{y(.)}分别表示待滤波的输入和已滤波后的输出,中值滤波器使用取数窗长2N+1,那么,SMF的输出为:
y(k)=Med{x(k-N),Λ,x(k),Λ,x(k+N)}(8)
其中Med.表示取中值.RMF的输出为:
y(k)=Med{y(k-N),Λ,y(k-1),x(k),Λ,x(k+N)}(9)
LOR滤波[5]指“参考最后输出滤波”.算法如下:对输入{x.},取数窗长为W,则输出y(k)为取数窗口中和最后一个输出数据y(k-1)最接近的样点值,即:
y(k)={x(k+i)││x(k+i)-y(k-1)││x(k+j)-
y(k-1),j≠i,0≤j
为了在滤除冲激噪声基础上尽可能地保留原信号的高频分量,滤波通常需结合判界算法,即:输入为x(k),初步滤波输出为y(k),最终输出为z(k),那么,
其中TH是设定的先验门限值.
中值滤波和LOR滤波都只使用简单的比较大小运算,实现算法不复杂.根据文献[5]和我们在实际系统中的应用,LOR滤波的处理结果更令人满意.
2.3 后级降噪处理
后级降噪处理是应用于模拟模块的通用降噪措施,对“治标”性质的压制周期性冲激噪声,有良好的效果.
如上所述,周期性冲激噪声的周期取决于微处理器的工作状态,和外部数据存取关系密切.如我们的语音处理系统性能样机,样点处理模式下的冲激噪声的频率为8kHz,属高频噪声;帧处理模式下的冲激噪声的频率为62.5Hz,属低频噪声.这种情况是具有共性的,因为语音处理系统的采样频率一般为8kHz(少数为10kHz),而采取帧处理模式工作时,一帧数据一般为64个样点至256个样点,因此,主要周期性冲激噪声的频率都在语音频带300Hz~3.4kHz之外.我们可以幸运地采用窄带滤波技术滤除这些带外噪声.
滤除了冲激噪声的带外能量之后,带内谐波噪声可以采用非互补式动态降噪器件进一步抑制.动态降噪是频率跟踪型降噪器,根据带内噪声随带宽成正比和掩蔽原理工作,过程为:当信号电平较高时,电路频率响应具平直特性;而当信号电平较低时,电路频率响应具高频衰减特性.信号通道带宽随输入信号电平而变化,信号电平越小,带宽越窄.由于人耳具有掩蔽效应,对小音量时的高频信号感觉较迟钝,此时压制高频分量不会感觉高音不足,听觉上没有损失;但小音量时的噪声一同被衰减,从而达到了降噪的目的.
窄带滤波降噪和动态降噪可如图7相互配合.
我们在上述语音处理系统的性能样机上使用NS公司的单片语音PCM滤波器TP3040实现窄带滤波,采用应用广泛的LM1894实现动态降噪.根据我们的实验,TP3040的窄带滤波效果很好,在帧处理模式下,TP3040输入信号中所含的帧频冲激噪声的峰峰值为200mV,白噪声峰峰值为120mV,经TP3040滤波后,输出信号中只剩带内噪声,其峰峰值为60mV.同时,TP3040可以提供带内信号增益,我们设置为6dB,因此,经过TP3040窄带滤波,信噪比提高超过16dB.LM1894一般可以提供近10dB的降噪效果.在电源未做特殊处理条件下(即表1、表2的测试环境不变),用TP3040提供的功放口驱动耳机,听觉上能感受到的背景噪声极低,噪声测量值可低至-82dB.
应该指出,实际应用的降噪系统应该根据具体的应用环境和成本等要求构造,没有必要综合使用所有的降噪措施.
上一篇:DSP+FPGA实时信号处理系统
下一篇:基于遗传算法的复杂无源滤波器参数设计
推荐阅读最新更新时间:2024-05-02 20:43