3 系统设计描述.docx
- 文档编号:26418997
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:11
- 大小:162.43KB
3 系统设计描述.docx
《3 系统设计描述.docx》由会员分享,可在线阅读,更多相关《3 系统设计描述.docx(11页珍藏版)》请在冰豆网上搜索。
3系统设计描述
基于ADPCM语音编辑码电路设计以及FPGA上的实现
Version :
1.0.0
2011-01-08
DOCUMENTHISTORY
Ed.
Version
Author
Change
1
1.0.0
李博
Initial
1项目概述
1.1开发背景
近年来,多媒体技术逐渐深入到人们的生活中。
MP3播放器已经成为流行的便携式音频播放设备,由于MP3编码算法非常复杂,目前,一部分MP3播放器的录音功能主要基于ADPCM算法和DSP来实现。
本文阐述了ADPCM语音编解码VLSI芯片的设计方法以及利用FPGA的硬件实现。
1.2什么是ADPCM算法
ADPCM(自适应差分脉冲编码调制),综合了APCM的自适应特性和DPCM系统的差分特性,是一种性能较好的波形编码。
它的核心思想是:
利用自适应改变量化阶的大小,使用大的量化阶去编码大的差值;使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。
利用样本与样本之间的高度相关性和量化阶自适应来压缩数据的一种波形编码技术。
1.3项目简介
由于语音信号的压缩有利于存储,可以节约空间,提高存储语音长度,降低成本;同时能节省带宽,在军事通信系统等需要复杂加密的应用场合,其具有不可替代的作用。
在保证一定的编码语音质量的前提下可以对语音进行高效率地压缩编码,本文介绍了基于自适应差分脉冲编码调制技术ADPCM的语音编解码原理和结构,通过介绍对各种算法分析来得出一种最优的自适应量化和自适应的预测算法。
本设计的硬件FPGA器件为Xilinx公司的XUPV5_LX110T板子。
此课题的优点是相对于其他算法,它的压缩/解压缩算法简单,是一种低空间消耗,却能获得高质量高效率声音。
在一定场合下,其有很大优势。
2项目需求规格
2.1项目用例分析
该项目主要是对语音的转换与处理,所以录音功能是主要的操作之一。
主要操作:
1.用户操控控制模块,以实现对录音模块的控制;
2.录制语音并对语音压缩和存储。
用例图如下所示:
图1主要功能用例图
2.2系统实现视图
图2系统实现视图
2.3功能点描述
功能1.电路的编码模块实现将语音信号压缩的功能;
功能2.存储模块可实现存储压缩后的语音信号功能;
功能3.译码模块可实现将压缩后的语音信号解码成人们可识别的语音信号;
功能4.可实现录音功能并最终对录音文件压缩存储。
3系统设计描述
3.1主要模块
ADPCM语音转换设计的总体模块如下:
图2.总体模块设计原理
这五大模块分别为:
时钟模块,控制模块,译码器模块,存储模块,解码器模块。
其中编码器的作用是将语音信号进行压缩,并将其存储到存储模块中,而译码器就是将其进行解压缩操作。
3.2系统分解视图
系统主要分为总控制模块,而电路图则主要由编码,译码,存储功能所组成,其系统分解视图如下:
图3系统分解视图
3.3编码模块
按总体设计模块分析,语音信号首先要经过编码模块处理,以实现PCM语音信号编码为DPCM语音信号,原理图如下:
图4编码模块原理图
输入(Wr_PCM):
写入PCM信号,当时钟和使能端为高电平时,“写”有效,此时可以写进信息。
En_en:
使能端为1时,可以写入数据;
Clock:
时钟上升沿时才能有效,写入数据;
实现电路图如下所示:
图5实现编码模块功能电路图
3.4译码模块
经过编码的语音DPCM信号最终要转换成可执行的ADPCM语音信号,这样才能实现最终应用,这里就要需要译码模块来对其控制了,其原理图如下:
图6译码模块
而译码模块的实现电路图如下所示:
图7译码模块电路图
3.5控制模块执行视图
对于控制语音信号,在按下某一控制按键的时候,也就是对系统作出了一个操作,系统则根据电平控制的高低来判断是否执行该操作,然后传送到总芯片中去,将比较的结果转化为相应的输出来驱动LED二极管来显示结果。
其执行视图如下所示:
4系统功能测试
本系统的开发既有软件的开发也有硬件的开发,因此在执行测试的时候将测试划分为软件测试和硬件测试两部分。
4.1软件测试
4.1.1语音信号编码模块
目标
1、测试程序是否可以正常编译运行;
2、检测语音信号是否可以正确转换;
3、综合仿真是否可以实现。
测试过程
1、创建工程,导入VerilogHDL程序。
2、编写测试程序,调用Modelsim进行波形的输出。
3、调用QuartusⅡ,进行RTL级综合仿真。
预期
由于在测试程序中给定了dpcm输入波形,所以在Modelsim中会输出对应的正确的adpcm波形。
而调用QuartusⅡ,进行RTL级综合仿真也可正确实现。
结果
通过。
4.1.2语音信号译码模块
目标
1、测试程序是否可以正常编译运行
2、检测语音信号是否可以正确转换
3、综合仿真是否可以实现
测试过程
1、创建工程,导入VerilogHDL程序。
2、编写测试程序,调用Modelsim进行波形的输出。
3、调用QuartusⅡ,进行RTL级综合仿真。
预期
由于在测试程序中给定了adpcm输出波形,所以在Modelsim中会输出对应的正确的dpcm波形。
而调用QuartusⅡ,进行RTL级综合仿真也可正确实现。
结果
通过。
4.2硬件测试内容
4.2.1语音转换电路控制模块
目标
1、察看对应的功能是否可以实现;
2、测试关键部位的电压是否满足要求。
测试过程
1、将综合后的文件下载到FPGA电路板上;
2、分别对编解码模块进行控制,并分别进行使能和复位操作。
3、检测关键部位的电压。
预期
分别在按下相应模块的复位键后,总模块都会停止工作。
当对每个模块都进行使能操作的时候,电路正常工作,当输入pcm语音信号后,会正常输出语音信号。
结果
通过。
4.2.2故障检测模块
目标
检测如果发生故障后蜂鸣器是否会工作
测试过程
将综合后的文件下载到开发平台上
打开开发板的开关,用一段导线将LED灯的两个引脚短接
观察实验板上蜂鸣器的工作状态
预期
将LED灯的两个引脚短路后,对应着车灯出现了故障,因此会引发蜂鸣器的工作,蜂鸣器按照指定频率鸣叫。
结果
通过。
5项目及课程总结
高级软件工程课结束了,对于本科非计算机专业的我来说,收获可能要比其他人更多。
首先,软件工程这门课并非是我想象中的写代码,它强调的是一种思想,多变灵活的思想,软件工程的内涵让我明白,它是对软件工程的合理有效的规划,理论和实际经验的有效结合,这种意义是远远大于程序编码。
甚至可以说这种思想更可以应用到其他学科领域上。
刚开始完成作业的时候,感到无所适从,需求分析,测试文档……不过每次也得硬着头皮完成,不过当完成最后一篇工程论文并感到有些游刃有余的时候,我才发现,无论是各种文档的格式或者内容,或者是对软件工程总体的认知,原来我真的在不知不觉中提高了。
当然也有很多遗憾,由于课程有些繁重,自己的工程实践项目还没正式开始,这也使得我并没有将老师教的软件思想很好的结合,仅仅停留在“空想”阶段,而且由于自己是芯片专业,项目也是偏向硬件,所以没有充分运用到所学。
也正是由于自己相关的经验欠缺,对软件工程的很多知识点不能很好的理解,或者仅仅停留在理论层面,因此软件工程这本书也将是我以后的工具书。
下面来说说课程建议,由于老师的幽默和课堂形式的轻松,使得原本枯燥的理论课并不那么枯燥,还有多变的教学模式,每人都有机会做一次工程项目报告,这对我们大多数人绝对是难得的锻炼机会,每次留的作业也与总体教学思路合理切合,一切都很好,就不多说了,那么说说问题,以下纯属个人看法:
1.教程问题。
一开始学校订的英文教程,一学期下来没看几次,我觉得真的很鸡肋,课件是英文的已经足够了,没必要看英文教材,对大多数人来说,第一次接触那么多抽象的概念,用英文教材并不那么好理解。
2.老师留的作业很有用,我也每次认真完成,可深知里面有不少问题,我希望老师能更辛苦一点,对作业做一些详细的批改并返回,否则很难意识到自己的不足。
3.由于自己选的工程实践是偏硬件项目,所以做一些文档,包括做一些视图的时候,并不能很好的结合该课程,特别是一些视图,比如用例图等,因为硬件的项目逻辑思维都很简单,以至于完成这些都意义不大。
在以后的教学中,老师是否要让做硬件项目的同学都最好选择一个虚拟的软件项目呢?
6参考资料
[1]吴家安.现代语音编码技术.北京:
科学出版社,2008.01-01.
[2]夏宇闻.Verilog数字系统设计教程.北京.北京航空航天大学出版社,2010.05-25.
[3]帕尔尼卡著.夏宇闻等译.Verilog HDL数字设计与综合(第二版).北京.电子工业出版社,2009.07.
[4]姚天任. 数字语音处理.武汉.华中科技大学出版社.2005-07-01.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统设计描述 系统 设计 描述