基于IDE硬盘的超长时间语音录放系统_第1页
基于IDE硬盘的超长时间语音录放系统_第2页
基于IDE硬盘的超长时间语音录放系统_第3页
基于IDE硬盘的超长时间语音录放系统_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于IDE硬盘的超长时间语音录放系统摘要:选择单片机+ide硬盘的方案,权衡处理器性能和编解码算法复杂度之后选择了adpcm压缩算法,利用winbond w78e52单片机的最小开发板实现基于ide硬盘的大容量语音记录仪,极具性价比。关键词:单片机;adpcm;超长时间语音录放系统0引言基于ide硬盘的大容量语音记录仪可将拾音器获得的语音信号转换为数字信息,编码压缩后以语音文件形式存储于硬盘上,并可检索查询,将选定的语音文件实现高质量的回放。目前,各行业对语音进行录音保存变得越来越普遍,各行业使用的语音记录设备主要包括磁带式语音记录设备、基于pc机的语音记录设备和基于flash芯片的语音记录设

2、备。这些语音记录设备由于体积过大或记录时间较短等缺点在实际应用时满足不了某些用户的特殊需求,因此亟需一种大容量、体积小巧的语音记录设备。1系统硬件与软件资源分配如图1所示:图1系统硬件结构框架系统软件的核心包括两个任务流:录音和放音。录音部分包括读adc转换值、编码、写硬盘;放音部分包括读硬盘、解码、送dac输出模拟音频信号,如图2所示。2系统设计与分析adpcm是在自适应脉冲编码调制(adaptive pulse code modulation,apcm)和差分脉冲编码调制(differential pulse code modulation,dpcm)的基础上发展起来的。adpcm综合了a

3、pcm的自适应特性和dpcm系统的差分特性,是一种性能比较好的波形编码。它的核心算法是:利用自适应的思想改变量化阶的大小,即使用小的量化阶(stepsize)去编码小的差值,使用大的量化阶去编码大的差值;使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。图2系统软件资源分配及系统软件结构流程在数字语音处理中,subadpcm算法的关键是进行子带的分割,即实现数字带通滤波。凌阳的音频压缩算法sacma2000即是采用这种算法,在winbond w78e52的集成开发环境中集成并提供了sacma2000的api函数供调用,经实验发现,调用sacma2000进行录音

4、压缩占用了较多的ram资源,需要花费较多的cpu时钟,如果加入硬盘读写程序,winbond w78e52的cpu时钟频率和2k字的ram将无法满足系统要求。在本系统中,合理的方案是采用adpcm压缩算法。3adpcm压缩算法在winbond w78e52单片机上的改进及实现3.1针对winbond w78e52的10位adc对adpcm进行改进g.721和imaadpcm的输入都是有符号数,最高位为符号位,如果将16位有符号数当成无符号数处理,即相当于在原来的数据上加上0x7fff。winbond w78e52的adc输出范围是0x00000xffc0,理论上静音时adc的输出是0x7fc0,

5、即硬件上将双极性的语音输入信号调理成了02v的单极性信号,引起adc的输出数据加上了0x7fc0,这一点和将imaadpcm输入信号的16位有符号数当成无符号数处理吻合。如果能将imaadpcm算法的实现改成无符号数运算,那将可以省去将winbond w78e52的adc输出值处理成有符号数。imaadpcm算法在实现的时候,约定初始预测值和index步长调节因子均为0,但是经过上一节介绍的方法改进后,相应地,初始预测值应改为0x7fc0,因为上述的改进方法只是在原数据上加上一个固定的值,将其”抬高”为无符号数,对adpcm编码过程的差值并不产生影响,因此初试index步长调节因子不需改变,仍

6、为0。编解码过程中的溢出判决相应的也要改为下限为0,上限为0xffc0。3.2利用matlab模拟winbond w78e52的硬件条件进行仿真matlab提供了丰富的数据类型和位运算指令,这为利用matlab模拟winbond w78e52的硬件条件进行仿真提供了条件。首先,将语音信号样本处理为16位的无符号整型数据,然后定义uint16类型变量使得与winbond w78e52的数据位宽一致。在运算过程中,matlab自动对数据类型进行检查,因此不需要进行误差补偿。语音信号s(n)的取值范围为-1+1,在这个范围内,可近似地认为s(n)服从正态分布,从而可知其snr将显著的提高。3.3编解码程序流程图编解码程序流程图如图3、图4所示。图3解码程序流程图4编码程序流程4系统测试4.1编解码程序测试在集成开发环境中对编解码程序进行时延测试。反映的也是处理器和编解码程序的综合效率。考虑到8khz中断间隔125us,因此系统采用的编码帧长为16字,解码帧长为4字。帧长度越长,编解码效率越高,这主要是因为每次进入和退出编解码程序都需要对指针等变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论