基于ide硬盘的超长时间语音录放系统.pdfVIP

基于ide硬盘的超长时间语音录放系统.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于 IDE 硬盘的超长时间语音录放系统 摘要:选择单片机+ide 硬盘的方案,权衡处理器性能和编解码算 法复杂度之后选择了 adpcm 压缩算法,利用 winbond w78e52 单片机 的最小开发板实现基于 ide硬盘的大容量语音记录仪,极具性价比。 关键词:单片机;adpcm;超长时间语音录放系统 0 引言 基于 ide硬盘的大容量语音记录仪可将拾音器获得的语音信号转 换为数字信息,编码压缩后以语音文件形式存储于硬盘上,并可检 索查询,将选定的语音文件实现高质量的回放。目前,各行业对语 音进行录音保存变得越来越普遍,各行业使用的语音记录设备主要 包括磁带式语音记录设备、基于 pc 机的语音记录设备和基于 flash 芯片的语音记录设备。这些语音记录设备由于体积过大或记录时间 较短等缺点在实际应用时满足不了某些用户的特殊需求,因此亟需 一种大容量、体积小巧的语音记录设备。 1 系统硬件与软件资源分配 如图 1 所示: 图 1 系统硬件结构框架 系统软件的核心包括两个任务流:录音和放音。录音部分包括读 adc 转换值、编码、写硬盘;放音部分包括读硬盘、解码、送 dac 输出模拟音频信号,如图 2 所示。 2 系统设计与分析 adpcm 是在自适应脉冲编码调制(adaptive pulse code modulation,apcm)和差分脉冲编码调制(differential pulse code modulation,dpcm)的基础上发展起来的。adpcm 综合了 apcm 的自适应特性和 dpcm 系统的差分特性,是一种性能比较好的波形 编码。它的核心算法是:①利用自适应的思想改变量化阶的大小, 即使用小的量化阶(stepsize)去编码小的差值,使用大的量化阶 去编码大的差值;②使用过去的样本值估算下一个输入样本的预测 值,使实际样本值和预测值之间的差值总是最小。 图2 系统软件资源分配及系统软件结构流程 在数字语音处理中,subadpcm 算法的关键是进行子带的分割, 即实现数字带通滤波。凌阳的音频压缩算法 sacma2000 即是采用 这种算法,在winbond w78e52 的集成开发环境中集成并提供了sacm a2000 的 api 函数供调用,经实验发现,调用 sacma2000 进行 录音压缩占用了较多的 ram 资源,需要花费较多的 cpu 时钟,如果 加入硬盘读写程序,winbond w78e52 的 cpu 时钟频率和 2k 字的 ram 将无法满足系统要求。在本系统中,合理的方案是采用 adpcm 压缩 算法。 3adpcm 压缩算法在 winbond w78e52 单片机上的改进及实现 3.1 针对winbond w78e52 的10位 adc对 adpcm进行改进 g.721和 ima adpcm 的输入都是有符号数,最高位为符号位,如果将 16 位有符号 数当成无符号数处理,即相当于在原来的数据上加上 0x7fff。 winbondw78e52 的 adc 输出范围是 0x0000~0xffc0,理论上静音时 adc 的输出是 0x7fc0,即硬件上将双极性的语音输入信号调理成了 0~2v 的单极性信号,引起 adc 的输出数据加上了 0x7fc0,这一点 和将 imaadpcm输入信号的 16位有符号数当成无符号数处理吻合。 如果能将 imaadpcm 算法的实现改成无符号数运算,那将可以省 去将 winbond w78e52 的 adc 输出值处理成有符号数。 imaadpcm 算法在实现的时候,约定初始预测值和 index 步长调 节因子均为 0,但是经过上一节介绍的方法改进后,相应地,初始 预测值应改为 0x7fc0,因为上述的改进方法只是在原数据上加上一 个固定的值,将其”抬高”为无符号数,对 adpcm 编码过程的差值 并不产生影响,因此初试 index 步长调节因子不需改变,仍为 0。 编解码过程中的溢出判决相应的也要改为下限为 0,上限为 0xffc0。 3.2 利用 matlab 模拟 winbond w78e52 的硬件条件进行仿真 matlab 提供了丰富的数据类型和位运算指令,这为利用 matlab 模 拟 winbond w78e52 的硬件条件进行仿真提供了条件。首先,将语音 信号样本处理为 16 位的无符号整型数据,然后定义 uint16 类型变 量使得与 winbond w78e52 的

文档评论(0)

152****7770 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档