- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
采用DSP内核技术进行语音压缩开发
采用DSP内核技术进行语音压缩开发
?????? 随着仪器仪表人机界面越来越趋于人性化,语音识别的需求不断增长,语音处理技术发展迅速,各种处理算法层出不穷,为大容量的语音应用提供了愈加灵活的技术手段。然而,语音数据的压缩比越高,数据回放算法所要求的计算能力也越强。目前,大多数高压缩比的语音压缩数据生成必须采用专用的语音开发工具和开发版权,这给国内的小规模用户造成了一定的困难。在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接口的音频编解码芯片相连,如美国国家半导体的TP3054或韩国三星半导体的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位;
文档评论(0)