语音处理系统中的周期性冲激噪声及其消除
通过对带微处理器的语音处理系统的噪声分析,指出微处理器工作所引发的周期性冲激电流,通过电源对系统造成的周期性冲激噪声是语音处理系统中噪声的一个重要来源。 随着语音信号数字处理技术的发展,人们逐渐大量地以微处理器(如DSP芯片、单片机)为核心构造语音处理系统;同时,由之引发的语音处理系统的噪声问题越来越突出,成为人们关注的一个重要课题。系统背景噪声不但严重影响人们对语音系统的接受,对语音处理往往也会造成损伤,直接给语音系统的语音质量带来不良后果。
人们对噪声已经作了深入研究[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所示,以切断数字模块通过电源对模拟模块的影响。
模拟模块的预放大、后级放大和功放部分一定要采用模拟模块直流电源供电。然后,用光电耦合器将数字模块和模拟模块的电联系切断,以有效防止干扰从数据通道进出以微处理器为中心的数字模块,如图5所示。
表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<W,0≤i<W}(10)
为了在滤除冲激噪声基础上尽可能地保留原信号的高频分量,滤波通常需结合判界算法,即:输入为x(k),初步滤波输出为y(k),最终输出为z(k),那么,
其中TH是设定的先验门限值。
中值滤波和LOR滤波都只使用简单的比较大小运算,实现算法不复杂。根据文献[5]和我们在实际系统中的应用,LOR滤波的处理结果更令人满意。
|