微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP的人工耳蜗语音处理器设计

基于DSP的人工耳蜗语音处理器设计

时间:04-04 来源:互联网 点击:

模块端口SCL,SDA相连。TLV3320AIC23的数据音频接口支持右判,左判,I^2S和DSP 4种接口模式。本系统采用DSP模式,把AIC23设为主模式,DSP设为从模式,即MCBSP0的移位时钟和帧同步时钟全部由AIC23提供。在帧同步脉冲到来时第一个数据字即为左通道数据,右通道数据紧跟着左通道数据。

语音是时变的,非平稳的随机过程,但由于语音的形成过程与与人类发音系统的生理结构密切相关,通常假设语音信号是短时平稳的,即在10至30 ms的时间段内其频谱特性和一些物理特征参量可近似的看作是不变的。因此语音信号要进行分帧处理,在采样率为8 kHz时可将帧长取为N=256较为合适。

3 系统软件设计

本系统中语音信号由LINE IN输入,LLINE IN和RLINEIN分别对应自适应噪声消除原理图中的麦克风1和麦克风2,语音信号分别经过AIC 23内部的A/D转换后,通过MCBSP0通道传送到VC5509A内。VC5509A对这些语音数据进行CIS算法处理,得到各个通道的刺激脉冲。

系统软件设计分为系统初始化,系统中断处理程序和CIS算法程序。系统的初始化包括设置时钟发生器,MCBSP初始化,I^2C初始化以及对AIC23控制寄存器的配置。系统中断处理程序设置一个标志位,每中断一次左右声道各采集一个数据,当采集满一帧时能使采样值保存在两个数据缓冲区的另一个缓冲区中。系统中主程序一直处于循环处理过程,在一帧信号执行完CIS算法程序后,等待下一帧信号接收完毕,然后重新执行CIS算法程序。为保证语音信号处理的连续性,CIS算法处理时间应当小于一帧数据的采样时间。本系统CPU时钟为144 MHz,采样频率8 kHz,中断频率8 kHz,因此每125μs采集一个点,采集一帧256个数据需32 ms,即每隔32 ms输出1个刺激脉冲,CIS子程序运行一次需23.1 ms。图4为系统设计流程图。

4 设计结果验证

文中设计的CIS算法首先用MATLAB进行验证,然后修改成C语言在DSP上实现。为了更方便的分析算法结果,文中利用了集成在MATLAB 7.0中的CCSLlink工具。利用该工具可在MATLAB环境下完成对CCS和DSP目标板的操作,自动实现调试,数据传递和验证。在创建好CCSIDE连接对象后,利用MATLAB把工程文件加载到CCSIDE中,经过编译连接生成DSP可执行文件。把可执行文件加载到DSP目标板,运行程序,由waver ead函数读取wav格式音频文件。该音频文件是立体声的波形文件,采样精度16位,采样率22 050 Hz,左声道模拟麦克风1,右通道模拟麦克风2。为了模拟真实环境中的噪声,左右声道各加入了相关的高斯白噪声,通过LINE IN连接线接到DSP目标板。先将自适应滤波前后的结果进行对比,如图5所示。

自适应消噪后的语音信号经过预加重,FFT变换,带通滤波,能量求和及非线性压缩后可得到与每个电极相对应的刺激脉冲。以第一通道为例,同一语音分别经DSP和MATLAB采样处理的结果对比如图6所示。

5 CIS算法实现优化

功耗是人工耳蜗语音处理器设计需要考虑的重要内容,本系统在降低功耗方面做了一些努力。由于语音实时采样分析的需要,每帧数据的处理时间必须小于每帧数据的采样时间。CIS算法优化后减少了每帧数据的处理时间,可以使CPU工作在较低的工作频率,一定程度上降低了系统功耗。CIS算法中开平方运算和FFT运算需要较多的处理时间,其中浮点数开平方运算需要10 ms,浮点数FFT运算需要51 ms。本算法中采用了DSP函数库中的sqrt_16函数和cfft函数,这些函数全部为优化过的汇编语言,可有C?语言方便调用,执行速度得到了很大的提高。

6 结束语

文中介绍了基于16位定点DSP芯片TMS320VC5509A的人工耳蜗语音处理器的硬件设计和软件设计。为了提高低噪声中的语音识别率,本设计采用了双麦克风接收语音输入的自适应消噪技术。声音经过语音Codec芯片TLV320AIC23采集并进行A/D转换后传输到DSP内。系统运行结果表明,该系统可以实现语音信号中噪声的消除,并得到良好的电极刺激脉冲,其低功耗、低成本、移植性好的特性将有助于人工耳蜗更好的普及。

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

网站地图

Top