嵌入式
返回首页

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

2006-05-07 来源:电子技术应用

    摘要:以数字信号处理器ADSP2186L为核心,通过单片机进行系统控制,设计语音拨号器,实现语音控制的自动拨号功能。

    关键词:DSP  语音识别  双音多频

    随着语音信号处理理论以及超大规模集成电路的发展,语音识别、语音编码以及语音合成技术逐步走向实用化。国外已有相应的应用电子产品问世(如美国Sensory公司的产品),国内市场上也出现了具备语音识别功能的手机(如PHILIPS,SAMSUNG等公司的产品)。本文介绍的基于ADSP2186L的语音拨号器集语音识别、语音编解码、语音提示、语音合成以及双音多频拨号功能于一体,与现有产品相比具有容量大,识别率高,使用方便的优点。

1 系统功能

    ·可存储200个用户词条,800个电话号码。

    ·支持语音查询方式,用户只需口述词条,即可获得相应的电话号码。同时兼容手动查询方式。

    ·具有方便的编辑功能(增加、删除、修改用户记录)。

    ·具有双音多频拨号功能,使用普通电话机便可实现自动拨号。

2 系统整体模块设计

    整个系统可分为信号处理单元,系统控制单元和用户界面单元共三个功能模块。

2.1 信号处理单元

    本单元包括数字信号处理器,编解码器和存储器。

    作为系统语音信号处理核心的ADSP2186L是ANALOG DEVICES公司生产的低电压16位定点数字信号处理器。该芯片具有以下特点:

    · 运算速度33MIPS;

    ·片内含40K Byte RAM,分为16K Byte的程序RAM及24K Byte的数据RAM;

    ·两路独立可编程全双工串行通信接口,支持A律/μ律的硬件语音解压扩,支持自动缓冲区操作;

    ·4M Byte的外部寻址空间;

    ·支持内外存之间的DMA操作;

    ·13个可编程的I/O口。

    DSP在系统中主要完成语音信号的特征提取,端点检测和模板匹配,同时负责用户记录的管理。

    与ADSP2186L配套使用的是ANALOG DEVICES公司最新生产的低电压16位编解码器AD73311L,该芯片通过设置相应的寄存器可实现8~64kHz的多种采样频率,具有可编程的输入输出增益控制。该芯片在系统中完成语音信号的A/D,D/A转换。

    系统存储器选用SILICON STORAGE TECHNOLOGY公司生产的8M位快闪存储器(Flash Memory)SST39VF080Q,主要存储两部分内容,DSP的应用程序和用户的语音记录数据。该芯片具有软件写保护功能,可以防止应用程序的意外更改,全片分为256个4KByte的扇区,适于语音记录的存取。

2.2 系统控制单元

    选用SAMSUNG公司生产的4位单片机KS57C2308,该芯片主要负责系统整体流程控制以及用户界面控制。KS57C2308具有较宽的工作电压,同时提供段式液晶的驱动,具有较强的I/O操作能力,适合应用于要求多个I/O口以及液晶显示的工作环境。采用KS57C2308可以简化系统,并使系统具有较好的外部接口扩展能力。

2.3 用户界面单元

    包括键盘、液晶、驻极话筒和扬声器四部分。

    系统硬件模块结构如图1所示。

2.4数字信号处理器与编解码器之间的通信

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

表1 信号说明

引脚名称 作  用
SCLK 串口位时钟
RFS 接收帧同步时钟
TFS 发送帧同步时钟
DR 数据接收引脚
DT 数据发送引脚

    由于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的自动缓冲区技术,在用户口述词条的过程中,实时提取用于识别和回放的特征参数,利用高性能的端点检测算法去除静音段及噪声段,将实际语音段的特征数据保存在数据RAM中。

    (4)语音识别

    使用模式识别方法将数据RAM中的特征参数与外部存储器中保存的现有用户记录相比较,找出最相近的记录作为识别结果,获得相应的记录指针。

    (5)语音提示

    利用预先编码的数据合成语音,用于对用户的相应操作进行提示,方便用户使用,减少误操作的可能性。编解码采用多脉冲线性预测编码(Multi-Pulse Linear Predict Code)算法,能以较低的码率获得较高质量的合成语音。

    (6)语音回放

    利用“语音记录”过程中提取的回放特征参数合成语音,用于用户检验记录结果或识别结果。根据参数提取的实时性要求,此处采取速度快,合成质量好的编解码算法。

    (7)增加记录

    将“语音记录”中提取的特征参数连同相应的用户电话号码存入外部存储器。同时修改记录指针。

    (8)修改记录

    保持记录的特征参数不变,只修改电话号码。

    (9)删除记录

    删除整个用户记录,包括特征参数和电话号码,同时清除相应指针。

    (10)双音多频拨号

    利用级数展开的方法合成正弦信号,经编解码器进行D/A转换后至扬声器输出,实现自动拨号功能。

    单片机利用键盘接收用户指令,通过功能模块的不同组合方式,可以形成多种控制流程,以适应不同应用场合的需要。

    系统软件框图如图3所示。

4 系统性能测试

    本系统具有较高的识别率,对于普通词条,识别率超过99%,对于发音相近的易混淆词条,如“李平,李宁,李丁”,识别率也可达到90%以上。同时,本系统具有良好的用户界面,用户在语音提示下完成相应操作,方便快捷。

    本系统具备语音拨号器的基本功能,由于它的软件和硬件设计都具有模块化特性,很容易改造成适用于其他应用场合的语音控制系统。因此,本系统具有较为广泛的应用前景。

进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 永不缺相启动运行的电动机控制电路

  • IGBT模块通过控制门极阻断过电流

  • CCFL的工作原理及电子驱动电路解析

  • 基于M66T旋律发​​生器的电路图解析

  • 基于TDA1554的立体声放大器电路

    相关电子头条文章