一种基于ARM+DSP的音频处理系统设计方案
寄存器地址B15-B9以及设置数据的最高位B8,第二个字节为设置数据的后8位B7-B0.
图2 I2C时序
3.2音频数据采集与播放
初始化AIC23后,再初始化DSP以及McBSP0,之后进行音频数据的采集与播放。通过麦克风采集语音信号,经过数字滤波处理后由耳机输出。使用McBSP0的接收中断保存数据,通过FIR数字滤波子程序处理音频数据。程序流程如图3所示。
图3音频数据处理程序流程图
初始化McBSP0使其与AIC23协调工作,这里要根据硬件设计和软件要求来配置McBSP0的各个控制寄存器。本系统中串口的主要设置为:接收数据右对齐,带符号扩展;接收中断使能;由片外提供发送、接收帧信号和发送、接收时钟信号;发送、接收帧同步信号低电平有效;在时钟上升沿采样发送、接收数
据;每帧发送、接收两个16位字数据[6].
数据接收部分可在DSP中断程序中用如下语句实现:
mvkd drr10,*ar5 ;保存数据
pshd *ar5+% ;数据压入堆栈
popd new_ad ;从堆栈弹出数据到自定义的寄存器
FIR滤波的相关程序如下:
ld new_ad,a ;新数据加载至累加器
stm #1,ar0 ;双操作数增量
stm #N,bk ;设置循环缓冲区长度,即FIR滤波级数(N为滤波级数)
stl a,*ar3+% ;新数据送至ar3指向的缓冲区
ght: 24px; ">rptz a,#(N-1) ;重复执行N-1级的乘加运算
mac *ar2+0%,*ar3+0%,a ;ar2为系数指针,结果在累加器高位中
sth a,temp ;保存计算结果
ld temp,a ;结果放入累加器低位 ……
stlm a,dxr10 ;将累加器地位中的数据送至串口发送寄存器
……
基于前述对AIC23和DSP的相应设置,采用21级系数对称FIR数字滤波,对经由麦克风输入的语音信号进行滤波处理,滤波结果由耳机输出,实际效果良好。所采集到的音频数据还可通过HPI接口传送至ARM供应用程序调用。
3.3语音识别应用测试
语音识别的基本原理是对语音信号进行特征提取。目前常用的语音识别算法有基于模式匹配的动态时间规正法(DTW: Dynamic Time Warping)、基于统计模型的隐马尔柯夫模型法(HMM: Hidden Markov Model)以及基于神经网络的识别法(DNN、NPN、TDNN)等[7].为便于系统应用测试,本文采用一种最简易的方法对系统进行调试,即对英文元音的识别。基本原理是提取元音字母的频率特征,各元音在其频域响应中都有三个明显的共振峰频率,而最容易识别的是第一共振峰,由此可进行有效的元音识别。在提取第一共振峰频率特征时采用“零交越”法(统计单帧信号波形穿越零点的次数——过零率),将信号频率特征的分析转换为时域分析,计算得到的过零率与理论值进行比较即可实现元音的识别。图4所示分别为元音“A”的时域和频域图。
图4元音A的时域图和频域图
由频域采样图可以看到很明显的第一共振峰,此时计算时域采样中信号的过零率可较为准确的识别元音A,过零率的计算中近似等于零的采样点通常是微弱的干扰,可以忽略不计。经验证,这种简易单元音识别法的识别率在80%以上,由此证明本系统音频处理的实用性。
4结束语
本文阐述了基于信号处理和嵌入式应用的音频处理系统的设计和实现。论述了系统的硬件设计、软件编程及其应用。通过ARM对音频芯片AIC23的控制和DSP与AIC23的通信,实现了音频信号采集、处理、输出的功能以及简单的语音识别。构建了基于ARM和DSP的音频处理系统应用框架,对进一步的数据处理、控制应用等提供了切实可行的软硬件方案。
参考文献
1张大波。嵌入式系统原理、设计与应用。北京:机械工业出版社,2004.11
2 TLV320AIC23, Stereo Audio CODEC, 8- to 96-kHz, With Integrated Headphone Amplifier. Texas Instruments Incorporated, 2002
3 TMS320VC5402, Fixed-Point Digital Signal Processor. Texas Instruments Incorporated, 2000
4 S3C4510B User‘s Manual. Samsung Electronics, 2001
5李驹光。 ARM应用系统开发详解:基于S3C4510B的系统设计。北京:清华大学出版社, 2004
6homa, Verdana; FONT-size: 14px; line-height: 24px; ">6 TMS320C54xx McBSP to TLV320AIC24 Interface. Texas Instruments Incorporated, 2003
7黄涛,胡宾。基于SPCE061A单片机的非特定人语音识别设计。微计算机信息,2006,3-2:19-20
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)