麦克风阵列(精选七篇)
麦克风阵列 篇1
球面谐波是波动方程在球坐标系下的解中关于角度的函数, 它是球面傅里叶变换的基函数, 不同阶次的谐波之间相互正交。球面谐波分解在麦克风阵列处理中的应用是基于入射声场的传播与散射, 由傅里叶声学原理[1]提出的, 这类方法也称为球面谐波域阵列处理。基于球面谐波分解的波束形成就是首先通过球面傅里叶变换将入射信号的声压变换到球面谐波域内, 然后对各阶次的谐波进行加权求和得到整个阵列的输出。
Meyer和Elko[2]通过对声场进行球面谐波分解, 得到一种简单、灵活、有效的波束形成器结构, 输出波束的形状并不会随着方向的改变而变化。Abhayapala和Ward[3]将类似的阵列应用到高阶声场录音和重构中。Abhayapala[4]还将3D球面阵的分解方法扩展到环形阵中, 进一步扩展了球面谐波在不同阵形中的应用范围。随着研究的深入, 学者们对球面谐波的提取及球面谐波域波束形成进行了更详细的阐述, 提出了许多有效的算法。Rafely[5]曾针对远场窄带情况对球面阵的采样和波束形成进行了总结。
本文结合新近出现的算法, 从球面谐波的分解原理和提取方法出发, 按照空间域波束形成的分类方法[6], 对球面远场窄带波束形成进行分类, 并总结了针对近场源和宽带信号提出的新算法。同时也对比分析了球面谐波域中不同阵形波束形成算法的原理和性能, 及其在麦克风阵列信号处理中的可能应用, 以方便那些从事麦克风阵列应用研究的读者。
1 基础理论
球面傅里叶变换是整个算法的基础, 它实现了信号从阵元域到球面谐波域的变换, 在实际工程应用中, 通常利用采样的离散变换来代替连续的变换。本部分将对球面傅里叶变换和空间采样的规则进行介绍。
1.1 球面傅里叶变换
假设入射信号的声压为p (k, r, Ω) , k为波数, (r, Ω) = (r, θ, φ) 表示球面坐标下的空间位置坐标, Ω 0表示入射信号的期望方向。在理想情况下, 对声压进行球面傅里叶变换得到球面谐波系数:
undefined
逆变换可以表示为:
undefined
其中, Yundefined (Ω) 为n阶m度的球面谐波, 具有正交性;bn (kr) 依赖于球形, 常用的球面阵分为透明球、刚性球等[1]。
undefined
jn、hn分别是n阶Bessel函数与Hankel函数, j、h为对应函数的导数。Rafely介绍了多种透明球结构, 给出了相应的bn (kr) , 还提及了半球阵和一种改进的球形结构, 在该阵列中阵元位于类似于球壳的容器中[5]。
1.2 空间采样
空间采样, 是指利用离散分布的阵元来代替连续的孔径对声场进行采样。假设在球坐标系下, 阵元的空间角度用Ωj, j=1, …, M表示, M表示阵元总数, 所有阵元的空间位置应该满足离散正交性:∑αjY (Ωj) Y (Ωj) =δn-n’ δm-m’, αj为满足该条件的权值。当提取的谐波阶数为N时, 为避免空间混叠, 阵元总数M应该满足M ≥ (N+1) 2[7]。
如果入射的声压为p (k, r, Ω) , 则经过阵元的离散采样之后, 在球面谐波域中, 式 (4) 成立。
undefined
根据不同的采样方法, 阵元总数M和αj的取值也会不同。常见的采样方式包括等角度采样、高斯采样、均匀采样等, Rafely对它们各自的特点和优势进行了比对[8], 并指出:等角度采样简单但是需要最多的采样点;高斯采样在方位角上与等角度采样点数一致, 但在俯仰角上点数是等角度采样的一半;均匀采样需要最少的点数, 但要求相邻阵元间距离相等, 例如:当采样点数较少时, 可以将阵元分布在正多面体的顶点处。
此外, Vicente[9]提出了两种新的采样方法, 将阵元分布在不同的圆环上, 每个环可以构成一个子阵, 并将圆环按照纬度排列。在保证满足奈奎斯特定理的前提下, 增加阵元之间的距离, 从而减少阵元的数目。新的方法能够保持较高的方向性和波束响应的对称性。
2 球面阵波束形成
在完成空间采样获得pnm (k, r) 后, 在球面谐波域中进行加权求和可以得到阵列的输出, 如式 (5) 所示。
undefined
通常情况下为了得到关于观测方向对称的波束, 令权值wnm=dnY (Ωl) /bn (kr) , dn的作用在于控制波束响应, Ωl表示观测方向。
波束的设计是选取不同的权值来满足波束要求的过程, 下面基于球面观测阵列, 围绕权值w或dn的获取方法和入射信号源的情况, 按照远场与近场、窄带与宽带、对球面波束形成进行分类。其中, 研究相对成熟的是远场窄带情况, 其次是远场宽带, 近场情况文献较少。
2.1 远场窄带波束形成
根据Van Veen和Buckly对传统波束形成的分类方法[6], 我们将球面阵远场窄带波束形成也分为三大类:固定波束形成、统计最优波束形成和多约束的最优波束形成。
2.1.1 固定波束形成
在这类波束中dn的获取方法是固定的, 并不依赖球面谐波域数据。包括常规波束、延迟求和波束、契比雪夫加权波束等关于观测方向对称的常用波束, 以及并不具有对称性的普通波束, 例如, 利用Wigner-D函数对dn加权求和设计权值w的方法。Rafely[5]主要总结了它们各自的设计原理和输出响应特性。
2.1.2 统计最优波束形成
在球面谐波域内, 统计最优波束形成与空间域类似, 权值依赖于阵列接收数据的统计特性。其实, 阵列的输出不仅可以表示成球面谐波域的采样结果, 也可以直接在空间域中表示, 具有类似的表达形式。如式 (6) 所示。
undefined
因此, 可以将空间域中的统计最优算法扩展到球面谐波域中使用, 例如, MVDR、LCMV、GSC等经典算法, 并且在球面谐波域中可以减少运算量, 提高运行效率[10]。
2.1.3 多约束最优波束形成
多约束最优波束形成是指在保证期望波束的同时, 可以对其它方向的信号或者相关的性能指标进行约束, 最后得到一个最优化的权值, 达到对波束进行优化的目的。
Li和Duraswami[11]、Meyer和Elko[12]提出了权值优化的球面波束形成算法, 引入白噪声增益作为性能约束条件, 权值w是整个优化过程的结果, 在一定条件下是最优的。Rafely[13]提出了能够同时在空间域和球面谐波域中实现的多零陷算法, 针对非对称的普通波束, 在保证期望波束的同时可以对多个方向的干扰进行抑制, 增强期望信号, 并应用到室内脉冲响应的测量中。
Shefeng Yan[17]将二阶锥化与波束形成相结合, 在球面谐波域内将多约束的最优算法看成是凸优化的二阶锥化过程, 权值和输出的波束是对多项性能指标优化后得到的最优结果。例如, 鲁棒的最小旁瓣算法[14], 在保证期望方向的响应和主瓣宽度的同时, 使得旁瓣的峰值最小。最优的模态波束形成[15], 它将多个性能参数约束考虑到一个优化过程中, 试图从这些相关的参数中得到有效的最优解。与前面提到的算法不同的是, 它可以动态地对干扰进行抑制, 可以应用到语音增强和去混响中。此外, 该思想也可以应用到多波束形成算法[16]中, 可以同时对多个期望的波束进行约束。
2.2 远场宽带波束形成
球面阵的远场宽带波束形成, 也可以分为频域和时域两类进行实现。结合频域的算法, 先将宽带信号经过DFT变成窄带信号, 然后在球面谐波域内计算各个频率的权值。同样, 基于FIR滤波器的时域算法也可以扩展到球面谐波域内, Shefeng Yan[17]提出了一种在时域内实现球面谐波域宽带波束形成的算法, 将权值的获取看成是滤波器设计, 并带有多约束的最优化过程, 得到的权值是多个指标优化后的最优解。在算法实现流程中, 借鉴Meyer和Elko[18]的球面波束形成时域处理方法, 将球面谐波的实部与虚部分开作为球面傅里叶变换的基, 在球面谐波域内得到实数信号, 最后经过FIR波束合成模块得到波束响应。该算法有着比空间域宽带处理更小的计算量。此外, V. Tourbabin[19]提出的实权值波束形成算法可以看作是FIR实现的一种特例, 只需要一组滤波器系数即可, 它指出刚性球更适合用此类算法, 并将算法性能和复权值算法进行比对。
2.3 近场波束形成
上述算法都是基于远场假设的, 但在实际应用, 例如, 手提电话中信源到阵元的距离变小, 远场平面波的假设将不再成立, 因为在波束响应中信号的相位和幅度可能会出现误差。Meyer和Elko[20]提出了近距离通话麦克风阵, 它基于对近场源声场的球面谐波正交分解, 并通过不同模态间的比值估计出信源的距离, 加上角度估计可以对信源进行定位。Fisher和Rafely[21]也已经用阵列的阶数, 信号频率和位置等参数定义了近场准则, 并对波束响应随径向距离变化的情况进行了研究。最近, Fisher和Rafely[22,23]又将径向滤波器应用到实际的近场球面阵和实际语音信号中, 在控制波束响应方向性能的基础上, 试图提高阵列的径向性能。常用的滤波器有径向契比雪夫、径向V型滤波器等, 分析它们的设计方法和性能, 结果表明它们可以提高对不同距离干扰的抑制能力, 具有不同的距离分辨力。
3 线阵和环形阵波束形成
在进行球面谐波分解时, 通常将球面阵作为第一选择, 但是它要求阵元的位置必须严格正交, 这会限制阵列形状的灵活性。
Kennedy和Abhayapala[24,25]课题组对球面谐波在线阵波束形成中的应用进行了研究。他们根据z轴上线阵波束的轴对称性, 简化了波动方程的球面谐波解, 并论证了近场和远场波束响应的等价性。通过径向变换、径向互惠关系等将近场宽带响应变换到远场中, 利用成熟的远场算法设计相应的波束。
Meyer和Elko[26]试图用环形阵去提取球面谐波, 利用了x-y平面内的环形阵和原点处的一个阵元, 这种阵列结构对于高度不变的2D声场分析比较有效, 不能完全提取出3D场的全部谐波。Abhayapala[4]提出更适用于3D声场分解的阵列结构, 阵列由一组互相平行的环形阵组成。在进行球面谐波分解的时候, 根据波动方程、勒让德函数和球面贝塞尔函数的性质, 将环形阵分为位于x-y平面的、平行于x-y平面的, 并在z轴上放置相应数目的阵元, 最后将该混合结构应用到远场宽带波束形成中。
4DOA估计
球面谐波域内的高精度DOA估计主要针对用球面麦克风阵列观测相干和/或宽带源的情况。Teutsch[27]提出了球面阵子空间DOA估计的算法, 思想类似于阵元域中的算法。接着, Teutsch[28]将球面谐波分解后得到的子波束应用到多个宽带信号源的检测和定位中, 在定位过程中用到球面Esprit算法。Goossens和 Rogier[29]对上述的球面Esprit算法进行改进, 它可以对方位角和俯仰角自动配对, 并进行二维DOA估计, 即使在相干情况下, 它的运算量更低性能也更好。Sun Haohai[30]等指出球面子空间Esprit算法在现实应用中存在的关键问题, 例如, 相干源和多个信源的定位问题等, 并结合频率平滑、方向矢量扩展等技术来提高算法的性能, 利用Eigenmike麦克风阵列进行测试。 Khaykin[31]在利用球面阵对相干源进行DOA估计时, 在频域将频率平滑和MUSIC算法结合, 并在实际环境中得到了比波束形成更好的性能。Li Xuan[32]等利用球面阵阵元的正交性, 提出了球面MUSIC算法, 与传统MUSIC、波束空间MUSIC以及很多改进算法相比, 该算法有更好的估计精度。Sun Haohai[33]将子波束MVDR算法用到宽带相干源的定位和提取中, 在较精确地估计出DOA之后, 通过计算TDOA可以确定信号的空间位置。Mabande和Sun Haohai[34,35]等人在室内环境中利用Eigenmike麦克风阵列, 对基于子空间和基于波束形成的DOA估计算法的性能进行比对, 包括子空间MUSIC, 子空间ESPRIT和MVDR等算法, 主要测试了不同算法对室内反射体的定位性能。
5 结语
基于麦克风阵列的语音增强系统设计 篇2
在车载系统、电话会议与多媒体会议等非手持式的智能语音通信系统中,由于受到环境噪声、混响以及干扰等因素的影响,麦克风拾取的语音信号质量较差,而这将直接影响到语音编码及语音识别系统的性能[1]。因此,需要设计一种便携的语音采集装置,以增强封闭环境下的带噪语音信号质量。本文论述了一种采用麦克风阵列方式,并以数字信号处理器TMS320VC5509A为核心处理器的语音增强系统,对系统各功能模块进行了较详细的介绍;同时,对语音信号存在的高斯白噪声和有色噪声分别处理,先采用压缩比为1:4的自适应差分脉冲编码调制方法[2]对语音进行压缩,滤除高斯白噪声,后在此基础上进行卡尔曼滤波,进一步滤除有色噪声,实现了语音增强的功能。
1 系统组成和技术指标
在麦克风阵列语音增强系统中,选择几路麦克风来采集语音信号是一个重要的因素。针对不同的系统需求、不同的增强算法,麦克风的数目是多变的。为了提高硬件设计的灵活性和实用性,以便于更好地利用电路,随时增减麦克风的使用数目,该系统在实际电路组成上提出了一种全新的子母电路板相结合的方式。其中,子板的作用是语音采集预处理;母板的作用是模数信号转换和信号处理。能够实现这样的电路设计,主要是由于在模数转换器的选择上,系统选择了一款可级联扩展的芯片AD73360。单块AD73360芯片最大支持6路AD转换,而对麦克风阵列提取的语音信号而言,4到8路即可充分保证信号空间域信息的完整性。因此,在本系统中级联2块AD73360芯片,即系统最大支持12路麦克风同时采集信号。
系统的子母电路板设计如图1所示。子板和母板通过排线相连,可通过母板上的开关切换选择连接的子板数目。
系统的主要技术指标:信号类型为带有近场噪声的语音信号,信噪比低于20dB,声源距麦克风距离不超过2米,采用+5V直流电作为工作电压;单块子板的麦克风个数为6个,一块母板最大可支持级联两块子板,即系统最大支持麦克风阵列个数为12。
2 系统硬件设计与实现
系统采用TI公司的定点DSP芯片TMS320C5509A作为主控制器。图2给出了麦克风阵列语音增强系统的硬件功能框图,主体由语音采集预处理单元、模数转换单元、数字信号处理单元、USB传输单元等四大模块组成。
2.1 语音采集子板设计
近场语音环境复杂,语音采集子板应包括麦克风阵列、前置放大、带通滤波三个部分。子板电路的设计要保证各路信号接收传递的电路完全一致,尽可能减小相位采集的误差。
2.1.1 麦克风阵列
麦克风阵列是指由一定的几何结构排列而成的若干个麦克风组成的阵列。麦克风阵列的几何结构越复杂,对应的阵列信号处理模型就越复杂[3,4]。该系统采用均匀间隔线性麦克风阵列,麦克风数量为6个。这种结构不仅可以满足系统需求,而且可以简化系统数学模型,降低系统运算复杂度。
2.1.2 前置放大电路
麦克风阵列采集到的6路差分峰值电压值很低,为毫伏级,难以满足A/D处理芯片的输入要求。为了解决此问题,需要将原始信号放大到可以满足A/D采集需要的电压值。就该系统而言,采用全向性驻极体麦克风采集到的电压值约为2mV左右,而A/D采集所需要的电压值为2V左右,这就需要将原始信号进行前置放大1 000倍。基于此,系统选用音频放大芯片MAX4061设计前置放大电路。它的突出优点在于差分输入单端输出且工作电压低。
2.1.3 带通滤波电路
考虑到人耳的语音接收频率范围为300Hz~3 400Hz,系统在前置放大电路后级联了6个电路结构完全一致的二阶带通滤波电路,滤除了语音之外的噪声。
2.2 信号处理母板设计
系统的母板主要实现模数转换、核心DSP及其外设、USB传输三大功能。母板通过排线与子板相连,可以保证模拟信号在进入A/D芯片前的电路完全一致,不会出现过多的相位采集误差。
2.2.1 模数转换电路
AD73360是AD公司推出的6通道模拟输入的16位串行可编程模数转换芯片,其采样率和输入增益都是可编程的。其中,采样率可分别设置为64KHz,32KHz,16KHz和8KHz(输入时钟为16.384MHz时),增益可在0dB到38dB之间选择。AD73360能保证6路模拟信号同时采样,且在变换过程中延迟很小(每通道间转换25μs延迟)。AD73360还支持多片级联使用,从而扩充模拟输入的通道数。在系统中同时级联2片AD73360芯片,最大支持12路模拟信号同时接入。
AD73360的模拟输入通道可以选择差分输入或单端输入,考虑到前置放大电路已将差分信号转换为单端信号,该系统将6个通道配置成单端输入。此外,AD73360有一个带缓冲的基准电源输出端REFOUT,作为模数转换的基准参考电压。AD73360的模拟和数字电源可以选择5V或3.3V。使用5V电源时,REFOUT额定值为2.5V;使用3.3V电源时,REFOUT额定值为1.25V。该系统选择1.25V作为基准电压,用来偏置模拟输入端的电平。
AD73360有三种工作模式:程序模式、数据模式和混合模式。在系统初始化阶段,要在程序模式下对AD73360的8个控制寄存器(CRA、CRB、CRC、CRD、CRE、CRF、CRG、CRH)进行配置,以实现模数转换及转换后的数据输出[5]。
2.2.2 核心DSP及其外围电路
系统的模数转换采样率为8KHz,每采样点16bits量化,麦克风阵列共6路,每路信号的帧长为128点,则每帧要处理的数据可达2KB,每秒可达300KB,这是个较为庞大的数字;如果预计软件计算量为1Mcycles/帧,处理延迟为2ms,则要求处理器的工作频率至少在150MHz以上,方能满足要求。该系统采用TI公司针对低功耗应用设计的TMS320C55X系列高性能数字信号处理器VC5509A作为核心处理器。TMS320VC5509A是一款高性能低功耗的16位定点处理器,最高主频200MHz,运算处理能力400MIPS,它是系统的运算核心。通过配置锁相环PLL电路来控制DSP内核的工作频率,外部提供一个参考时钟输入,经过PLL倍频后提供给DSP内核。该系统的工作主频定为200MHz[6]。
TMS320VC5509A本身带有3个多通道缓冲串行接口(McBSP)。McBSP的数据发送通过两级缓冲完成,数据接收通过三级缓冲完成[7]。
McBSP和AD73360都支持工业标准的六线同步串行接口(SPI),可以最大程度地简化电路,提高设计的可靠性。在该系统中,将McBSP0设置为SPI主从模式,连接DSP和AD73360,DSP为从设备,AD73360为主设备,实现模数转换后的信息传递。具体电路如图3所示。DSP的XF引脚和AD73360的RESET引脚和SE引脚相连,XF信号用于对AD73360进行控制,在系统正常工作期间保持高电平;AD73360的串口时钟SCLK信号作为McBSP0的发送时钟信号CLKX和接受时钟信号CLKR;四个帧同步信号连接成帧同步返回环方式,即将AD73360的输出帧同步信号SDOFS、输入帧同步信号SDIFS和McBSP0的发送帧同步信号FSX、接收帧同步信号FSR相连。这样,无论发送帧同步信号或接收帧同步信号,都将强制保持同步,避免了数据丢失。此外,AD73360的数据输入引脚SDI与McBSP0的数据发送引脚DX相连,用于接收DSP对AD73360的控制;AD73360的数据输出引脚SDO与McBSP0的数据接收引脚DR相连,用于向DSP传输AD转换后的语音信号。
硬件电路需要在加电后脱离主机和仿真器实现自启动引导装载。FLASH存储器作为一种高速的具有电擦除可改写的非易失性存储器,可以完成DSP的自启动设计。该系统采用FLASH芯片AT25F1024N来与DSP完成数据的读写,时钟线与数据线都直接接到DSP的McBSP1。此外,为了满足语音进入DSP后的信号处理和数据存储,需要借助外扩大容量存储单元SDRAM。DSP采用EMIF接口连接SDRAM芯片HY57V641620。
外扩的大容量SDRAM和SPI接口的串行FLASH为麦克风语音算法提供了充足的数据及程序存储空间。
2.2.3 USB接口电路
为了满足在语音处理过程中出现的大量数据存储和实时传输,系统采用USB接口电路与上位机保持通信,实现语音信号的同步传输,避免在数据传输过程中因信息量过大导致的数据丢失。
系统采用C5509A内部集成的USB模块来完成USB通信,使系统的硬件设计和调试难度大大降低的同时,也提高了系统的集成度和稳定性。
3 系统软件设计
系统的软件分为DSP硬件电路的驱动程序、ADPCM语音压缩算法和卡尔曼滤波算法三部分。前者完成了整个电路的初始化配置,后者实现了对麦克风阵列语音信号的滤波处理,先后滤去了高斯白噪声和有色噪声,完成了语音增强功能。
3.1 硬件驱动
为实现麦克风阵列语音信号的采集和传递,需要对系统的硬件电路进行初始化配置,包括DSP芯片的工作状态选择、AD采集芯片的配置、SPI主从模式的配置、FLAH及SDRAM的地址分配、USB模块的驱动等。图4给出了硬件电路实现语音采集压缩的工作流程。
3.1.1 AD73360的初始化配置
AD73360具有8个控制寄存器,对它的初始化配置实际上就是DSP通过DX0管脚向AD73360写入控制字,从而对不同的寄存器赋值,使AD73360可以工作在不同的状态。
AD73360的MCLK引脚是主时钟输入,需要由外部时钟信号驱动,频率为16.384MHz;串口时钟SCLK信号决定数据串行传输速率,由控制寄存器CRB控制,一般为主时钟频率除以一个整数。两者时序关系图如图5所示。
DSP向AD73360的控制寄存器写入控制字的串口时序如图6所示:当SE处于高电平时,SDIFS和FSX会在SCLK的某一个上升沿或下降沿同时得到一个帧同步信号;接着DX开始向SDI写入16位控制字,用于配置AD73360的8个控制寄存器。
DSP写入AD73360的控制字为16位,其中高2位用于设置AD73360的工作模式,可在控制、数据、混合三种模式下进行切换;中间的6位用于选择器件和寄存器的地址;最后的低8位将保存写入选择的寄存器中。系统设置AD73360的串口传输速率为2MHz,采样率为8KHz,并依次通过DSP向AD73360写入控制字。
3.1.2 SPI接口配置
为了实现DSP对AD73360的读写,需要将McBSP0设置为SPI主从模式。SPI接口一共具有四种操作模式,它主要决定了设备接收和发送数据时的时钟相位和极性,即决定了时钟信号的上升和下降沿与数据流向之间的关系。由于系统将DSP设置为从设备,为避免时钟错误,需要将McBSP0设置为时钟停止模式,即将McBSP0的串口控制寄存器SPCR1中的CLKSTP位设置成11b,将管脚控制寄存器PCR中的CLKXP位设置为1b的模式。
将McBSP设置成SPI接口需要遵循以下步骤:
① 设置SPCR2的XRST位和SPCR1的RRST位均为0,将发送器和接收器复位。② 设置SPCR2的GRST位为0,将采样率发生器复位。③ 分别设置McBSP的相关寄存器,将McBSP配置成从设备,CLKX引脚和FSX引脚均配置成输入端,由外部主设备提供信号。④ 设置SPCR2中的GRST为1,重新使能采样率发生器。⑤ 采样率发生器被释放后,等待两到三个时钟周期以保证信号的同步,再设置XRST和RRST位为1,使能发送器和接收器;继续等待两到三个时钟周期,使内部正确同步。⑥ 上述步骤完成了McBSP的SPI配置,如果McBSP选择为主设备,则还需要设置SPCR2的FRST位为1,以提供内部帧同步信号。
3.1.3 USB模块驱动
USB驱动程序主要包括两个部分:DSP上的USB固件驱动和上位机的USB管理程序。其中,前者指运行在DSP的CPU中的程序,主要完成USB协议的处理和设备与上位机的数据交换;后者指运行在上位机中的程序,主要完成USB设备的识别和地址分配。
当上位机检测到有设备连接到USB总线时,上位机会向USB设备发出一系列的设备请求,获取USB的一些属性,如设备支持的最大传输速率、设备接口特性、设备端点个数等,这些属性信息在USB的固件驱动上已事先经过定义,上位机上的USB管理程序只是将这部分的信息提取出来。接着,上位机会为已经识别确认的该USB设备分配一个唯一指定的地址,当发生数据传递时,USB设备就通过该地址向上位机传递相关的数据。以上的过程称为USB设备的枚举。USB设备枚举过程结束后,USB设备就可以正常使用了。
3.2 ADPCM语音压缩算法
ADPCM是自适应差分脉冲编码调制的简称,最早使用于数字通信系统中。该算法利用了语音信号样点间的相关性,并针对语音信号的非平稳特点,使用了自适应预测和自适应量化这两种核心算法,将声音流中每次采样的16bit数据以4bit存储,所以压缩比为1:4。由于压缩/解压缩算法非常简单,所以ADPCM是一种低空间消耗、高质量、高效率声音获取的好途径。
本系统设计选择ADPCM作为语音压缩算法主要是基于以下两个考虑:① ADPCM是在时域对信号进行处理,不会影响信号的频域和空间域信息,即经过ADPCM压缩还原不会影响后续信息的提取。② ADPCM算法实现相对简单,且性能优越,可以最大限度的滤除语音采集过程中出现的高斯白噪声。
ADPCM算法结合了DPCM和ADM算法的精髓,可以理解为在差分算法DPCM的基础上根据自适应增量ADM编码原理进行的算法改进。改进的环节有两个:① 量化器的量化步长随着输入信号电平的相关变化而随时做出调整,用大的量化步长去量化大的差值,用小的量化步长去量化小的差值。② 线性预测滤波器的预测参数是自适应的随时调整的[8]。
在DSP上对数字信号进行ADPCM算法处理,可以一定程度地降低语音录入过程中的高斯随机噪声,提高信号质量,便于进一步的处理;同时对信号进行压缩,提高了信号的存储容量。
在距离不超过2米的近场环境中进行语音采集,分别录入“a”、“toefl”和“12345”三段语音,经过ADPCM处理后得到还原信号,计算误码率分别为3.05%、6.10%和2.17%,再结合实际人耳听觉判断,可以得出信号基本无失真的结论。此外,为了进一步验证ADPCM算法对高斯白噪声的抑制能力,只选取一路麦克风录入语音“toefl”,并人为在语音采集端加入大量高斯白噪声,经ADPCM压缩处理后,对比观察前后信号波形,如图7所示。可以明显看出信号中存在的高斯白噪声已得到了充分抑制。
3.3 卡尔曼滤波
考虑到系统已通过ADPCM算法对高斯白噪声进行了抑制处理,尚需进一步对有色噪声进行处理。该系统选取抑制有色信号效果显著的卡尔曼滤波算法[9]。
卡尔曼滤波是一种以状态变量的线性最小方差递推估算的方法。简单地说,卡尔曼滤波是在时域内不断地进行“预测——修正——递推”的过程,这里不再深入展开。
4 讨 论
本文阐述了一种基于麦克风阵列的语音增强系统的设计方案,首先详细介绍了系统的硬件结构组成,包括电路的设计和芯片的选型,并在此基础上讨论了相关驱动的编写。然后具体描述了系统的语音处理工作流程,并对含有高斯白噪声的语音进行ADPCM处理,接着采用卡尔曼滤波进一步对有色噪声处理。最后,通过USB将多路语音传递至上位机储存。经系统测试,该系统可以在距离不超过2米的近场环境中最大限度地提高语音信号质量,还原后的信号清楚无失真,达到了预期设计目标。
摘要:针对目前在近场语音环境中语音增强系统噪声干扰大、难以清晰还原信号等局限性,设计并实现一种基于麦克风阵列的新型语音增强系统。系统硬件设计新颖,采用低功耗设计,最大支持12路语音信号同时采集,同时对噪声的处理采用自适应差分脉冲编码调制和卡尔曼滤波算法相结合分开处理的新型方式。通过Matlab仿真和封闭近场环境下的实际测试,结果表明该系统性能稳定可靠,可以提高语音清晰度,实现短距离的多路语音增强。
关键词:语音增强,麦克风阵列,数字信号处理器,自适应差分脉冲编码调制,卡尔曼滤波
参考文献
[1]刘悦.基于近场的麦克风阵列语音增强方法研究[D].长春理工大学,2009.
[2]杨白,唐宁,汪洋,等.ADPCM语音解码合成输出系统的设计[J].光通信研究,2009(1):33-35.
[3]Khalil F,Jullien J P,Gilloire A.Microphone array for sound pickup inteleconference systems[J].Audio Engineering Society,1994,42(9):691-700.
[4]胡曙辉.麦克风阵列语音增强算法研究[D].西安电子科技大学,2008.
[5]ANALOG DEVICES.Six-Input Channel Analog Front End AD73360L[M].2000.
[6]Texas Instruments.TMS320VC5509A Fixed-point Digital Signal Pro-cessor Data Manual[M].2003.
[7]Texas Instruments.TMS320C55x DSP Multichannel Buffered SerialPort(McBSP)Reference Guide(Rev.B)[M].2004.
[8]任学利.基于TMS320C5402的G.721语音压缩算法的设计与实现[D].内蒙古大学,2006.
麦克风阵列 篇3
声定位技术在许多领域中有着广泛的应用,如战场目标声侦察系统、反武装直升机武器系统、反巡航导弹声学监测系统[1]等。近年来,在狙击手探测系统的研制方面,声探测与定位技术始终是重点研究的内容之一。
子弹发射产生两种声波:子弹发射位置产生的爆破波和弹道任一点产生的马赫波,在轻武器射击点的声定位系统中,准确地获取弹道波信号与枪口爆破波信号的时间特征值是实现精确定位的关键[2]。但是利用爆破波对枪声进行定位较为简单,易实现。
因此,本文首先利用单个麦克风阵列对子弹发射位置产生的爆破波进行定位,然后将多个阵列的定位结果进行数据融合使定位结果更加精准。
1 理论分析
1.1 枪声位置初步估计
将麦克风阵列设计为正四面体,根据爆破波到达四个麦克风的声达时间差对枪声的位置进行初步估计。为简化模型,假设麦克风阵列各阵元通道内部噪声均为零均值的加性高斯白噪声,不同阵元间噪声彼此独立,且与信号不相关,噪声带宽与信号带宽相同。基于上述假设,定位模型如图1所示。
以第一个麦克风P1作为参考阵元,则第n个麦克风Pn接收到的信号如下:
yn(k)=m(k-t1-τn1)+vn(k) n=2,3,4 (1)
式中,m(k-t1-τn1)为Pn接收到的爆破波信号,vn(k)为加性高斯白噪声。t1是枪声传播到P1的时间,τn1是枪声传播到P1与Pn的时间差。则距离差[3] :
式中,n=2,3,4,c为声速,(xn,yn,zn)为麦克风Pn的坐标,(x,y,z)为枪声P的坐标。
根据文献[4,5]将式(2)分解得:
2(xn-x1)x+2(yn-y1)y +2(zn-z1)z+2τn1u
=xn2-x12 +yn2-y12 + zn2-z12-τn1 2v (3)
式中,
则式(3)可表示为:
Aθ=b (4)
式中:
在不考虑噪声条件下得出θ的最小二乘解:
考虑到噪声等因素时的时延:
式中
为了提高噪声条件下最小二乘解的估计精度,采用加权最小二乘法进行分析,得到误差向量[6]:
误差向量的协方差矩阵R2为:
R2 = E(δδT)≈4B2 QB2 T (8)
式中,
由此可以得到θ的一次加权最小二乘解[8]:
θ2=(ATR2-1A)-1ATR2-1b (10)
为了精确得出枪声位置,利用式(10)得出的估计值进行二次加权,不妨设
定义:
ξ=((x1-x)2 (y1-y)2 (z1-z)2)T
因此,得到:
Hξ≈p
误差向量:
则二次加权最小二乘解:
ξ = (HTR3-1H)-1HTR3-1p (12)
其中加权矩阵:
式中:
由此得到枪声坐标:
其中“±”的判断可根据
1.2 数据融合
为精确进行枪声定位,本文利用一致性算法对多个阵列的定位结果进行数据融合,使定位结果更加准确。将多个阵列估计的枪声位置作为可能范围进行搜索,得到枪声位置和发枪时刻。
由于阵列中阵元间距相比于各阵列间的距离非常小,所以取阵列中4个麦克风检测到爆破波的平均时刻作为该阵列检测到爆破波的时刻,4个麦克风中心位置作为该阵列的位置[9]。不妨设第i阵列的坐标为(xi,yi,zi),检测到爆破波的时刻为ti,则发枪时刻t的爆破波到达第i个阵列的理论时间:
如果ti是对接收爆破波时刻的准确估计,那么
在定位误差、时间估计误差范围已知的基础上,τ的范围可以确定,并且
一致性算法求解如图2所示。
图2中,S1,S2,…,S6为麦克风阵列,检测到的爆破波的时刻分别为t1,t2,…,t6,P1为真实的枪声位置。
发枪时间分布在时间轴上,当枪声在P2点时,计算得到的发枪时刻如图所示,在时间轴上找不到集中的时间群,当枪声在真实位置P1点时,计算得到的发枪时刻ti(P1),i=1…5符合式(17)的条件,因此可以认为是一致的,而t6(P1)不符合条件,因此t6(P1)是错误的时刻估计,将其剔除。
令
那么可以认为发枪时刻为ti(xs,ys,zs)的平均值。
2 计算机仿真
通过MATLAB对算法性能进行检测。将录制的一段7.62mm突击步枪击发时的爆破波信号作为声源,在仿真中取最大位置测量误差δ1=2cm,最大时延估计误差τ2=5μs。随机摆放三个正四面体阵列,根据几何关系,计算爆破波到达三个麦克风阵列的时间,然后将三个麦克风阵列的坐标,到达时刻作为已知量,分别用TDOA定位算法与本文算法进行50次仿真,枪声定位误差的分布如图3所示。根据计算,TDOA定位算法的枪声定位误差为1.704m,本文算法的枪声定位误差的平均值为1.576m,能够取得比TDOA定位算法更精确的位置。
TDOA定位算法不能剔除实际应用中多径干扰引起的错误时延估计,为了表现本文算法的优越性,在8个阵列的时延估计中加入1-4个8ms的错误时延估计,两种方法的定位结果如图4所示。
图4可以看出,当错误时延估计比例为0%时,两种方法定位误差几乎一样,而当错误时延估计比例增加时,TDOA的定位误差呈线性增大。
当麦克风阵列数量逐渐增大时,通过仿真得出定位误差随着阵列个数的增加而减小,如图5所示,但随着阵列数增多,对硬件的要求也随之增大,因此,应在阵列数与定位精度之间取折衷。
3 结 语
本文对基于多麦克风阵列的枪声定位算法进行了理论推导,运用二次加权最小二乘法对枪声位置进行初始估计,然后利用一致性算法多个麦克风阵列定位结果进行数据融合,得到枪声的精确位置。但是,算法的复杂度会随着阵列数的增加而急剧加大,如何在复杂度与定位精度之间取得折衷,获得实用的算法将是下一步的研究工作。
参考文献
[1]肖峰,李惠昌.声武器和测量[M].北京:国防工业出版社,2002:40-45.
[2]张飞猛,马春茂.对空射击声学靶脱靶量测试系统的精度分析[J].兵工学报,2000,21(1):23-26.
[3]傅中华.基于节点交互的狙击手定位算法研究与交互接口设计[D].北京交通大学,2011:8-9.
[4]Smith J O,Abel J S.Closed-form least-squares source location estima-tion from range-difference measurements[J].IEEE Trans.Acoust.Speech,Signal Proces.1987,12(35):1661-1669.
[5]Friedlander B.A passive localization algorithm and its accuracy analy-sis[J].IEEE J.Ocean,1987,12(12):234-245.
[6]Tarik Yardibi,Li Jian,Petre Stoica,et al.Source Localization andSensing:A Nonparametric Iterative Adaptive Approach Based onWeighted Least Squares[J].IEEE Trans AEROSP ELECTRON SY,2010,46(1):425-443.
[7]Sanctis G D,Rovetta D,Sarti A,et al.Localization of tactile interac-tions through TDOA analysis:geometric vs.inversion-based method[C]//Proceeding of 2006 European Signal ProcessingConference,2006.
[8]Morrissey R P,Ward J.Passive acoustic detection and localization ofsperm whales in the tongue of the ocean[J].Applied acoustics,2006,67(11):1091-1105.
[9]吴松林,杨杰.声定位系统中的弹道波信号分析及弹道矢量计算[J].探测与控制学报,2009,31(2):54-58.
麦克风阵列 篇4
阵列信号处理的发展源于20世纪40年代的自适应天线组合技术, 它使用锁相环进行天线跟踪。1967年Widrow提出最小均方 (LMS) 自适应算法, 标志着阵列信号处理取得了显著进展。1969年Capon提出恒定增益指向最小方差波束形成器, 通过增加已知信息的利用程度提高了对目标的分辨能力。1979年Schmidt提出多重信号分类 (MUSIC) 方法, 开创了子空间类阵列信号处理算法研究的先河, 是阵列信号处理发展史上的一个重要里程碑。1986年Roy等人提出的基于旋转不变技术的信号参数估计方法 (ESPRIT) , 相对MUSIC算法大大降低了计算量同时降低了算法对硬件的要求, 为阵列信号处理的发展谱写了新的篇章。
麦克风阵列信号处理是阵列信号处理的一个新兴分支, 继承和发展了阵列信号处理理论算法, 最早于80年代初期用于大型会议室的会议系统[1], 证明了其在语音信号处理方面的独特优势。近年来它已成为现代信号处理的的重要研究热点之一, 很多国际著名的公司和研究机构, 如IBM, BELL等, 都致力于麦克风阵列的研究和产品开发。麦克风阵列正成为越来越流行的高质量语音拾取工具, 预计在不久的将来将取代传统的桌面或头戴式麦克风[2,3,4]。并且由于其在语音信号处理上具有其他信号处理方法无法比拟的优势, 被广泛应用于军事国防、智能空间、新型人机交互、机器人导航等众多领域, 并且随着研究的不断深化, 其研究应用的前景也不断扩大。
1 麦克风阵列信号处理的特点
麦克风阵列信号处理是阵列信号处理的一个新兴分支。在很长的一段时间里, 它的许多算法都是直接借用或简单修改成熟的传统阵列信号处理算法。这在研究初期大大推动了麦克风阵列信号处理的发展, 但深入的研究表明, 这些算法往往无法应用于实际系统或是算法性能不理想, 这主要是因为麦克风阵列信号处理具备以下区别于传统阵列信号的特点[5,6,7]:
语音信号是宽带信号 麦克风接收的语音信号没有经过调制, 阵元间时延和相位差与信号源的频率密切相关。且不同类型的语音信号频谱差异很大, 传统的窄带信号处理算法不再适用。
语音信号是短时平稳信号 麦克风接收信号为短时平稳的语音信号, 分析处理必须建立在短时的基础上, 特别是当声源移动时, 分析处理的难度变大。
应用环境存在高混响 在一些非手持式智能语音通信系统中, 麦克风与说话人距离较远, 特别是应用于室内环境时, 麦克风接收到的信号除语音直达外, 还包括大量经多次反射后形成的反射波, 造成高混响, 大大降低了语音信号的质量。而且造成混响的原因很多, 混响模型很复杂, 去混响难度大。
应用环境的噪声大且复杂 在麦克风阵列应用中, 背景噪声很复杂且不同应用环境的噪声源也不同, 如室内外的噪声源差异就很大。因此提高信号信噪比难度大。
2 麦克风阵列信号处理的研究内容
2.1 声源定位
麦克风阵列声源定位技术利用空间分布的多路麦克风拾取声音信号, 通过对麦克风阵列的各路输出信号进行分析和处理, 得到一个或者多个声源的位置信息。目前存在的声源定位算法主要包括基于波束形成的方法、基于高分辨率谱估计方法和基于到达时延差估计方法, 它们分别将声源和阵列结构之间的关系转变为空间波束、空间谱函数或者多个到达时间差信息, 然后通过估计这些信息进行声源定位。
2.1.1 基于波束形成的定位方法
基于波束形成的定位算法是出现较早的定位方法, 通过对麦克风阵列接收到的语音信号进行滤波、加权求和, 然后直接控制麦克风指向使波束有最大输出功率的方向。
式中:L表示波束输出;x (t) 表示各麦克风的接收信号。
式 (1) 就是一个典型的波束形成估计方程, 通过调整各麦克风接收信号的时延值τi使输出信号达到最大, 进而确定声源位置。因为解上述方程确定τi通常是一个非线性的优化问题, 无法直接计算得到, 通常采用Newton-Raphson算法或最陡下降算法来确定最大值, 而在声源定位系统中, 最大值对应的τi不是惟一的, 取决于信号的初始值, 许多研究人员提出采用峰值搜索的方法来解决这种问题[8]。但目标函数和峰值搜索的计算量往往很大, 这也成为基于波束形成定位方法最大的弊端。
2.1.2 基于高分辨率谱估计的定位方法
基于高分辨率谱估计的定位方法通过求解阵列接收信号的协方差矩阵获得空间谱函数, 再由此信息进行声源定位, 包括自回归模型、最小方差频谱估计、MUSIC、ESPRIT、子空间拟合等。其中的很多方法只能适用于远场模型, 即要求麦克风阵列与声源的距离较远, 远远大于麦克风阵元间距, 并且麦克风是布置成线形。将其用于近场时, 性能会下降很多。同时这种方法也要进行峰值搜索, 但它的峰值通常都比较尖锐[8,9]。
2.1.3 基于到达时延差 (TDOA) 的定位方法
基于到达时延差的定位方法是利用时延估计算法求出信号到达阵列不同麦克风的相对时延, 再利用这些时延信息和麦克风阵列的空间位置关系估计声源位置, 是麦克风阵列声源定位方法中应用最为广泛的方法。基于到达时延差的定位方法已经成功地应用于雷达、声纳系统中, 但是它们处理的信号是窄带信号, 信噪比高。应用于宽带、高混响的麦克风阵列定位系统时, 需要添加一些特殊滤波器并进行预处理。
基于到达时延差定位法的第一步是准确计算时延差。广义互相关函数 (Generalized Cross Correlation, GCC) 是出现最早的方法, 可以在时频两个领域进行计算时延差:
式中:x (t) 是麦克风的接收信号;s (t) 是声源信号;αi是衰减因子;τi是延迟量;n (t) 是噪声;y是两阵元的相关函数。
相关函数y最大值对应的τi就是所要求的阵元i和阵元j之间的时延差。为减少计算量, 还可以对信号进行FFT变换, 在频域做相关然后搜索峰值:
式中:R (t) 是两阵元频域的相关函数;X (f) 是麦克风接收信号x (t) 的傅里叶变换。
为提高抗噪、抗混响性能, 提高时延估计精度, 还可以通过加权函数来改进GCC, 例如相位变换法 (Phase Transform, PHAT) , 平滑变换法 (Smoothed Coherence Transform, SCOT) 等[10,11,12,13]。
式中:Ψ (f) 为加权函数, PHAT中的Ψ (f) 为:
最小均方 (Least Mean Square, LMS) 自适应滤波和自适应特征值分解 (Adaptive Eigenvalue Decomposition Algorithm, AEDA) 等时延估计算法都在声源定位中也到了广泛应用[14,15,16]。但自适应方法依赖于实验的初始值并且计算时会产生较大的时延, 无法适用于实时应用。文献[17,18,19,20]等分别使用广义互相关函数、基于语音信号模型或产生语音的激励源特征、最小平方和极大似然估计的方法给出了TDOA的估计或实现声源定位。
TDOA定位法的第二步是通过计算出的时延差来确定声源位置。理论上, 三个麦克风组成的阵列已经能确定声源位置, 而增加麦克风的数量, 即增加TDOA数据可以减小估计误差。通过TDOA来定位声源的方法有很多:例如极大似然法, 最小方差法等。极大似然法认定误差服从高斯分布, 试图寻找误差最小点。而最小方差法是试图找到一个点使期望的TDOA值与实测的TDOA值的方差和最小。
基于到达时延差TDOA的两步定位法, 延时小, 适用于实时的声源定位与目标追踪。但存在的问题是第一步从原始的麦克风接收数据中提取了时延差这一中间信息后, 丢弃了其他的有用信息, 只将TDOA用于第二步计算, 造成信息损失。一种更好的方法是将原始数据中所有的中间信息保留, 并都用于最后一步声源位置的确定[12]。
2.2 噪声抑制
噪声抑制是要去除观测信号中的噪声, 获得高质量的期望信号。由于通信过程中噪声的产生无法避免, 并且严重影响语音信号的质量, 因此噪声抑制一直是通信学研究的热点问题, 也出现了许多基于单一接收阵元的噪声抑制方法。然而这些方法存在的最大问题是在抑制噪声的同时, 往往也影响了期望信号, 付出信号可懂度下降的代价[21]。利用麦克风阵列独特的空间滤波特性, 可以很好地解决这一问题, 可以达到抑制噪声的同时不对期望信号产生任何干扰。
目前, 基于麦克风阵列实现噪声抑制的方法主要有自适应噪声对消和基于空间信息抑制噪声这两类方法, 其中, 基于空间信息的方法又可分为两大类:基于波束形成原理的方法和基于盲信号分离的方法。而波束形成方法又可以分为固定波束形成方法和自适应的波束形成方法, 其基本原理是利用阵列的空间信息对目标声源形成过滤波束避免来自其他方向的噪声干扰。自适应噪声对消, 是实时地在信号静默期获取噪声的参考信号, 来消弱噪声信号。
2.3 去混响
混响是室内声源停止发声后, 由于房间边界面或其中障碍物使声波多次反射或散射而产生声音延续的现象, 是对语音质量影响最大的因素之一, 会严重降低语音信息的可懂度, 因此, 去混响是语音通信研究的一个重点问题。
目前去混响的方法主要分为三类:基于信源声学模型去混响, 通过同形转化分离混响和基于信道反转均衡去混响, 其中, 基于信道反转均衡去混响又分为直接反转, 最小均方误差和多信道反转理论的方法[22]。
文献[23]应用倒谱预滤波技术来抑制房间混响, 文献[24]通过选取多个峰值进行线性交叉来削弱混响的影响。但由于这两种方法采用了理想房间模型, 因此时延估计的抗混响性能较差。文献[25]的自适应特征值分解算法直接从房间混响模型出发, 通过自适应方法逼近房间冲激响应, 进而估计时延, 因而该方法在混响较强的条件下仍有良好的估计性能。但该方法需要估计矩阵运算, 计算量大, 难以在实际系统中应用。
2.4 声源盲分离
声源盲分离是要通过分析麦克风阵列的接收信号来区分同一时刻来自不同方向的信号, 由于无法获知信道的具体性能参数和声源信号, 称为盲分离。充分利用信源信号独立性的独立成分分析法 (Independent Component Analysis, ICA) 是声源盲分离使用较广的方法。但是在高混响的环境下, 基于ICA的算法性能下降很快, 有待改进。
2.5 鸡尾酒会效应
众所周知, 即使在嘈杂的背景环境下, 人也能集中精神去听其中的某一种声音, 这种有趣的心理声学现象被称为鸡尾酒效应。大量研究实验表明人的这种能力得益于人有两只耳朵。人的大脑只需要根据两只耳朵听到的声音强度就能有效地跟踪声源, 这在麦克风阵列的应用上具有极大的指导意义, 由此引发了一波研究鸡尾酒效应的热潮。
3 麦克风阵列信号处理的应用
麦克风阵列信号处理具有十分广阔的应用前景, 在军事国防、智能化、远程控制、人机交互、电脑游戏、视频会议、语音监测等许多领域都有重要的科研价值和潜在的实用价值, 已经引起了许多国家学术界、工业界和军界的高度重视。下面简要介绍麦克风阵列信号处理的一些应用。
3.1 国防领域应用
麦克风阵列信号处理因其出色的语音信号处理能力, 被广泛应用于军事国防。国外在智能雷弹系统和战场侦查系统研究中, 广泛使用基于麦克风阵列的被动声探测, 近几年还将麦克风阵列声源定位技术应用于飞机探测、直升机报警、炮位侦查、单兵声测系统、枪声定位等。AAI公司的PDCue系统将麦克风安装在车辆的四角, 可以提供低轮廓、360°的态势感知能力。在任何环境下, PDCue系统都可以根据单发、多发和点射枪声迅速定位并跟踪枪声来源。
国内近几年也在麦克风阵列信号处理方面进行了大量研究, 受到国防科技重点实验室基金和国家自然科学基金的支持, 并已取得了一定的成果。其中炮用立靶声定位系统列入国家军用标准, 弹头落点定位系统和敞开型胸环靶系统也已通过鉴定并列入国家军用标准。
3.2 智能化领域应用
麦克风阵列信号处理可以自动高效地从接收的语音信号中提取有用信息, 适用于智能化领域。2003年意大利里雅斯特大学和帕多瓦大学联合研制了智能声视联合多代理监视跟踪系统, 对脚步声之类的声源进行轨迹跟踪, 能实现对博物馆等公共场所的人流进行记录, 或监测在某作品前人们停留的时间长短[26]。2007年加拿大魁北克的珊不勒凯大学机电学院开发研制了避障机器人。机器人具有鲁棒的定位性能和通过使用波束成形和粒子滤波能同时跟踪几个声源[27]。
4 结 语
麦克风阵列信号处理是数字信号处理的一个新领域, 具备许多传统阵列信号处理无法比拟的优势, 是目前国内外的研究热点。很多国际著名的公司和研究机构, 如IBM, BELL等, 正致力于麦克风阵列的研究和产品开发。相信随着研究的不断深入, 麦克风阵列信号处理也必定会具备越来越广阔的应用前景。
摘要:在回顾麦克风阵列信号处理研究历程的基础上, 对麦克风阵列信号处理的特点进行分析, 总结了目前的研究热点问题及现有算法并对各算法的优缺点进行比较, 重点阐述了使用最为广泛的声源定位算法, 最后介绍几个有价值的应用领域, 为进一步研究麦克风阵列信号处理奠定基础。
麦克风阵列 篇5
在实际封闭环境下, 由于说话者离麦克风有一定的距离, 麦克风接收到的语音信号常常受到环境噪声干扰和混响的影响, 严重影响了通话质量。因此, 麦克风阵列语音增强技术的研究成为近年来语音处理的研究热点[1]。
基于麦克风阵列的语音增强方法主要分为三类:传统的波束形成方法[2]、自适应波束形成方法和后置滤波方法。由于固定波束形成法和后置滤波法适用于非相干噪声和弱相干噪声消除;而自适应波束形成法适用于消除相干噪声, 对非相干噪声或散射噪声消除效果较差。因此, 在实际环境中, 每类方法都存在一定程度上的性能退化。
1 语音增强方法系统描述
本文以麦克风阵列接收的信号为对象, 采用基于后置多级维纳滤波器的方法, 解决带噪语音的增强问题。该方法的系统结构主要由二个模块构成, 即GSC和多级维纳滤波器构成。
2 仿真实验与结果分析
2.1 仿真环境
在嘈杂的实验室中, 实验选取的仿真房间结构为小房间 (5m×4m×3m) 。麦克风阵列由四个麦克风组成的均匀线性阵列, 相邻阵元的间距为5cm, 说话者位于阵列的正前方, 离麦克风阵列的距离为1m。声源位于麦克风阵列远场, 语音声源相对于阵列的入射角度为90°, 干扰噪声源入射方向为45°。房间的冲激响应使用Image模型, 按照Eyring公式[3], 混响时间可以表示为墙壁反射系数的函数, 即
式中分别表示房间的体积、总面积与墙壁的反射系数, 这里假定各面墙的反射系数相同。实验采用的语音样本为“第一课认识新同学”由男生朗读。语音信号的采样率为8k Hz。为了分析本文提出的语音增强方法性能, 在中度混响 (300ms) 情况下, 分别选取传统的GSC和具有后置维纳滤波 (GSC+WF) 的方法与之相比较。
2.2 实验结果与分析
在存有混响的实际封闭的房间内, 当麦克风阵列接收的输入信号信噪比为10d B时, 分别将本文提出的方法与传统的GSC和 (GSC+WF) 的方法对噪声抑制能力进行仿真和比较, 如图1所示。通过实验仿真结果可以看出, 本文提出的方法其噪声的抑制效果要更好。从其对应的语谱图也可以看到, 本文提出的方法其语谱图更接近于纯净信号的语谱图。
3 结语
本文提出的语音增强方法在混响环境下进行了MATLAB仿真实验, 并与传统经典的GSC以及具有后置维纳滤波 (GSC+WF) 方法进行了比较。从仿真图形可以看出, 相对于传统的麦克风阵列语音增强方法而言, 能够取得较好的消噪效果, 仿真实验结果验证了该方法的有效性。
参考文献
[1]M Brandstein, D Ward.Microphone Arrays[M].New Work:Springer-Verlag, 2001
[2]张丽艳, 殷福亮.一种适用于混响环境的麦克风阵列语音增强方法[J].2009, 25 (5) :720-723
麦克风阵列 篇6
基于麦克风阵列的声源定位技术在视频会议、汽车免提电话、智能机器人、语音增强等领域有着广泛应用。现有的定位算法通常假定有较高的信噪比,然而麦克风阵列的许多实际应用场所信噪比往往较低,如嘈杂的会场,汽车发动机的噪音等,因而研究低信噪比下的声源定位方法,提高算法的鲁棒性有着非常重要的意义。基于麦克风阵列的声源定位方法有多种[1,2],这些方法有各自的优缺点,其中时延估计法运算量较小,易于实时实现,近年来已成为研究的热点。
经典的时延估计算法都是将定位分成两步。首先估计出每对麦克风到声源之间的时延差,然后根据这些时延和麦克风阵的几何位置,采用如球形最小二乘法估计出声源的方位[3]。该类算法计算量较小,在信噪比较高时,可实时估计出声源的方位。但在低信噪比环境下,为克服噪声的影响,必须增大每次用于估计时延的接收数据,这既增加了运算量又不利于实时定位。本文采用相容时延矢量(Con-sistent Delay Vector)估计的算法[4],将上述两个步骤合二为一,构造一个以声源坐标为自变量的目标函数,在预先设定的声源范围内,计算每个假想声源的目标函数,搜索到使该目标函数最大的声源坐标,即得到真实声源的位置。该算法在计算目标函数时利用了阵列的空间增益,提高了抗噪声能力。
1 传统的时延估计定位方法
在无混响,有背景噪声的环境中,两个麦克风的接收信号x1(t)、x2(t)可表示为:
其中,s(t)是声源信号,τ1、τ2是源信号到达麦克风的时延,α1、α2是衰减系数,u1(t)、u2(t)是加性空间白噪声,且与源信号互不相关,接收信号时延差为τ12=τ1-τ2。
广义互相关法(GCC,Generalized Cross-Correlation)是常用的一种时延估计法。x1(t)、x2(t)的互相关函数可表示为:
互功率谱定义为互相关函数的傅里叶变换:
实际估计两路信号的广义互相关函数时,用周期图法先计算其互功率谱X1(ω)X*2(ω),然后乘以加权函数W(ω),再做傅里叶反变换,得到GCC的估计:
使
为了使GCC的峰更为尖锐,可采用相位变换(PHAT, Phase Transform)加权,该方法使用加权函数:
PHAT加权函数消除了幅度谱的影响,使得GCC仅与互功谱的相位有关。参考式(1)的信号模型,假设是远场,则衰减系数可不予考虑,如果噪声与源信号不相关,则x1(t)、x2(t)的互功率谱可表示为:
又因为噪声也是不相关的,故有G12(ω)=0,因此PHAT加权后的互功率谱为:
该式做傅里叶反变换后得到PHAT GCC函数:
可见PHAT GCC是一个在接收信号时延差τ12处的冲激函数,因此有很高的时延估计精度,但实际的信号是有限长的,因此得到的PHAT GCC并非冲激函数,而是有一定宽度的,此即窗口效应,信号时长太短将会带来误差。此外,实际的噪声不是空间白的,信号与噪声也是相关的,这些都会使PHAT GCC的峰变宽。在高信噪比,中等混响环境下,PHAT法可有效地定位,当信噪比较低时,则会产生很大的误差。这就限制了该方法在以加性噪声为主的环境中的应用,尤其相对于最大似然(ML, Maximum Likelihood)加权,更无优势可言。PHAT法在混响环境中有很强的鲁棒性,但当混响时间过长(大于400ms)时,会出现较大误差,文献[5]提出了改进算法,可允许有更强的混响,但该算法仍假定有较高的信噪比。
2 相容时延矢量估计定位方法
传统的时延估计定位法,分为两个步骤,先估计每对基元的时延差,然后进行定位。通常这些技术在定位前必须剔除掉时延中可能的野值,并且假定这些野值能够可靠地被检测出来。如果把这两步合为一步,事先假定一个声源的位置,计算出该位置与所有麦克风对的时延差,显然这些时延差都是满足假想声源与麦克风位置之间的物理约束的,把这些时延差组成的矢量称为相容时延矢量。定义相容能量函数ECON为:
其中,v是指数加权值(通常v取1或2),pi表示第i对麦克风,共有P对麦克风,q为假想声源坐标矢量,T({pi1,pi2},q)为假想声源到第i对麦克风之间的时延差,
相应的相容时延矢量估计为:
相容时延矢量估计定位方法的思想是:在预先设定的空间内,将假想声源的坐标矢量代入式(8)中运算,搜索出使ECON最大的
3 仿真与讨论
为验证相容时延矢量估计定位算法的有效性,用MATLAB做仿真。麦克风阵为一个8元的均匀线阵,基元间距d为0.08m,考虑远场情况,因而波阵面为平面波,如图1所示。
将相邻麦克风配为一对,即第1个与第2个为一对,第2个与第3个为一对,以此类推,共有7对基元,每对基元间的时延为τij=d sin(θ)/c,其中c为空气中的声速,约340m/s。声源信号为事先录制好的一段男声语音,时长约2秒,采样频率22050Hz,做16倍内插。源信号如图2所示。
设定声源入射角θ=30°,搜索范围为-90°·90°,步长为1°,信噪比为-15dB~10dB,每个信噪比分别做20次仿真,结果如表1所示。
由表1可见,在-10dB信噪比时该算法仍有较高的定位精度,信噪比越高,定位精度越高,验证了该算法在低信噪比下有较强的鲁棒性。
4 结束语
基于麦克风阵列的相容时延矢量估计定位算法,将传统的先估计时延再计算声源坐标的两步定位法合为一步,构造能量函数,通过搜索得到声源坐标,该算法利用阵列增益提高了抗噪声能力,特别适用于低信噪比的环境。仿真结果表明:在低信噪比环境下,只需要较短的数据,该算法仍有较高的精度。但搜索运算量较大,有待于进一步研究效率更高的搜索策略。
摘要:时延估计是常用的声源定位方法,传统的算法将定位分为两个步骤,即先估计麦克风阵列中每一对基元的接收信号时延,然后根据这些时延用几何的方法确定声源的位置。在低信噪比下,一对麦克风的时延估计误差较大,导致定位误差较大。相容时延矢量估计算法将两步合为一步,没有逐对估计时延,而是构造一个目标函数,通过搜索得到声源的位置。仿真结果表明,在低信噪比下,只需要较短的数据,该算法仍可得到较高的定位精度。
关键词:麦克风阵列,声源定位,相容时延矢量
参考文献
[1]Huang Yiteng(Arden).Real-Time Acoustic Source Localization withPassive Microphone Arrays[D].Atlanta:Georgia Institute of Tech-nology,2001.
[2]居太亮.基于麦克风阵列的声源定位算法研究[D].博士学位论文,电子科技大学,2006.
[3]李承智,曲天书,吴玺宏.一种改进的AEDA声源定位及跟踪算法[J].北京大学学报:自然科学版,2005,41(5):809-814.
[4]Scott Matthew Griebel.A Microphone Array System for SpeechSource Localization,Denoising,and Dereverberation[D].Cam-bridge:Harvard University,2002.
麦克风阵列 篇7
在目标语音的实际拾取过程中,不可避免会受到外界环境噪声和其他说话人的干扰。如果干扰噪声过强对收听者而言则会觉得刺耳乃至听不清目标语音。针对这种情况,通常采用增强语音、去除背景噪声的方法来改善系统性能。
对于有些语音应用而言,如视频会议、车载免提电话等。由于说话者到麦克风有一定的距离。麦克风接收到的语音信号受到环境噪声和干扰的影响很大。严重影响了通话质量。一般的基于单麦克风的语音增强系统难以获得较好的增强效果。麦克风阵列由于利用了目标信号、噪声和干扰的空间信息。基于麦克风阵列的语音增强系统能提供更好的增强效果。国外对于麦克风阵列语音增强的研究取得了很多研究成果,而国内类似的研究很少。
(二)麦克风阵列语音增强原理及优点
麦克风阵列通过对拾取的多路语音信号进行分析与处理,使阵列形成的波束方向图主瓣对准目标语音,“零点”指向干扰源以抑制干扰信号,从而尽可能地获取目标语音。其中波束方向及波束主瓣宽度与麦克风的间距、麦克风数目、麦克风的摆放位置、声源入射角及采样频率紧密相关。波束的形成不仅消除了使用单个麦克风时需人工调节麦克风指向性问题,而且可以使输出语音的信噪比大幅度提高。从而无需人工干预亦可获得高质量的语音。
和单个孤立麦克风相比,麦克风阵列在时频域的基础上增加了一个空间域,对来自空间不同方位的信号进行空时频联合处理。因此,它可以弥补单个麦克风在噪声处理、声源定位跟踪、语音提取分离等方而存在的不足,能够广泛应用于各种具有嘈杂背景的语音通信环境 (如会场、多媒体教室、助听器,车载免提电话、战场等) ,以提高语音通信质量。
(三)麦克风阵列语音增强的主要方法
麦克风阵列语音增强的处理过程主要涉及到三个方面:语音定位,空间抑制及自适应滤波。对于麦克风阵列获取语音的性能好坏而言,环境噪声是一个严峻挑战。因此迫切需要选择性地接收目标语音而抑制干扰信号及噪声的方法。目前众多研究人员应用麦克风阵列波束进行语音增强的方法大致上可分成三类:延迟—相加方法 (传统波束法) 、自适应波束法及基于后置自适应滤波的麦克风阵列法。
1. 基于延迟—相加波束形成器的麦克风阵列语音增强
延迟—相加波束形成器的原理如图l (a) 所示。设目标信号波达方向的估计为θs。通过对各路麦克风接收到的信号加一合适的时延补偿τm,使得各路输出信号在θs方向同步,实现阵列对θs方向的入射信号的获得最大增益。权系数ωm的作用相当于对阵列的波束模式进行锥化截取。
设麦克风阵列各通道接收到的信号和噪声不相关,且各通道接收到的信号和噪声分别具有相同的统计特性,则延迟一相加波束形成器的噪声消除因子(Noise Reduction Factor,即输出、输入信噪比增益)为:
其中为噪声场的复相干函数的均值:
其中Γij (ω) 为通道i和通道j之间的噪声的复相干函数。当噪声的相关性很弱时 (Γij (ω) ≈0) ,NRDS (ω) ≈M;对强相干噪声源 (Γij (ω) ≈1) ,NRDS (ω) ≈1,基本没有消噪能力。
从以上分析可知,基于的DS波束形成器的麦克风阵列语音增强结构,对非相干噪声的消除能力十分有限,对相干噪声基本没有消除能力。此外,DS波束形成器对目标DOA估计误差 (或各通道的时延估计误差) 很敏感;不能在干扰方向置零以有效地抑制干扰。
2. 结合波束形成器和后置滤波的麦克风阵列语音增强
为了进一步消除DS波束器增强之后的语音中的非相干噪声,Zelinski提出了在波束形成器后置维纳滤波的结构,如图l (b) 所示。
假设各通道接收到的信号和噪声不相关,且各通道接收到的噪声具有相同的统计特性,后置维纳滤波器的噪声消除性能为:
其中ξ (ω) 是后置维纳滤波器输入的先验信噪比。由 (3) 式可知,噪声的相关性越强,维纳后滤波的消噪性能越差;相关性越弱。消噪越明显。结合维纳后滤波的语音增强系统能很好地消除非相干噪声,对混响有一定的消除;并且由于后置滤波器的权系数是实时更新的,对时变的声学环境有一定的适应性。但经过后滤波之后的语音信号有一定的失真。
3. 基于自适应波束形成器的麦克风阵列语音增强
自适应波束形成器各个通道的权系数能随输入信号的统计特性自适应调整,基于自适应波束形成器的麦克风阵列语音增强有多种具体的实现形式,其中基于广义旁瓣相消器 (Generalized Sidelobe Canceller, GSC) 或其类似结构由于结构简单、易于实现,获得了广泛应用。
基于GSC的麦克风阵列语音增强的基本结构如图2所示,由非自适应支路和自适应支路组成。上面的非自适应支路为一固定波束形成器,下面自适应支路中阻塞矩阵B的作用相当于一空间陷波器:阻塞从阵列指向方向上来的信号,而通过从其他方向上的入射信号。通过调节自适应部分的系数Wa,实现系统的噪声输出功率最小。其噪声的消除性能如式 (4) 所示:
对于相干噪声场,假定在阵列的远场处仅有一个噪声源。其空间相干函数为:
其中dij为麦克风之间的距离,θ为噪声源的波达方向,c为声速。将 (5) 代入 (4) 中,理论上噪声得到全部消除。对于非相干噪声场,其空间相干函数Γij (ω) =0,得到NRGSC (ω) ≈1噪声基本上没有得到消除。
由上可知,对于基于GSC结构的麦克风阵列语音增强系统,其消噪性能取决于噪声场的相关性:相关性越强,消噪性能越好。
(四)麦克风阵列的自适应消噪算法
麦克风阵列的传统波束形成法在各向同性,均匀的噪声场可能有好的检测能力。但是一旦出现近场干扰,或者背景噪声有某种不平稳性,这种检测能力就会迅速下降。而且传统的波束形成法仅仅利用了空域的先验信息,如阵列几何结构,但是这些先验信息在实际应用场合往往不是很精确,因此,人们将注意力集中在自适应阵列信号处理领域。常用算法有LMS, DMI, RLS算法。
1. 最小均方 (LMS) 算法
LMS是一种广泛使用的算法理论,该算法是由其创始人Widrow和Hoff命名为最小均方 (LMS, least—mean—square) 算法。由于实现简单且对信号统计特性变化具有稳健性,LMS成为其它自适应算法的参照标准。LMS算法的缺点在于当输入信号的自相关矩阵的特征值分散时,其收敛性变差。学者们进行长期研究并提出了不少改进算法。
LMS算法的流程如下:
参量:M=滤波器抽头数,μ=步长参数。其中,μ为迭代步长,它控制算法收敛的速度。取值必须满足才能保证算法收敛。Smax是抽头输入的功率谱密度的最大值,M为滤波器长度。在收敛的每一步都要重新确定μ值。
初始条件:w (0) =0或由先验知识决定。
运算:对n=l, 2…
(1) 取得x (n) , d (n)
(2) 滤波y (n) =wH (n) x (n)
(3) 误差估计e (n) =d (n) -y (n) .
(4) 更新权向量w1。
其它由LMS算法衍生出来的算法包括:归一化LMS (NLMS) 算法,处理LMS (BLMS) 算法,快速LMS (FLMS) 算法等。
2. 取样协方差矩阵的直接求逆 (DMI) 算祛
DMI (直接矩阵求逆) 算法又称SMI (采样矩阵求逆) 算法。DMI算法根据估计的采样协方差矩阵直接由正规方程计算矢量,能克服协方差矩阵特征值分散对加权矢量收敛速度的影响,因而可以达到很高的处理速度。DMI算法首先由Reed等人系统提出讨论。
DMI是一种数字开环计算方法,通过直接求解阵列协方差矩阵R来估计权矢量,从而避免收敛速率依赖于特征值散布这一问题。R的无偏估计由下式给出:
其中,为第k时刻的阵列协方差矩阵的估计;K为阵列总数, 通过矩阵求逆计算可以进一步确定最优权矢量估计为。DMI算法可在可在K=2N时刻内收敛至最优权值的范围内。当然,在实际应用中还需考虑协方差矩阵求逆计算的复杂度以及数值稳定性等问题。
DMI算法比LMS算法收敛速度快得多。但是需要矩阵求逆运算。运算量大。硬件实现复杂。
3. 递归最小二乘 (RLS) 算法
递归最小二乘 (RLS) 算法是以最小二乘准则作为最佳准则的算法,由此算法得到的是对一组已知数据的最佳滤波器。
RLS算法假设阵列信号为数据取样形式,并使用数字处理器调整权值,在每一取样瞬间根据最小二乘准则计算权值的最佳值。它基于递归采样计算协方差矩阵。RLS算法的优点是收敛速度快,故在自适应信号处理与快速信道均衡,自适应控制,系统辨识,参数估计以及时间序列分析中已被作为基本的估计和处理方法。
RLS算法流程如下:
(4) 更新逆矩阵C (n) =λ-1[C (n-1) -g (n) xT (n) C (n-1) ]
RLS算法和DMI算法之间的主要区别在于计算逆矩阵的方法不同。RLS算法无需直接进行矩阵求逆运算。因而比DMI运算量小。RLS算法的收敛速度比DMI算法慢,但比LMS算法快的多,而它的性能和DMI算法接近。因而RLS算法兼有LMS和DMI的优点,应用前景广泛。
(五)结论
本文介绍了延迟—相加方法 (传统波束法) 、自适应波束法及基于后置自适应滤波的麦克风阵列语音增强方法。并详细介绍了自适应消噪算法采用自适应波束形成可使阵列自动调整自己的波束,以适应外界环境。最大限度加强有用信号,大大提高了信号干扰比。自适应滤波就是利用前一时刻所获得的滤波器参数等结果,自动调整现在时刻的滤波器参数,以达到最佳滤波;且输入信号和噪声的统计特性出现变化的时候,能够跟踪并自动调节参数,使滤波器重新达到最佳状态。在实际应用中应根据具体的声学环境特性、麦克风阵列结构等选择合适的算法及其具体的实现形式。
摘要:文章简要叙述了应用麦克风阵列进行语音增强的原理方法及基于自适应性的消噪算法。由于麦克风阵列在实际语音处理时具有良好的拾取语音能力及噪声鲁棒性, 使用该系统可大大提高强干扰环境下的语音识别性能。
关键词:麦克风阵列,语音增强,自适应,消噪
参考文献
[1]I Cohen, S Gannot, B Berdugo.An integrated real-time beamforming and postfiltering system for non-stationary noise environments[J].EURASIP Journal on Applied Signal Processing, special issue on signal processing for acoustic communication systems, 2003, 11:1064-1073.
[2]S Gannot, D Burshtein, E Weinstein.Signal enhancement using beamforming and nonstationary with applications to speech[J].IEEE Trans on Signal Processing, 2001, 49 (8) :1614-1626.
[3]Doclo.M Moonen.GSVD—based optimal filtering for signal and multimicrophone speech enhancement[J].IEEE Trans on Signal Processing, 2002, 50 (9) :2230-2244.
[4]C Marro, Y Mahieux, K U Simmer.Analysis of noise reduction and dereverberation techniques based on microphone arrays with postfihering[J].IEEE Trans on Speech and Audio Processing, 1998, 6 (3) :240-259.
相关文章:
麦克卢汉02-19
金融危机银行防范策略研究论文02-19
网络威胁及其防范策略02-19
外语学习的焦虑及其防范策略02-19
因特网服务安全防范策略02-19
麦克纳马拉的忏悔录02-19
大众麦克风时代02-19
麦克白读后感100002-19
教学用2.4G无线麦克风解决方案02-19
麦克斯报告会总结02-19