电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > DSP > 详细信息
DSP:采用DSP内核技术进行语音压缩开发
来源:   时间: 2007-4-17 14:54:17    
随着仪器仪表人机界面越来越趋于人性化,语音识别的需求不断增长,语音处理技术发展迅速,各种处理算法层出不穷,为大容量的语音应用提供了愈加灵活的技术手段。然而,语音数据的压缩比越高,数据回放算法所要求的计算能力也越强。目前,大多数高压缩比的语音压缩数据生成必须采用专用的语音开发工具和开发版权,这给国内的小规模用户造成了一定的困难。在8K的采样速率下,同样是使用4兆位的flash芯片来存储数据,不同的语音算法所能提供的回放时间有很大差异。例如,采用ADPCM(自适应增量脉冲编码)算法只可提供128秒的回放时间,而采用TI的LPC(线性预测编码)算法却可得到50分钟的回放时间。在某一工程项目中,我们需要开发一种回放时间长达200分钟的低成本手持语音设备,由于使用了DSP内核芯片,在较短的时间内完成了开发工作,达到了预先提出的性能指标。

1 语音算法与芯片特点

在本项目中,我们选择了DSP集团的语音压缩最新算法Triple Rate Coder,其压缩比达到了46:1,且音质良好,MOS指标达到了3.98。

该算法的基本思想是:首先将语音分为若干小段,由于语音信号的谱变化是一个缓变量,因此在每一小段内信号是平稳变化的。然后用一个数字滤波器和一个激励函数来表示这一段时域波形的离散采样序列。在实际算法中是采用了一个十阶的线性预测滤波器,计算时还将每一帧分为4个子帧,每一子帧的滤波器系数矢量由上一帧和本帧数据计算得到,而最后一子帧的滤波器系数矢量则由矢量分解预测法得到;激励函数采用的是伪随机多脉冲激励函数,由最大似然算法得到。对每一帧计算得到滤波器系数矢量和函数生成元后,将这些系数再压缩打包就得到了最后的语音压缩数据。当对语音压缩数据进行解压时,首先将打包的数据展开,然后建立起线性预测滤波器,将重新生成的伪随机多脉冲激励函数输入滤波器,这样在滤波器的输出端就可得到被恢复的语音信号序列了。

该算法的实时运算需要22MIPS以上的运算速度,为此DSP集团将DSP内核和算法代码集成在D6571系列芯片内,以满足除PC用户以外的更广泛应用。D6571原理框图如图1所示,其本身可直接外挂并管理4兆位的flash,8K采样速率时在2.8KB的数据率下可提供25分钟的回放时间。该芯片具备工业标准的编解码器接口,可直接与串行PCM接口的音频编解码芯片相连,如美国国家半导体的TP3504或韩国三星半导体的KS8620。D6571可外接两片音频编解码芯片,上电后可用设置命令对外接音频编解码芯片的工作模式进行设置。例如:设置外接芯片的时钟是外同步还是自同步;设置外接芯片处于输出方式还是输入方式等。

根据实际开发经验,我们认为D6571芯片与其它公司所提供的某些DSP内核芯片相比,其最大的优点是几乎不需要任何开发工具或软件就可使用。因为该芯片的数据是双向的,既可由上位机将压缩后的语音数据通过它解压转变成语音,也可输入语音通过它进行实时压缩后传送给上位机。这就大大方便了长回放时间语音开发用户的使用。更何况目前许多语音压缩芯片对语音数据的管理是不公开的,例如:某些数字录音电话的语音压缩芯片。

2 系统构成

与语音处理有关的系统构成如图2所示。

语音数据存放在一片32兆位的flash中,采用三星的K29W3200,这是一种8位并行接口的闪存,并行接口有利于提高代码效率和满足实时性要求。

在语音数据的压缩和回放过程中,D6571和flash之间的数据吞吐均通过上位机进行。上位机采用89C52。系统还有64×64的点阵液晶模块ACM6464等外围设备。所有的设备均使用一条公共的8位数据总线,即CPU的P0口;P2口的六根口线用于键盘管理;P3口的两根口线作为两条串口线;这样用于外设管理的口线还剩余16根可用。系统实际使用了其中的14根线:与flash管理有关的使用6根,与D6571有关的使用4根,还有4根用于液晶显示管理。

音频编解码接口芯片采用一片TP3054,TP3054工作所需的同步脉冲、采样时钟、数据信号等只需要与D6571的四根控制线相连即可得到。

3 系统开发

本系统的语音开发分为上载、数据合成及下载三个过程。上载是指获得语音压缩数据;数据合成是指将全系统的数据按一定的结构组织成一个文件;下载是指仪器装配出厂时将文件烧录到flash中。这三个过程均通过PC机进行。由于系统板上MCU的串行信号直接输出的是TTL电平,因此,本系统的语音开发唯一需要另外制作的硬件就是使用一片MAX232来完成与PC机之间的电平转换。

