) X# N6 j! i o4 K, H: P密封圈材质对频响的影响
. p5 c) \; _) D# ]* f 到此为止所做的全部仿真实验都是集中在声音路径形状对频响的影响,并在所有路径表面应用了声音硬边界条件。下面的仿真实验讨论密封圈声阻抗对频响的影响。如图9所示,本实验对声孔(黄)、传感器腔体(粉)和传感器振膜(绿)的表面应用适合的声阻抗,而蓝色表面的声阻抗是变化的。某一种材质的声阻抗是指该材质的密度与穿过该材质的声速的乘积(Z =ρ。c)。密封圈通常由橡胶或其它弹性材料制成,而典型的产品外壳材质通常是塑料、铝或钢。 图9–声音路径表面 图10–密封圈材质对谐振峰值振幅的影响 因为谐振频率是由声音路径的形状决定的,虽然改变密封圈的声阻抗不会影响谐振频率,但是会影响谐振Q值。尽管声音路径保持连续谐振,但是质地更柔软的密封圈可减弱谐振,降低其在谐振频率附近的影响。与采用声音硬边界条件的实验结果相比,采用铁表面材料的声孔大幅降低了频响振幅峰值,这表明,使用声音硬边界条件得出的测试结果的严峻性不切实际。 案例分析–分析平板电脑下声孔麦克的整个声音路径 图11所示是一个平板电脑的下声孔麦克的声音路径。在这个示例中,下声孔麦克装于印刷电路板上,印刷电路板与产品外壳之间插入一个气密性软橡胶密封圈。 图11–平板麦克的声音路径设计和声腔3D模型 本仿真实验对声音路径所有组件都设定了适合的声学特性。图11(b)所示是11(a)结构的声音路径3D模型。本仿真实验所有材质在消费电子产品中都较为常用:FR4印刷电路板、软橡胶密封圈、铝制机身。 图12–平板麦克声音路径仿真结果 图12(a)所示是谐振峰值频率大约21.6 kHz的声音路径的频响曲线,图12(b)所示是在21.6 kHz谐振频率下气压在声音路径内的分布情况。在该谐振频率下,MEMS振膜承受的气压最大。 结论 下面的指导原则有助于麦克风声音路径的频响优化。 ●声音路径尽量最短、最宽。将声音路径外部入口加宽有助于改进频响,而将声音路径的麦克风端加宽,则会降低频响性能。 ●设法不让声音路径内存在任何空腔。假如无法避免,则尽量让空腔远离麦克风声孔。 ●声音路径弯曲似乎对频响影响不大。 ●质地柔软的密封圈材料可弱化谐振,提高频响性能。
4 u' a! K' h! o TOP5 在双线式麦克风电路中使用MEMS麦克风 简介 如今MEMS麦克风正逐渐取代音频电路中的驻极体电容麦克风(ECM)。ECM和MEMS这两种麦克风的功能相同,但各自和系统其余部分之间的连接却不一样。本应用笔记将会介绍这些区别,并根据一个简单的基于MEMS麦克风的替换电路提供设计详情。 音频电路的ECM连接 ECM有两根信号引线:输出和接地。麦克风通过输出引脚上的直流偏置实现偏置。这种偏置通常通过偏置电阻提供,而且麦克风输出和前置放大器输入之间的信号会经过交流耦合。 图1. ECM电路连接 ECM的常见用例是在手机上连接的耳机中用作内联式语音麦克风。这种情况下,耳机和手机之间的连接器有四个引脚:左侧音频输出、右侧音频输出、麦克风信号以及接地。在这种设计中,ECM的输出信号和直流偏置电压在同一信号线路中传输。偏置电压源通常约为2.2 V. MEMS麦克风区别 模拟MEMS麦克风的信号引脚上不使用输入偏置电压。但是,它是一种三端器件,有不同的引脚分别用于电源、接地和输出。VDD引脚的供电电压一般为1.8 至3.3 V.MEMS麦克风的信号输出通过直流电压实现偏置,一般等于或接近0.8 V.在设计中,该输出信号通常会经过交流耦合。 相对于ECM,使用MEMS麦克风的关键优势在于它的电源抑制(PSR)性能更强。MEMS麦克风的PSR通常至少为70 dBV,ECM却根本没有电源抑制能力,因为偏置电压直接通过电阻连接至麦克风。 用MEMS麦克风取代ECM时需要进行的电路更改 对于原本围绕ECM设计的系统,改用MEMS麦克风时面临的基本难题是,电源和麦克风输出没有单独的信号,例如使用耳机式麦克风时。如果对电路进行一些小的更改,就可以在此类设计中使用MEMS麦克风。首先,必须将信号链中直流偏置提供的下游信号与麦克风的输出信号隔离。其次,必须将此直流偏置用于为 MEMS麦克风供电,而且不能让麦克风的输出信号干扰电源。直流偏置的隔离可通过交流耦合电容实现,MEMS麦克风的电源可通过仔细设计的电路提供,该电路充当分压器和低通滤波器。以下设计中使用了ADMP504 MEMS麦克风作为示例。其中用到了一个2.2 k偏置电阻。 图2.将一根线用于电源和输出信号的MEMS麦克风 图2显示了一个实现上述功能的设计示例。在耳机的设计中,耳机连接器左侧的电路部分将会在实际耳机中,2.2 k偏置电阻和1 F交流耦合电容则在源设备(例如智能手机)中。电阻R1和R偏置形成分压器,MEMS麦克风将V偏置电压降至VDD引脚的供电电压。根据V偏置、R偏置和所需VDD电压的值,电阻R1可能需要非常小,如下例所示。要计算所需的串联电阻(R偏置+ R1),可将麦克风建模为一个电阻,将有固定电流从中流过。VDD = 1.8 V时,ADMP504的典型供电电流为180 A.根据欧姆定律,VDD上的电压为1.8 V时,该麦克风可建模为一个10 k的电阻。要求解合适的电阻R1值,所用的分压器公式为: [麦克风VDD]=[偏置电压]×(10 k /(10 k + R1 + R偏置)) 根据此公式可以算出,一个2.2 k的R偏置电阻和一个499的R1电阻会从2.2 V偏置电压分出1.73 V到麦克风的VDD上。在选择R1值时,需要进行权衡取舍;如下所示,此值太大会导致VDD过小,但为了防止C2过大,又不能让此值太小。如今MEMS麦克风正逐渐取代音频电路中的驻极体电容麦克风(ECM)。ECM和MEMS这两种麦克风的功能相同,但各自和系统其余部分之间的连接却不一样。本应用笔记将会介绍这些区别,并根据一个简单的基于MEMS麦克风的替换电路提供设计详情。关键词:MEMSADI 图3显示了该分压器的两种不同模型。左侧,ADMP504麦克风建模为180 A电流源;右侧,麦克风则建模为具有1.8 V VDD的10 k电阻。 图3.分压器模型 电容C2和电阻R1形成低通滤波器,用于对电压供电信号中输出的麦克风音频进行滤波。这种滤波器转折频率应该远低于麦克风本身的滤波器较低转折频率。将低通滤波器设计为至少低于麦克风较低转折频率的两个倍频程,这会是一个好的开端。对于ADMP504,此转折频率为100 Hz.10 F的电容和499的R1电阻可实现转折频率为31 Hz的滤波器。较大的电容或电阻会进一步降低此转折频率,但是该滤波器的电阻大小必须与它对分压器的贡献保持平衡,其中,分压器会向麦克风提供VDD.低通滤波器的?3 dB点的计算公式如下: f-3 dB = 1/(2π×R1×C2) 其中: R1为分压器中的电阻。 C2为低通滤波器电容。 电容C1对麦克风输出进行交流耦合,这样它的偏置输出就会与通过手机提供的麦克风偏置电压隔离。在给定的VDD条件下,凭借R偏置、R1和麦克风的等效电阻,该电容还会形成高通滤波器。计算高通滤波器转折频率时要考虑的总电阻为与R偏置并联的RMIC和R1的串联电阻。此电阻的计算公式为 R总=((RMIC + R1)×R偏置)/(RMIC + R1 + R偏置) 对于此处的示例,R总= 1810.高通滤波器转折频率为: f-3 dB = 1/(2π(R总×C1) 要让滤波器转折频率至少低于ADMP504低频滚降频率100 Hz一个倍频程的滤波器转折频率为100 Hz,C1至少应该为1.8 F. 图4显示了一套完整的耳机电路,其中采用了ADMP504MEMS麦克风以及合适的电阻和电容值,并以我们处理的V偏置和R偏置值为依据。 图4.采用ADMP504 MEMS麦克风的电路 结论 通过本文介绍的电路,可以实现在没有单独的电源和麦克风输出信号的设计中使用MEMS麦克风。该电路只使用两个电容和一个电阻,即可让MEMS麦克风用于双线式麦克风电路中。
3 j4 H5 R: I4 c- ITOP6 选择适合MEMS麦克风前置放大应用的运算放大器
简介 麦克风前置放大器电路用于放大麦克风的输出信号来匹配信号链路中后续设备的输入电平。将麦克风信号电平的峰值与ADC的满量程输入电压匹配能够最大程度地使用ADC的动态范围,降低后续处理可能带来的信号噪声。 单个运算放大器可以简单地作为MEMS麦克风输出的前置放大器应用于电路中。MEMS麦克风是一个单端输出设备,因此单个运算放大器级可用于为麦克风信号增加增益或仅用于缓冲输出。 该应用笔记包含了设计前置放大器时需要考虑的有关运算放大器规格的关键内容,展示了部分基础电路,还提供了适合用于前置放大器设计中的ADI公司的运算放大器产品表格。此应用笔记采用ADMP504 MEMS麦克风为例,阐述了不同的设计选择。该麦克风为模拟麦克风,信噪比(SNR)为65dB。采用不同的麦克风设计时,要求可能与该应用笔记中所述不同,需要根据麦克风的噪声、敏感度、最大声学输入和其他规格进行调整。 运算放大器规格 运算放大器有许多不同的规格和性能曲线,因此从中找出与您应用相关的规格可能是件非常繁琐的任务。对于麦克风前置放大器设计来说,部分规格比其他更重要;该应用笔记简述了此部分规格。 噪声 运算放大器的噪声值分为电压噪声和电流噪声。通常,在前置放大器的设计中您仅需要考虑运算放大器的电压噪声。只有在使用高值(即高噪声)电阻时,设计中才需要考虑电流噪声。为了将电路的整体噪声维持在低水平,通常采用低于10 kΩ的电阻。 运算放大器的电压噪声采用噪声密度单位nV/√Hz定义。与电路带宽相关的器件噪声,您需要将此噪声密度乘上带宽的平方根。请注意该简易公式仅适用于在频率范围内统一的噪声频谱,如图1所示。 对于20kHz的带宽,该乘数因子为141。举ADA4075-2为例,其噪声密度为2.8 nV/√Hz乘以141,因此噪声电平为0.395μV或-128 dBV。运算放大器的噪声密度通常在数据手册的典型特性部分的表格中显示,且通常显示其整个频率范围内的曲线。该图表可用于查看在何频率下运算放大器噪声将取决于1/f噪声。对于许多运算放大器来说,这个点通常低于音频频带(20Hz)低端,但是噪声密度的曲线仍然值得一看,且不能仅参考噪声密度指数来完全描述噪声性能。图1为ADA4075-2数据手册中的噪声密度图实例。请注意图1中1/f转折点约为10Hz,远低于MEMS麦克风前置放大器电路的目标频带。 图1. ADA4075-2电压噪声密度 ADMP504模拟MEMS麦克风的SNR(A加权)为65 dB ,敏感度为-38 dBV。因此,在20 kHz带宽内本底噪声为-103 dBV。这相当于50 nV/√Hz的噪声密度,约与150 kΩ电阻的热噪声相同。 对于运算放大器来说,比麦克风更加低噪非常重要,因此从噪声方面考虑,前置放大器电路要尽量的透明性。一个非常好的做法是运算放大器的噪声比麦克风本身低至少10dB,以将其对于全局噪声的影响最小化。为了使用ADMP504前置放大器实现该目的,运算放大器的最高本底噪声为-113 dBV或15.9 nV/√Hz。表1中的大部分运算放大器都远低于该限值,其中不低于该限值的运算放大器仍被列出因为它们具有其他可能在某些特殊设计中非常重要的参数,例如用于低功耗设计的工作电流。请注意电路的总输出噪声电平将受所施加增益和电路中电阻的影响,而不仅仅取决于运算放大器。可以通过选择足够小的电阻来使其对总电路噪声的影响最小。 压摆率 运算放大器的压摆率指其输出电压从一个电压值到另一个值的改变(或摆动)速度有多快。该参数的单位通常为V/μs。前置放大器电路必须支持的最高压摆率为 SR = 2 ×π× fMAX×VP 其中fMAX为前置放大器需要支持的最高频率(音频通常为20kHz),VP为运算放大器输出的峰值电压电平。如果峰值输出电压为+12V (8.5VRMS),则运算放大器的压摆率最低为1.5V/μs。 事实上,大部分音频信号在高频率区不会达到满程电压,但是设计前置放大器时还是应该考虑到此种可能性。通常电路设计中压摆率指数不应该设计过高。在设计中您可以使用一个压摆率足够快的运算放大器来处理最高目标频率,但是无需高出该限值太多。 总谐波失真加噪声(THD + N) 关于运算放大器电路中总谐波失真加噪声(THD + N)的讨论很容易变成一个复杂的讨论。许多原因都可能导致失真,包括压摆率限制、输出负载以及运算放大器的内部失真特性。THD通常定义为一个比例,表示为一个百分比或者用dB值表示。该比例为信函谐波失真部分的幅度与输入基频幅度的比值,因此数值越小(小百分比值或负dB值)表示其THD + N性能越好。 THD + N参数为指定带宽噪声与THD之和。并非所有运算放大器数据手册的规格表格中都会包含该值,即便没有改值,通常数据手册中会包含一张THD(或THD+N)与频率的曲线图。图2显示了ADA4075-2数据手册中该值的实例。 图2. ADA4075-2 THD + N与频率的关系 电源电压 运算放大器的电压通常表示为一个范围,例如3V至30V,这标示了V+和V-电压引脚之间最小值和最大值的区别。运算放大器可以采用单电源将V-接地或者采用双极性电源将V+和V-分别设置为等值的正负值(例如±15V)。 需要选择合适的电源电压以保证运算放大器的输出不对给定的电源轨削波。有些运算放大器以轨到轨方式工作,这表示输入或输出电压(取决于具体的参数)可以在不削波的情况下可以一直调到轨电压。如果运算放大器不是轨到轨方式,数据表中将标示最大输入和输出电压;请注意正负电压最大值可能不同。 信号的峰值输出电压显然与前置放大器电路提供的增益有关。ADMP504的峰值输出电压为0.25Vrms。当ADMP504连接至增益为20 dB(10×增益)的前置放大器,其峰值输出电压为2.5Vrms,即7.0VP-P。因此,该电路需要至少7.0V电源电压或±3.5的轨到轨输出运算放大器。如果运算放大器输出不是轨到轨,则电源电压需要更高值。 模拟MEMS麦克风工作电压为1.5V至3.3V。表1中列出的部分运算放大器最低电源电压为2.7V,因此在低功耗单电源电路中麦克风的电源电压VDD必须介于2.7和3.3V之间。 表1. 音频运算放大器 增益带宽积 增益带宽积(GBP)正如其名,是放大器带宽(采用低通-3 dB转折)和加于输入信号上的增益的乘积。大部分针对MEMS麦克风的前置放大器设计不需要附加大于40 dB的增益,即因子为100。设计带宽至少为50 kHz的前置放大器应该提供部分余量保证运算放大器的带宽限制不会影响更高的音频频率。带6.5 MHz GBP的运算放大器,例如ADA4075-2,在一个增益为40 dB的电路中将在信号开始滚降之前的通带最高为65 kHz。 数据手册中典型性能特性部分绘制的规格曲线为增益与频率的关系。这张ADA4075-2数据手册中的图(见图3)显示了运算放大器的开环增益与频率的关系。 图3. ADA4075-2开环增益和相位与频率的关系 其他规格 此外根据电路具体的用处,还需要考虑其他规格。例如,如果前置放大器需要驱动低阻抗负载,例如耳机,您将需要选择具有高驱动能力的运算放大器。 运算放大器的电源电流通常指放大器的空载电流。低功耗电路设计显然采用低电源电流的运算放大器最合适。运算放大器的噪声和电源电流通常成反比,因此需要在音频性能和功耗之间进行取舍。 最后,也有些其他规格您不需要考虑。失调电压通常被认为是运算放大器的一个重要规格,但对于ac耦合的前置放大器应用并不重要。 电路 基本的前置放大器电路有两种设置:反相和同相。该部分描述了这两种设置的使用和优点。 此类电路不显示电源或旁通电容。虽然电源盒旁通电路对于电路性能非常重要,但是显示这两个规格对于描述前置运算功能并不重要。大部分运算放大器的数据手册和AN-202应用笔记:IC放大器耦合、接地以及随机应变中都包含您设计需要的更多有关去耦电容和接地技术的信息。您还可以在运算放大器数据手册中获得更多其它更专业的音频电路。 同相 同相前置放大器电路的输出和其输入极性相同。在信号极性需要保持不反相的应用中此类电路非常适合。图4显示的配置中同相运算放大器电路的增益为G = (R1 + R2)/R1。 图4.同相前置放大器电路 该配置具有非常高的输入阻抗,因为麦克风信号直接与运算放大器的同相输入直接相连。C1是由于MEMS麦克风输出偏置在0.8V而采用的一个隔直电容。该电容在该配置中不需要非常大,因为运算放大器的输入阻抗非常高。 相对于反相拓扑而言,同相拓扑电路更需要考虑共模抑制规格。在同相电路中,共模电压能导致输出信号的失真。运算放大器的数据手册通常会显示共模抑制比 (CMRR)与频率的关系供您参考,用于决定音频频带中某个具体器件的性能。这对于反相电路则不是问题,因为反相电路没有动态共模电压;两个输入都保持为接地或虚拟接地。 反相 图5显示了一个反相运算放大器的电路。该电路的输出极性与输入反相,增益为G =-R2/R1。 图5. 反相前置运算电路 反相电路的输入阻抗等于R1。该电阻成了MEMS麦克风输出的电压分压器,因此需要选择足够高的电阻值不加载麦克风的输出,但也不能太大,为电路增加不必要的噪声。模拟MEMS麦克风通常具有200Ω的输出阻抗。如果R1选为2.0 kΩ,则电压分频器会将麦克风的输出信号电平降低9%。 VOUT= (2.0 kΩ + 200Ω)/2.0 kΩ ×VIN= 0.91 ×VIN 直隔电容C1和R1会形成一个高通滤波器,因此C1应选择足够大的值以确保该滤波器不会干扰麦克风的输入信号。ADMP504的低频转折点为100 Hz。如果R1再次选择2.0 kΩ,则2.2μF电容将形成一个频率为40 Hz的-3 dB高通滤波器,远低于麦克风的转折频率。 选择至少比麦克风低一个频程的截止频率也是一项经验法则,除非需要实现一项具体的高通特性。 电压跟随器 如果反馈环路中没有使用分压电路,同相放大器也可用作电压跟随器。该电路非常适合在无法直接驱动较长的走线或者电缆时缓冲麦克风的输出,可能不需要为信号增加额外的增益。 图6. 电压跟随器 电压跟随器可在反相极前端用作缓冲器。可能需要改配置以确保能在反相电路中使用更低值的电阻。在无缓冲的情况下,反相极的输入阻抗可能需要采用更低值以实现目标噪声性能。在保证缓冲和第一个运算放大器的低输出阻抗(与MEMS麦克风相比)的情况下,电阻R1和R2能选择较低值以避免给电路造成额外的噪声。 图7.带反相放大器的电压跟随器缓冲器 差分输出 MEMS麦克风的单端输出可用两个运算放大器和两个反相电路级(见图8)以简单的串联结合转换为一个差分信号。每级的输出转换为彼此反相,作为差分对。图 8显示的电路中信号的放大发生在第一级,由R1和R2设置。电阻R3和R4值应相等,为第二级提供单位增益。为了实现最佳性能,应该采用1%电阻(或更好)来使两级之间的误差最小化。 该配置的一个缺点是一个输出仅由一个放大器产生噪声和失真,而第二级输出则有两个放大器产生噪声和失真。第二个小问题是每个放大器之间存在一个非零延迟,因此差分输出的两侧并非完全对齐。然而,这可能对差分信号的性能影响极小。 图8. 差分输出电路 图7显示的电压跟随器和反相放大器电路还可用于实现一个增益为1的差分信号。同相输出可以从电压跟随器放大器输出提取,反相输出可以从反相放大器的输出提取。在该配置中,R1和R2的值应保持相同以达到统一的增益。 差分放大器,例如AD8273,也可用于实现单端至差分电路,从前文提到的问题方面考虑也可能具有更出色的性能。 图9显示了AD8273配置为单端至差分放大器。每个放大器配置为G=2,因此差分增益为4×。 图9. AD8273单端转差分配置,G = 4 运算放大器的选择 ADI提供大量适合麦克风前置放大应用的各种运算放大器产品。图1显示了部分此类元件的规格,根据电压噪声进行分类。不管您的应用旨在实现最佳性能还是您需要设计一个性价比高的电路,总有一款应用放大器能够满足您的需要。 性能仿真 ADI提供了用于仿真模拟电路的工具。NI Multisim器件评估板的ADI版本可用于快速建立一个电路并显示其性能规格,包括频率响应和噪声电平。该Multisim版本包含了大部分该库中讨论的大部分运算放大器,可以无需从不同源下载和管理SPICE模型就实现快速仿真。不同器件,包括运算放大器,可置入电路或取出以比较不同器件的性能。9 B6 ]" l% d0 ~
( i0 c8 m$ o& E. B
TOP7 麦克风阵列信号采集系统的设计 作为传统的语音拾取工具,单个孤立麦克风在噪声处理、声源定位和跟踪,语音提取和分离等方面存在不足,严重影响了语音通信质量。如果使用多个麦克风组成阵列,在时频域的基础上增加一个空间域,对来自空间不同方向的信号进行实时处理,就可以弥补上述不足。现在已有的麦克风阵列采集处理系统中,大多采用4路麦克风阵列,这类系统虽然在一定程度上能解决语音增强、噪音抑制、声源定位和回声抵消等问题,但由于4个麦克风个数较少,只能组成一字线阵,十字阵等几种特定的阵列形状,三维空间的方向及距离判断有较大的误差。设计的16通道麦克风采集系统能够组成麦克风面阵,弥补了上述不足,较好地解决了三维空间信号位置判断的问题。 一、硬件系统设计 该硬件系统主要包括16路麦克风构成的阵列、A/D采样模块、DSP数据处理模块、PC机,如图1所示。 1.1 麦克风阵列 该系统中,麦克风阵列选用声望公司的MPA416传声器。MPA416传声器的灵敏度可达50 mV/Pa;拥有低本底噪声;频率响应范围20 Hz~20 kHz;当其用于阵列时,MPA416的相位差能控制在3°~5°,能满足系统对精确度和稳定性的要求。 1.2 A/D采样模块 A/D采样模块由4片PCM4204以及其外围电路组成。PCM4204内置了4个同步采样通道,支持音频串口和DSD数据口。音频串口模式时,输出24 位线性PCM码,有主、被动两种工作模式,支持左、右对齐,I2S和TDM数据格式,动态范围为118 dB,最高采样频率216 kHz。系统选用1片PCM4204采用主动工作模式,其余3片PCM4204采用被动工作模式。通过音频串口将外部采集的模拟声音信号转化为24位 I2S格式数字信号。由于前端麦克风阵列的输出信号不是差分信号,而PCM4204要求输入信号为差分信号,同时要求输入差分信号幅值在-0.3~- 0.3+VccV之间,因此其每路信号的前端都应有一个缓冲电路,用来将所接收的麦克风信号转换为差分信号并对幅值进行调整。缓冲电路主要由 OPA1632和OPA22组成,OPA1632和OPA227是高精度、音频差分放大器,缓冲电路如图2所示。 1.3 DSP数据处理模块 设计中数据处理模块选择TI公司浮点DSP芯片TMS320C6713作为模块核心。TMS320C6713为高性能32位浮点DSP,适用于专业音频信号处理,其主频可达300 MHz,处理速度高达2 400 MIPS/1 800 MFLOPS。其内部采用改进的哈佛结构;具有256 kB的片内存储空间;丰富的外设包括两个多通道缓冲串口(McBSP)、两个多通道音频串口(McASP)、SPI和I2C等;增强的直接存储器访问 (EDMA)控制器,可控制16个独立通道完成不受CPU干预的数据传输;32 bit的外部存储器接口(EMIF),能与SRAM、ERPOM、Flash、SBSRAM和SDRAM无缝连接。DSP数据处理模块框图如图3所示。 其中,TMS320C6713通过McASP与前端的A/D采样模块相连,并利用EDMA数据传输速度快、传输量大,且不占用CPU时钟周期的特点,将采集数据转存至TMS320C6713的片内存储空间。TMS320C6713外接CPLD控制EMIF接口,通过对EMIF接口上CE3空间的控制,控制 USB芯片CY7C680 01,完成TMS320C6713与PC机平台间的USB数据传输。 1.4 A/D采样模块与DSP数据处理模块接口设计 4片PCM4204芯片与TMS320C6713的McASP1相连接,其连接示意图如图4所示。 图4中,PCM4204 A采用主动工作模式,PCM4204B、PCM4204C和PCM4204D采用被动工作模式。系统采用I2S数据格式,PCM4204A的SDOUT1 输出的是1和2通道的数据,SDOUT2输出的是3和4通道的数据;PCM4204B的SDOUT1输出的是5和6通道的数据,SDOUT2输出的是7和 8通道的数据;PCM4204C的SDOUT1输出的是9和10通道的数据,SDOUT2输出的是11和12通道的数据;PCM4204D的SDOUT1 输出的是13和14通道的数据,SDOUT2输出的是15和16通道的数据。 通过配置芯片引脚S/M、FMT2、FMT1、FMT0、FS2、FS1和:FS0对PCM4204进行设置。 1.5 DSP数据处理模块USB接口设计 TMS320C6713通过EMIF的CE3存储空间可以外扩USB2.0接口,因此在对外扩USB进行读/写访问前,需要通过EMIF的 CE3控制寄存器CE3C-TL来配置CE3空间存储器接口的类型、存储器宽度及读写时序。CY7C68001采用并行异步存储器接口通过可编程逻辑芯片 CPLD与TMS320C6713相连,其原理框图如图5所示。 CY7C68001除了存储器接口外,还有1个中断信号 和4个状态信号。中断信号 采用TMS320C6713的外部中断EXT_INT6。TMS320C6713使用CY7C68001作为从设备。在这种模式下,DSP可以像读/写普通FIFO一样对CY7C68001内部的FIFO进行读/写。PC主机发出命令的同时也由CY7C68001 的引脚提供中断触发信号给DSP的EXT_INT6。其上升沿被检测到后,DSP就进入相应中断服务程序,开始处理USB的传输。DSP通过 EA[4:2]连接FIFOA[2:0]对CY7C68001内部FIFO或命令口进行选择。读/写数据通过ED[15:0]与FIFO[15:0]连接进行。FIFO和命令口的选择和地址分配如表1所示。 经实验验证,USB异步传输速率可达3 Mbit•s-1,满足系统需求。 1.6 PC机平台 DSP数据处理模块通过USB接口与PC机相连,通过CY7C68001芯片,将前端采集的数据传输到PC机,方便对数据的进一步处理。 二、 程序设计 2.1 McASP接口程序设计 定义了4个寄存器组:全局寄存器组globalRegs、发送寄存器组xmtRegs、接收寄存器组mvRegs和串行化器控制寄存器组 srctlRegs。通过这4个寄存器组,对McASP1的PFUNC,PDIR,SRCTL,RFMT,AFSRCTL,ACLKRCTL及 AHCLKRCTL等寄存器进行设置。各寄存器组所包含的主要寄存器情况如表2所示。 依据PCM4204的I2S数据格式,将接收帧同步信号的宽度定为32 bit,接收延迟设置为1个delay;AXR[0]~AXR[7]设置为接收模式。 2.2 EDMA传输程序设计 为保证数据的完整性,选用Ping-Pong模式对EDMA传输进行配置,Ping缓存存放如表3所示,Pong缓存与Ping缓存结构相同。 依据Ping、Pong缓存数据格式,对EDMA接收进行配置,即对:EDMA的opt,src,cnt,dst,idx,及rld寄存器分别进行设置。通过opt寄存器设置数据长度为32 bit,源数据和目的数据为一维方式,源地址固定,目的地址采用索引,启用帧同步等。源地址和目的地址分别写入src,dst寄存器。cnt寄存器主要用于配置帧计数和单元计数。由于采用I2S的数据格式,所以1帧数据只包含2个单元数据。通过配置idex及rld寄存器,目的数据可以按照设定的索引方式存储。 2.3 DSP端OSB接口程序设计 首先,通过调用用户的初始化函数,使能外部中断并初始化USB寄存器。之后,程序通过数据传输函数,完成DSP与PC机的数据传输。 USB初始化程序配置如下: (1)使能外部中断6(EXT_INT6)。 (2)加载USB描述表,并进行自举检测,如自举不成功,则重新自举,直到端点0收到设置包为止。 (3)配置USB为异步从FIFO(Asynchronous SlaveFIFO)模式,采用内部48 MHz时钟源。 (4)读取FNADDR寄存器,判断USB工作状态。 (5)依据USB工作状态,配置EP2、EP4、EP6、EP8,并设置一次传送的Byte长度。设置EP2、EP4为BULK OUT,EP6、EP8为BULK IN,其缓冲大小分别为2×512 Byte。 在数据传输过程中,PC端通过EP2向DSP发送读数据命令,DSP通过外部中断收到读命令后,使用EP6发送已采集好的数据。在声音数据采集系统中,每路麦克风以96 kHz进行24位采样,按照ping-pong方式进行存储。在传输过程中还需进行判断,当采集数据存储在ping缓存时,发送pong缓存中的数据,当采集数据存储在pong缓存时,发送ping缓存的数据。由于TMS320C6713通过EMIF的CE3存储空间可以外扩USB2.0接口,需对 EMIF接口的CE3寄存器进行配置,将USB接口设为16位异步存储接口,设定读/写的建立时间(Setup)、促发时间(Strobe)、保持时间,使其满足CY7C68001的读/写时序要求。 2.4 PC机平台应用程序设计 PC端接口程序采用VC++6.0编写,首先调用OpenDriver()打开USB接口设备,获得设备的句柄hDevice,之后调用 Sx2SendVendorReq()函数向外设发出命令,读取USB配置,最后调用Sx2BulkdataTrans()进行数据传输,通过调用 CFile类将接收到的数据存放在文本文件中。程序使用多线程技术,使得应用程序将USB数据传输在后台进行处理,应用程序前台还可进行其他操作。
! D9 n1 F2 f: D: H: r% U1 y TOP8 利用麦克风数组抑制背景噪声* A$ g- ~# G" a! T
概述 随着手持语音通信设备越来越流行,它们应用在嘈吵环境的机会也越来越高,例如机场、交通繁忙的路段、人多嘈杂的酒吧等。在这种嘈吵的环境下,通话的双方实在难以听清对方所说的话。 此外,不少通信系统都是采用计算机运行的语音识别、指令及/或响应系统,这些系统均易受到背景噪声的影响,假如噪声过大,便会导致系统出现很大的偏差。因此,有必要改善语音信号对背景声音噪声的比率。 本文将解释利用麦克风数组消除语音通信系统中背景噪声的基本原理,并引用美国国家半导体的LMV1088麦克风数组放大器作为例子加以说明。 麦克风数组 麦克风数组是指将多个麦克风一个接一个地排列成一个特别的样式,让它们一起工作以产生出一个合成输出信号或多组信号。 每一个麦克风都是一个传感器或一个空间窗口(spatial window),用于接收(空间采样)输入信号。数组的整体响应是数组中每个麦克风的个别响应的迭加,并与所采用的算法相关。 数组中多组麦克风信号所采用的 “数组处理” 算法是根据几个因素来决定的,包括麦克风的间隔距离及排列样式、麦克风的数量及类型,以及声音的传播原则。 麦克风数组的基本任务是消除语音输入信号的周围噪声,进而改善听觉辅助系统、语音识别设备和电信产品的语音质量。此外,麦克风数组也可用于方向定位,以及计算声源与数组之间的距离。 语音通信系统中的麦克风数组的主要功能是提供一个高质量的语音信号,同时降低现场及周围环境的噪声。这里所指的质量是指最终的语音信号非常自然真实,当中不存在任何的人工噪音例如是卡嗒声和砰啪声、非意愿静音、频率失真、回声或因加强语音信号处理方法所引起的不定期信号电平变化。 基于上述的理由,信/噪比改进(SNRI)并不是选择背景噪声抑制解决方案时的唯一参数,而必须考虑其它问题。 声音信息 声压级 声压级(SPL)会随着声源距离的增加而减少。图1和图2分别表示出SPL的消减,该数值以分贝(dB)作单位,并且是声源距离 “x”的一个函数。当人们说话的时候,一般以距离嘴唇约1cm的位置作为基准参考点,并将该位置的SPL定为96 dB。在这条件下,SPL的公式应为: dB=96-20 log(x/0.01) 或可写成 dB=96+20 log(0.01/x) 公式中的 ( 或 )是0.01m的参考值距离,亦即以米作单位时相对于声源的距离“x” 为1公分。 图1 图2 当距离“x” 增加一倍时,两条曲线的SPL均下降6dB 。图1距离声源200公分,而图2则是距离声源50公分的局部放大图,从图中可见声音压力会因与声源距离的增加而急速下降,即使距离很短的情况下也一样。例如,当与声源的距离为10公分时,SPL便减少了20 dB,即由96dB下降到约76dB。 近场对远场声音 声源的近场是指该位置处于相关最低频信号的一个波长范围之内。假设相关语音的最低频为300Hz,如此波长λ便等于c/f 或 331.1/300 ,又或是 1.104 米,其中c代表声波于零度摄氏下的水平速度。当频率为3500Hz时,λ便等于c/f或 331.1/3500,又或是 0.0946米 (9.46公分)。因此,语音信号的典型近场范围即由声源距离约9.5公分到1.1米。 超过1米的距离,语音信号便会被考虑成语音声源的远场。对于麦克风间隔较近的数组,近场声源会呈现出一个圆球状的波阵面,并拥有很强的信号振幅、压力梯度,以及对应数组中各麦克风与声源之间的距离而出现的频率相关差别。 现在假设两个麦克风的间隔距离为3公分,而最接近声源的一个麦克风,其与声源的距离为5公分。图2表示出第一个麦克风(即最接近声源的一个),其感受到一个SPL为82dB的音频信号,而第二个麦克风(即与声源相距8公分)所感受到的信号为78dB SPL。即使两者间只有4 dB的差别,但相对于整体的信号级,这差别仍相当大。 从频谱含量的角度看,麦克风数组内的所有近场语音信号均关系密切。与最接近声源的麦克风比较,与声源距离最远的麦克风信号的振幅将会减少,并且会出现信号由最近麦克风传送到最远麦克风的时间延迟。然而,要恢复该个案中的语音信号并不困难。 在麦克风数组语音近场范围以外的声源将被看作是远场声源,并对数组中排列紧密的麦克风展现出实质平面的波阵面。数组中每一个麦克风均感受到几乎一样的声波能量及随机相位信号,但该些信号并没有对应关系,除非麦克风之间的距离非常接近。假如这些信号与麦克风的距离较远,那麦克风的绝对SPL值便会进一步下降。 现举出另一个例子,假若将相同的麦克风数组放置到与声源距离150公分(即1.5米)的位置,最近声源的麦克风的SPL值便会下降到52.5 dB,而距离声源153公分的最远麦克风的SPL值则稍微下降到52.3dB。虽然两者仅有0.2dB的差距,但从声源到最近麦克风的整体信号级将出现 30dB的下降。 麦克风输出之间的不同信号,在进行了适当的处理及滤波后,可将远场噪声消除,使两个麦克风的复合输出及处理电路能提供高清晰度的语音信号。 声音噪声的特质 这里的噪声场可分为三种,分别是相干噪声、非相干噪声及扩散噪声。 相干噪声是指当声波传到麦克风时,在该过程中没有因环境中的障碍物而出现任何形式的反射、散射或衰减。 非相干噪声是指某一位置的噪声与其它位置的噪声没有任何关系,并且被看成空间白噪音。 扩散噪声是指拥有相同能量的噪声同时轴射到所有方向。例子包括办公室内的噪音、机场候机楼及交通噪音等,换句话说就是指所有充满噪音的环境。 这里所指的声音噪声有两种,分别是稳态噪声及非稳态噪声。 稳态噪声是指噪声的能量相对地稳定,并具备已知及变化缓慢的频谱含量,并且是可预知的。例子包括由引擎发出的噪音、空调风扇、随机或 “白” 噪音等等。噪声抑制算法能有效抑制这类噪音。 非稳态噪声是指音量及声音内容会在短时间内变化,例如高声说话或叫喊、汽车经过的声音或拍手等,其发生是不可预知的。假若出现这类噪音,它们可能在被辨识及抑制前便会自动地消失掉,非稳态噪声一般都包含在稳态噪声之内。 最麻烦的情况是当噪声源与语音信号拥有相同的出现时间、频谱及相干特性,这种情况当背景噪声属于非稳态,且旁边有其它人说话时便会出现,如在餐馆和酒吧,车站及派对上等。 第二部分 麦克风数组的解决方案 根据选用的方法,麦克风数组解决方案可以成为抑制稳态及非稳态噪声的一项非常高效的技术。 配合适当的算法,数组中的个别麦克风信号经过滤波后再组合,以便达到波束成形或空间滤波的效果,进而产生一个复杂的麦克风数组极性响应模式,能够指向或远离某个声音位置。因此,可以将某个位置的声音隔离或加强,又或可将其抑制或拒绝。同样地,麦克风声道中的信号相关性可找出主要信号的方向及其正确位置。 视乎数组的复杂度及应用,该数组可经由一个配备了数字信号处理器的模拟电路,再加上适当的计算机软件和一系列方法去控制。 波束成形 波束成形分为两种技术:自适应及定向。 在自适应波束成形技术中,可通过数据相关滤波及改变对数据的时间响应去调节波束的方向,在自适应波束成形方面已有几种方法被开发出来。虽然在信号的处理上比较繁复,但好处是设计灵活度更高,包括麦克风的数量、类型及间隔距离。自适应波束成形一般需要数字信号处理器或计算机软件来实现。 至于定向波束成形方面,波束的行走方向会按照相关声源的方位而优化,并且同时排除来自其它方向的噪声。一般来说,排列紧密兼具备固有方向性的差分式麦克风端射数组都是依靠固定时间延迟或其它方法来改变波束的方向。对于这类应用,任何滤波及信号处理的方法均须对特别的机械设计加以优化。定向波束成形一般需要模拟电路、数字信号处理器或计算机软件来实现。 对于语音应用来说,采用定向波束成形解决方案会比较好,尤其当应用牵涉到语音辨识。假如以模拟电路来实现,它们便应该: ● 对噪声输入有实时的响应 ● 容易实现而且无需开发任何的算法程序 ● 为抑制稳态及非稳态噪声提供一个可接受的信/噪比改进(SNRI)值 ● 在无语音时表现极低的失真,并且可改善语音质量测试(ITU-T P.835)的整体平均意见分数(mean opinion score) ● 运算复杂度低并具备低信号延迟 ● 功耗比其它解决方案小 与定向方案比较,采用数字信号处理器或软件实现的自适应波束成形的缺点为: ● 当实施及调节抑制算法时,需要时间去重复辨识及收敛噪声 ● 虽然可提供较佳的SNRI值,但通常也会为语音输出信号带来较多的问题,包括因噪声收敛时间所引起的延迟、卡嗒声和砰啪声、非意愿静音、频率失真、回声或与子频带频率信号处理方法有关的不定期信号级变化 ● 由于需要另行开发演算程序,因此在实现上比较困难 ● 需要更大的功耗 所有波束成形解决方案都是采用很小的数组,它们对误差都非常敏感,包括由麦克风增益与相位失配所引起的误差,以及由于音频信号路径嵌入于产品内而非设于大气中所导致的路径偏差。因此,波束解决方案必须具备某种形式的补偿,而这种补偿可以设于波束成形系统之内,又或是在系统之外加设适合的麦克风和音频信号路径。 麦克风间隔 奈奎斯特空间采样率为相关最高频率的二分之一个波长(d=λ/2)。为了从空间取得相关频率的一个波长样品,两个传感器(即麦克风)必须相隔二分之一个波长。 然而,当传感器的间隔少于二分之一个波长时(d 《 1/2λ),过采样便会发生,使波长被采样超过两次。相反地,如距离大于二分之一个波长(d 》 1/2λ),空间性欠采样便会发生,这时第一个传感器在完成一个波长的采样后,会在第二个传感器进行采样之前再重新启动。空间性欠采样可将较高频的信号混迭到相关的频带,导致结果出现混乱。为了防止出现假频,采样器的频宽必须限制在最高相关频率以上。 不少研究指出假如能够尽量缩少传感器之间的距离便可打造出高效的麦克风数组,距离可以比奈奎斯特速率的最低要求小很多。现再举一个例子,其中传感器的间隔为相关声波的八分之一个波长。 在一个纯语音系统中,频率范围为300Hz 到 3500Hz,而最大声音能量可出现在500Hz 到 2500Hz之间。在此条件下,λ/8的间隔在3500Hz下为1.18公分,而于2500Hz下为1.65公分。 由于波长增加,在3500Hz 及2500Hz频率以下的音频信号仍然会被过采样,因此1.18公分或1.65公分的间隔能有效地取得更多的信号样品。 另一个计算方法将间隔定为两公分,如此当频率为2500Hz时,波长的间隔(λ)/(c/df)便为: λ/(331.1/0.02*2500)=λ/6.62 假如空间采样率在最高相关频率下仍然低于λ/2,则需要调节麦克风的间隔以满足产品的应用要求。但随着间隔越来越挤(空间采样率越来越高),麦克风数组中的远场信号之间的相干性变大,使得数组在各频率下均可发挥更佳的整体背景噪声抑制效能。相反地,假如间隔变得较宽阔,数组的整体抑制能力便会下降,变得难以对较低频信号作出反应。 一旦决定了传感器的间隔,便可对应频率的需求将数组优化。假如采用的是定向波束成形方案,数组的响应模式也需同时被固定。 不论是任何的产品,在设计的过程中必须要作出一些折衷决定,包括在操作频率范围与所需噪声抑制级之间、理论与实际麦克风间隔之间、以及整体的数组系统成本和复杂性之间等。 麦克风数组解决方案的例子 以下采用美国国家半导体的远场抑制麦克风数组放大器LMV1088作为麦克风数组解决方案的一个例子,它可为语音应用提供高至20 dB的背景噪声抑制。LMV1088是一个模拟定向波束成形解决方案,适用于采用全指向性麦克风的差分式双麦克风端射数组。 图中两个麦克风分别位于两条相距约1.5公分至2.5公分的线上,或保持等同的声波路径距离。说话者与手机或耳机的麦克风距离最好保持2公分至10公分,通过使用图1和图2便可计算出语音信号随距离变化的损耗。 LMV1088不仅可为两条声道上的声音、麦克风和放大器信号路径之间的差别提供初始性补偿,并且可执行修正滤波令语音输出更加自然,还可提供频宽限制滤波功能。 由于内部放大器增益可通过I2C指令调节,因此可使用不同灵敏度的麦克风,并促使LMV1088的输出信号级能配合模拟输入信道信号的要求,以针对各式各样的通信处理器及设备。 LMV1088可支持四种运作模式,并通过I2C命令选择: ● 预设模式 – 同时使用两个麦克风进行噪声抑制 ● 独立模式 – 独立地使用麦克风1或2(无噪声抑制) ● 总合模式 – 两个麦克风的输出被相加在一起,使麦克风信号得到6dB增益 (无噪声抑制) LMV1088的模拟特性可提供一些传统DSP解决方案没有的特质: ● 无需因迁就背景噪声级及其类型而花费额外的时间去进行噪声收敛运算,进而可为语音信号及背景噪声提供实时反应,并且可消除令人烦厌的短暂语音消失; ● 由于不采用子频带频率处理算法,因此不会在输出产生频率失真、卡嗒声和砰啪声或其它的人工假信; ● 可加强现行系统中的单声道回声消除处理 不同麦克风数组解决方案的比较和测试 为了准确比较及测量不同背景噪声抑制方案的效果,所有的测试设置及条件必须一致,以便得到可信的结果。 基于以上理由,特别安排了几个标准的测试,其中绝大部分采用的是国际电信联合标准ITU-T Rec. 的P0056e、58e、64e、0830e和ITU-T P835。 ITU-T P835专门用于主观性测试,能够有效评估系统中的语音输出质量包括噪声抑制的效能。该规格标准清楚说明评估噪声环境中语音主观质量的方法,特别适合用来评估噪声抑制算法。该方法采用独立的等级标准将测试分为三个独立部分,分别就单独的语音信号的主观质量、单独的背景噪声的主观质量,以及有背景噪声下的整体语音质量(平均意见分数)进行独立的评估。 图3 噪声、远场、语音、优化语音 至于IEEE标准方面,可以采用IEEE 1209-1994及IEEE 269_1992两个标准的测试。前者是专门测量电话手机及耳机的传送效果,而后者则针对模拟及数字电话机的传送效果。两个标准的文件均已被IEEE 269-2002文件所取代。 将上述的标准综合在一起后便可实现客观的数值测量,并且可准确地评估不同背景噪声抑制解决方案的主观语音质量和电子语音辨识效果。 一般来说,系统的噪声抑制数据都是由制造商提供的,它们可能是系统所能达到的最佳水平,但对于某些要求高语音质量的应用而言,这些预设水平可能无法满足应用需求。 因此,在解决方案数据表上标明噪声抑制数值是很困难的,甚至有时会产生误导,除非可以明确地说明所有的测试条件。在此方面,一般的数据表都不会提供很详细的数据,即使提供了也不切实际,因为很难想象客户应用的条件与数据表上的测试条件完全吻合。
, x+ i' \# H% M |