微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 利用MEMS麦克风阵列定位并识别音频或语音信源的技

利用MEMS麦克风阵列定位并识别音频或语音信源的技

时间:09-12 来源:互联网 点击:

最高 168 MHz的高性能ARM® Cortex-M4 32 RISC处理器内核,集成高速嵌入式存储器(闪存容量最高1 MB, SRAM容量最高192KB)以及标准和先进的通信接口,例如,I2S全双工接口、SPI、 USB FS/HS和以太网。

STM32 F4系列是意法半导体首批基于支持FPv4-SP 浮点扩展运算的ARM Cortex-M4F内核的STM32微控制器,这使得该器件适用于重负荷算法,浮点单元完全支持单精度加法、减法、乘法、除法和累加以及均方根运算,还提供定点和浮点数据格式转换和浮点常数指令,完全兼容ANSI/IEEE Std 754-1985二进制浮点算术标准。为提高ARM架构的数字信号处理和多媒体应用性能,指令集还增加了DSP指令集。新指令是数字信号处理架构常用指令,包括带符号乘加变化(variations on signed multiply–accumulate)、饱和加减和前导零计数。

麦克风阵列通过RJ45以太风接口或USB OTG FS接口连接其它器件,与其它器件交互是通过可控制基本板设置的DIP开关实现。

如下图所示,每个MEMS麦克风都是由同一个时钟源触发,时钟源由专用振荡器驱动,对每个GPIO端口的一个引脚输出1位PDM 高频信号。输出PDM数据频率与输入时钟同步,因此,DMA控制器以同一频率即音频捕捉频率对GPIO端口进行读操作,然后将1 ms音频数据(每次)保存在存储器缓冲电路。这时,该缓冲器包含麦克风交叉信号,然后软件利用优化的快速解码函数对数据进行解复用处理。最后,PDM 数据通过数字信号处理环节,再进行PDM转PCM处理。

图 5.每个MEMS麦克风都是由同一个时钟源触发,时钟源由专用振荡器驱动,对每个GPIO端口的一个引脚输出1位PDM 高频信号

麦克风传来的PDM信号经过过滤和十分之一降采样率处理,以取得所需频率和分辨率的信号。麦克风输出的PDM数据频率(麦克风的输入时钟)必须是系统最终音频输出的倍数,滤波器管道输出是一个16位值,我们将 [-32768, 32767]视为一个单位增益(0 dB)的输出范围。

原先滤波管道产生的数字音频信号在信号调理前被进一步处理。管道第一级是一个高通滤波器,主要用于除掉信号DC失调。为保护信号质量,该滤波级是使用一个截止频率不在可听频率范围内的 IIR滤波器,管道第二级是一个基于IIR滤波器的低通滤波器。两个滤波器有启用和禁用以及配置功能;可通过外部整数变量控制增益。

如上文所述,数据采集有两个比特流解决方案,通过DP开关选择使用哪一个方案。当选用 USB且在主机USB插入麦克风阵列时,主机将STM32_MEMS_Microphones视为一个标准的USB音频设备。因此,主机系统无需安装驱动软件。例如, STM32_MEMS_Microphones可直接连接第三方PC音频采集软件。当选用以太网时,STM32_MEMS_Microphones发送 RTP数据包。在网络服务器的以太网设置页对目的地IP、设备单播地址和采集参数进行配置。

4.结论

音源定位识别是语音识别技术中的一个重要的语音预处理环节,对提高音频应用和声控应用性能具有重要意义。音源定位主要用于自动语音识别、音频模式识别、说话人发现及识别。MEMS技术的问世让麦克风阵列能够嵌入在上述应用设计中,执行音频信号预处理过程,为应用级提供最好的信息。

该嵌入式单个说话人及其语音定位识别方案基于一个集成ARM处理器和一组MEMS麦克风的原型板。初步测试结果证明了这一集成方案的可行性,且系统级模块可以做语音、音频识别目标板,满足人机、人与周围环境的自然用户界面的功能要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top