D6571具有16位宽度的总线,但也允许以分时方式使用8位总线,这时上位机须用HL信号表示送上总线的是高8位还是低8位;而当D6571主动将数据送上总线时,会发出ACK信号通知上位机读取数据。HRD和HWR则是读和写的控制线。由于Triple Rate Coder算法是按30毫秒分帧采样,然后再进行分析压缩的,因此无论是读取压缩数据还是回送压缩数据,均必须在一帧之内完成,否则D6571会自行进入休眠状态。向D6571输送语音数据的过程如下:首先送出解压控制命令,然后接收一个回送状态字,状态字中包含了当前帧所需要的字节数,上位机就连续送出规定数目的数据,待一帧处理完毕后,D6571会继续送出状态字。如此循环就可连续回放出语音了。而利用D6571进行语音压缩的数据处理过程正好相反,状态字中包含的是当前帧压缩所得到的字节数,上位机就应连续接收规定数目的数据。

上载时,首先要得到的是各个语音段的压缩数据。作为准备工作,先用PC机的录音机工具将我们所需的语音录制成WAV文件。然后对MCU和PC机分别编写共同配合工作的两段程序来完成以下功能:PC机通过声卡播放声音给D6571;89C52控制D6571进行语音压缩并读回压缩数据,然后通过串口线回送给PC机,PC机则将每段的压缩数据存盘。

由于每段语音播放时均要有一定的中文点阵字符显示,数据合成的任务就是要将每段数据加上索引和字符点阵数据后再合成为一个完整的近32兆位的二进制文件。文件形成时为了使数据定位和读出编程方便,数据块以flash的页为单位,一页为528字节。

下载工作则较简单,在设备出厂前直接使用系统89C52的串口将数据合成形成的文件下载到闪存中即可。

D6571的压缩率极高,使用和开发也比较方便。因此尽管本系统的语音容量长达200分钟,但系统整体设计十分简洁、经济,几乎不需调试。主要开发工作是MCU和PC机的一些程序开发使用C51和VB编程,开发速度也比较快。

由于D6571的控制命令很丰富,系统用户界面的软件是很容易编写的。例如,由于该芯片具有30阶的音量控制命令,我们未添任何硬件就为设备增加了数字音量控制功能。D6571的控制命令还包含自动增益控制、变速回放、数字滤波器等更加高级的命令,因此,它几乎可应用于任何语音场合。

相关信息
发表评论
打印本页 关闭本页
基于单片机AT89C52的CAN总线分布式测控系统的研制
  1CAN总线网络的技术特点    用通讯数据块编码,可实现多主工作方式,数据收发方式灵活,可实现点对点、一点对多点及全局广播等多种传输方式;可将DCS结构中主机的常规测试与控制功能分散到各个智能节点,节点控制器把采集到的数据通过CAN适配器发送到总线,或者向总线申请数据,主机便从原来繁重的底层设备监控任务中解放出来,进行更高层次的控制和管理功能,比如故障诊断、优化协调等...
>>详细内容
AT89C52单片机在捻度测量中的应用
    纱线捻度测量是纺织生产中重要的环节。目前纱线捻度普遍采用机械式和半电子化测量。该测量方法精度低、操作人员劳动强度大、易出现错误操作。为适应市场需求和社会发展,开发了以单片机为核心捻度测量装置,实现捻度测量的自动化、微型化、数字化,从而大大提高了测试精度。    1 系统原理  本装置如图所1示。单片机将测量的电机转速与键盘设置的工作方式和初始值进行比较判断...
>>详细内容
基于AT89C52单片机的多超声信号融合处理系统设计
    摘要:本文设计并实现了一种多超声信号融合处理系统,主要用于移动机器人超声测距导航。系统针对超声回波信号的特点,使用AT89C52单片机对来自多个超声波传感器的微弱回波信号进行数字处理,并通过RS-232串行口与主机实现通讯。利用该系统,可以完成超声波信号的精确提取及多传感器信息的融合处理,为移动机器人在未知环境下的快速导航奠定了基础。 关键字:多通道;超声测距;信息融...
>>详细内容
AT89C52的励磁调节器的设计与实现
  引言   励磁调节系统是同步发电机一个十分重要的组成部分[2],其主要任务是向同步发电机的励磁绕组提供一个可调的直流电流或电压,从而控制机端电压的恒定,以满足发电机正常发电的需要。近年来,微机励磁调节器[1]以其硬件结构简单、清晰、设备通用性好、标准化程度高、软件灵活、能够方便实现多种功能和满足各种控制规律的要求等优点,在许多电力工业得到了广泛的应用。但是,单微...
>>详细内容
MAX232获得正负电源的另一种方法
  MAX232获得正负电源的另一种方法  在单片机控制系统中,我们时常要用到数/模(D/A)或者模/数(A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如:+9V,-9V;+12V,-12V.这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。在控制板上,我们有的只是5V电源,可又有很多方法获得非5V电源。  1.外接;2.DC-DC变换......在这里我介绍一块大家常用的芯片:MAX23...
>>详细内容
基于AT89C52的励磁调节器的设计与实现
    引言  励磁调节系统是同步发电机一个十分重要的组成部分[2],其主要任务是向同步发电机的励磁绕组提供一个可调的直流电流或电压,从而控制机端电压的恒定,以满足发电机正常发电的需要。近年来,微机励磁调节器[1]以其硬件结构简单、清晰、设备通用性好、标准化程度高、软件灵活、能够方便实现多种功能和满足各种控制规律的要求等优点,在许多电力工业得到了广泛的应用。但是,单微...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com