《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 高性能语音拨号器的设计与实现

高性能语音拨号器的设计与实现

2008-12-12
作者:王鹏浩 朱 璇 张京涛

  摘 要:数字信号处理器" title="数字信号处理器">数字信号处理器ADSP2186L为核心,通过单片机进行系统控制,设计语音拨号器,实现语音控制的自动拨号功能。
  关键词: DSP 语音识别 双音多频


  随着语音信号处理理论以及超大规模集成电路的发展,语音识别、语音编码以及语音合成技术逐步走向实用化。国外已有相应的应用电子产品问世(如美国Sensory公司的产品),国内市场上也出现了具备语音识别功能的手机(如PHILIPS,SAMSUNG等公司的产品)。本文介绍的基于ADSP2186L的语音拨号器集语音识别、语音编解码、语音提示、语音合成以及双音多频拨号功能于一体,与现有产品相比具有容量大,识别率高,使用方便的优点。
1 系统功能
  ·可存储200个用户词条,800个电话号码。
  · 支持语音查询方式,用户只需口述词条,即可获得相应的电话号码。同时兼容手动查询方式。
  · 具有方便的编辑功能(增加、删除、修改用户记录)。
  · 具有双音多频拨号功能,使用普通电话机便可实现自动拨号。
2 系统整体模块设计
  整个系统可分为信号处理单元,系统控制单元和用户界面单元共三个功能模块。
2.1 信号处理单元
  本单元包括数字信号处理器,编解码器" title="编解码器">编解码器和存储器。
  作为系统语音信号处理核心的ADSP2186L是ANALOG DEVICES公司生产的低电压16位定点数字信号处理器。该芯片具有以下特点:
  · 运算速度33MIPS;
  · 片内含40K Byte RAM,分为16K Byte的程序RAM及24K Byte的数据RAM;
  · 两路独立可编程全双工串行通信接口,支持A律/μ律的硬件语音解压扩,支持自动缓冲区操作;
  · 4M Byte的外部寻址空间;
  · 支持内外存之间的DMA操作;
  · 13个可编程的I/O" title="I/O">I/O口。
  DSP在系统中主要完成语音信号的特征提取,端点检测和模板匹配,同时负责用户记录的管理。
  与ADSP2186L配套使用的是ANALOG DEVICES公司最新生产的低电压16位编解码器AD73311L,该芯片通过设置相应的寄存器可实现8~64kHz的多种采样频率,具有可编程的输入输出增益控制。该芯片在系统中完成语音信号的A/D,D/A转换。
  系统存储器选用SILICON STORAGE TECHNOLOGY公司生产的8M位快闪存储器(Flash Memory)SST39VF080Q,主要存储两部分内容,DSP的应用程序和用户的语音记录" title="语音记录">语音记录数据。该芯片具有软件写保护功能,可以防止应用程序的意外更改,全片分为256个4KByte的扇区,适于语音记录的存取。
2.2 系统控制单元
  选用SAMSUNG公司生产的4位单片机KS57C2308,该芯片主要负责系统整体流程控制以及用户界面控制。KS57C2308具有较宽的工作电压,同时提供段式液晶的驱动,具有较强的I/O操作能力,适合应用于要求多个I/O口以及液晶显示的工作环境。采用KS57C2308可以简化系统,并使系统具有较好的外部接口扩展能力。
2.3 用户界面单元
  包括键盘、液晶、驻极话筒和扬声器四部分。
  系统硬件模块结构如图1所示。


2.4数字信号处理器与编解码器之间的通信
  数字信号处理器ADSP2186L与编解码器之间的通信通过独立的串行口完成。具体连线如图2所示,信号说明如表1所示。

  


  由于AD73311L采取自接外部晶振,通过内部设置分频寄存器确定采样率的工作方式,ADSP2186L的SCLK、TFS,RFS均设为外部输入。采用DSP的串口时序进行通信。
2.5 数字信号处理其余单片机间的通信
  ADSP2186L与单片机的接口与此类似,区别在于ADSP2186L的SCLK、TFS、RFS均设为内部输出。单片机通过通用的I/O口模拟DSP的串口时序,通信协议采用自定义的数据包格式,速度快,可靠性高。单片机同时控制DSP的复位引脚,进一步保证系统工作的可靠性。
2.6 数字信号处理器与外部存储器的接口
  DSP与外部存储器之间通过地址和数据总线连接,利用DSP的BMS、WR、RD引脚实现对外部存储器存的片选及读写控制。系统复位时,DSP由外部存储器中自动加载程序,系统运行过程中的数据通过DMA方式进行传输。
  单片机通过专用的液晶驱动引脚控制液晶,通过通用的I/O引脚完成键盘扫描。
3 系统软件实现
  系统软件采取模块化设计,根据功能将DSP的程序分为10个基本模块。
  (1)系统初始化
  初始化内容包括算法参数,状态变量,端口设置。
  (2)通信接口
  主要功能是接收单片机指令,并在完成相应的操作序列后回送操作结果。
  (3)语音记录
  使用DSP的自动缓冲区技术,在用户口述词条的过程中,实时提取用于识别和回放的特征参数" title="特征参数">特征参数,利用高性能的端点检测算法去除静音段及噪声段,将实际语音段的特征数据保存在数据RAM中。
  (4)语音识别
  使用模式识别方法将数据RAM中的特征参数与外部存储器中保存的现有用户记录相比较,找出最相近的记录作为识别结果,获得相应的记录指针。
  (5)语音提示
  利用预先编码的数据合成语音,用于对用户的相应操作进行提示,方便用户使用,减少误操作的可能性。编解码采用多脉冲线性预测编码(Multi-Pulse Linear Predict Code)算法,能以较低的码率获得较高质量的合成语音。
  (6)语音回放
  利用“语音记录”过程中提取的回放特征参数合成语音,用于用户检验记录结果或识别结果。根据参数提取的实时性要求,此处采取速度快,合成质量好的编解码算法。
  (7)增加记录
  将“语音记录”中提取的特征参数连同相应的用户电话号码存入外部存储器。同时修改记录指针。
  (8)修改记录
  保持记录的特征参数不变,只修改电话号码。
  (9)删除记录
  删除整个用户记录,包括特征参数和电话号码,同时清除相应指针。
  (10)双音多频拨号
  利用级数展开的方法合成正弦信号,经编解码器进行D/A转换后至扬声器输出,实现自动拨号功能。
  单片机利用键盘接收用户指令,通过功能模块的不同组合方式,可以形成多种控制流程,以适应不同应用场合的需要。
  系统软件框图如图3所示。


4 系统性能测试
  本系统具有较高的识别率,对于普通词条,识别率超过99%,对于发音相近的易混淆词条,如“李平,李宁,李丁”,识别率也可达到90%以上。同时,本系统具有良好的用户界面,用户在语音提示下完成相应操作,方便快捷。
  本系统具备语音拨号器的基本功能,由于它的软件和硬件设计都具有模块化特性,很容易改造成适用于其他应用场合的语音控制系统。因此,本系统具有较为广泛的应用前景。
参考文献
1 杨行峻,迟惠生等.语音信号数字处理.北京:电子工业
出版社,1995
2 ADSP-2100 FAMILY USER'S MANUAL、 ANALOG DE-VICES、 1995
3 KS57C2308 USER'S MANUAL、 SAMSUNG ELECTRON-ICS、 1998
4 FLASH MEMORY DATA BOOK、 SILICON STORAGE TECHNOLOGY、 1999

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。