语音压缩存储与回放实验报告
语音存储与回放设计报告
电子设计报告语音存储与回放系统设计小组成员院系名称专业名称班级二○一四年 7 月 12 日语音存储于回放系统设计内容提要:本系统是一本系统是以DSP芯片为核心控制芯片设计的一款语音存储与回放系统。
该系统可以通过话筒采集语音信号然后经过放大器放大以及带通滤波器滤除干扰信号后通过AD转换过后由DSP芯片进行存储后通过DA转换进行回放,之后再进行滤波与功率放大通过扬声器输出语音信号。
整体的电路由语音采集电路、放大器电路、带通滤波电路、DA转换电路、控制与显示电路以及语音回放电路组成。
控制芯片通过AD转换将语音采集电路与放大滤波电路采集到的语音信号转换成数字信号后存储起来,之后通过DA转换输出语音信号,再通过滤波与放大后通过扬声器输出采集到的语音信号。
该系统可以较好的将语音信号采集并且存储与回放出来。
关键词:DSP 语音信号放大带通滤波 AD转换 DA转换目录1. 方案设计与论证 (1)1.1 系统总体方案 (1)1.2 前级放大电路设计 (1)1.3 滤波器设计 (1)1.4 AD与DA模块设计 (2)1.5 功率放大器设计 (2)2. 硬件电路设计 (3)2.1话筒电路设计 (3)2.2放大器设计 (3)2.2.1同相放大器设计 (3)2.2.2差分放大器设计 (3)2.3带通滤波器设计 (4)2.4加法器设计 (4)2.5 DA转换电路设计 (5)2.6功率放大器设计 (5)3. 软件设计 (6)4. 系统调试及数据分析 (6)5. 误差分析 (7)6. 参考文献 (7)语音存储与回放系统设计报告1.方案设计与论证1.1 系统总体方案本系统的设计主要是通过DSP控制芯片进行控制。
由话筒构成语音采集电路将语音信号转化成与之对应的电信号,再将电信号通过放大器与滤波器后进入有DSP芯片控制的AD转换器中,通过AD采样与转换后进入存储器。
再由存储器将数据输出后通过DA转换后通过滤波器与放大器后通过扬声器输出,这样就可以将语音信号进行很好的存储于回放。
DSP语音信号存储、压缩、回放
语音压缩存储与回放学生姓名:指导老师:摘要本DSP课程设计是基于TSM320C5402芯片实现语音压缩和解压缩的基本算法,采用A/D转换器从MIC输入口实时采集语音信号,在DSP开发环境CCS3.3上用C语言编程运用A律语音压缩后存储到DSP的片内和片外RAM存储器中,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。
并使用指示灯对语音存储和回放过程进行指示。
关键词DSP;TSM320C5402芯片;语音压缩和解压缩;CCS3.3Abstract This course is designed DSP chip based TSM320C5402 basic voice compression and decompression algorithms, using the A / D converter real-time acquisition from the MIC input speech signal, in the CCS3.3 DSP development environment in C language programming on the use of A-law compressed speech stored in the DSP chip and off-chip RAM memory, real-time using DSP decompress and playback output from SPEAKER outputs. And use the light on the process of voice storage and playback instructions.Keywords DSP; TSM320C5402 chip; voice compression and decompression; CCS3.31引言数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科,是在模拟信号变成数字信号以后进行高速实时处理的专用处理器。
语音压缩、存储与回放
3.设计算法、原理说明2
1.设计方案2
2.设计框图2
3.算法原理2
4.硬件平台介绍7
1.系统组成结构7
2.主要硬件分析7
5.程序设计、调试与结果分析9
1.程序流程图9
2.源程序9
3.存储器配置程序(.cmd文件)18
4.调试过程19
5.结果分析19
6.总结感想20
7.参考文献20
1.
1.设计概述
根据以上原理,CCITT在上世纪80年代制订了G.711 A律、卩律编码 标准,通常又被称为A聿PCM或卩律PCM经过G.711标准编码后语音信号 采样率为8kHz,按13段(A律)或15段(卩律)进行8位非均匀量化,每 秒的数据量为8-bitx8000=64kbit=8kB。根据相关测试,其8-bit非均匀 量化的效果可与13-bit均匀量化的效果相当。
Chord
Step
bit: 6 54
321 D
bit:12 11 10 9 87 6 5 4 3 210
Q 0 0
abed
0 0000001 a bcdl
0 0 1
abed
0000001abcd10
0 1 0
abed
0 0 0 0 01 abed 10 0
0 II
abed
00001 abed 1000
(7)掌握PC编码技术的基本原理及语音的A律压缩与解压。
3.设计目标
基本部分:
(1)使用DSPS现语音压缩和解压缩的基本算法, 算法类型自定,例如可以 采用G.711、G.729等语音压缩算法。
(2)采用A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP的片内和片外RAMf储器中,存储时间不小于10秒。
基于TMS320VC5402语音采集压缩存储与回放
摘要本课程设计的主要目的是熟悉CCS集成开发环境。
然后在CCS环境下实现基于TMS320VC5402芯片的语音采集压缩与存储和回放。
本课程设计首先采用A/D转换器从MIC输入口实行语音信号采集,进行压缩后存储到DSP的片内和片外RAM存储器中,等到存储器存满之后,使用DSP实行解压缩,并从SPEAKER输出口进行回放输出,并且用指示灯对语音存储和回放过程进行指示。
关键词:CCS;DSP;采集;压缩;存储与回放;Ⅰ第1章引言随着信息技术革命的深入和计算机技术的飞速发展,数字信号处理技术已经逐渐发展成为一门关键的技术学科。
而DSP芯片的出现则为数字信号处理算法的实现提供了可能。
这一方面极大地促进了数字信号处理技术的进一步发展;另一方面,它也使数字信号处理的应用领域得到了极大的拓展。
在国外DSP芯片已经被广泛地应用于当今技术革命的各个领域;在我国,DSP技术也正以极快的速度被应用到科技和国民经济的各个领域。
目前,在微电子技术发展的带动下,DSP芯片的发展日新月异,DSP的功能日益强大,性能价格比不断上升,开发手段不断改进。
DSP芯片已经完全走下了“贵族”的圣坛。
DSP芯片已经在通信与电子系统、信号处理系统、自动控制、雷达、军事、航空航天、医疗、家用电器、电力系统等许多领域中得到了广泛的应用,而且新的应用领域在不断地被发掘。
第2章硬件设计2.1 TMS320VC5402芯片的基本原理TMS320VC5402 数字信号处理器是TI公司为实现低功耗,高速实时信号处理而专门设计的16位定点数字信号处理器,采用改进的哈佛结构,具有高度的操作灵活性和运行速度,适用于远程通信等实时嵌入式应用的需要。
广泛应用于电子测试、电子设计、模拟仿真、通信工程中。
TMS320VC5402具有的主要优点如下:(1) 围绕一组程序总线、三组数据总线和四组地址总线而建立的改进哈佛结构,提高了系统的多功能性和操作的灵活性。
(2) 具有高度的并行性和专用硬件逻辑的CPU设计,提高了芯片的性能。
数字化语音存储与回放系统报告--设计报告
数字化语音存储与回放系统(题目)一、题目数字化语音存储与回放系统二、任务设计并制作一个数字化语音存储与回放系统三、要求1.基本要求(1)放大器1的增益为46dB,放大器2的增益为40dB,增益均可调;(2)带通滤波器:通带为300Hz~3.4kHz ;(3)ADC:采样频率f s=8kHz,字长=8位;(4)语音存储时间≥10秒;(5)DAC:变换频率f c=8kHz,字长=8位;(6)回放语音质量良好。
2.发挥部分在保证语音质量的前提下:(1)减少系统噪声电平,增加自动音量控制功能;(2)语音存储时间增加至20秒以上;(3)提高存储器的利用率(在原有存储容量不变的前提下,提高语音存储时间);(4)其它(例如:校正等)。
四、评分意见项目满分基本要求设计与总结报告:方案设计与论证,理论分析与计算,电路图,测试方法与数据,对测试结果的分析50 实际制作完成情况50发挥部完成第一项15 完成第二项 5 完成第三项15五、说明:不能使用单片语音专用芯片实现本系统。
数字化语音存储与回放系统(设计报告)摘要该系统主要由语音收集、增益放大、带通滤波、A\D、D\A转换,51单片机、外部RAM存储、功率放大、扬声器几大部分组成。
其中语音收集主要由驻极体话筒实现。
然后同过增益放大部分将几十毫安的信号放大至0~8A左右。
再利用带通滤波滤去带声外地噪音,并由A\D转换将声音信号转化为数字信号存储在单片机的外部存储器中,可存储时长为4秒左右。
再由D\A转换转变为模拟信号后通过带同滤波滤去噪声,功率放大部分放大功率后,最后由扬声器输出。
关键词外部RAM 功率放大带通滤波A\D、D\A转换51单片机AbstractThe system is mainly composed of a voice collection, gain amplification,band-pass filtering, A \ D, \ A D conversion, 51 microcontroller, external RAM storage, power amplifier, speakers of several major components. The voice collection consists of an electret microphone implementation. Then the gain of the amplifier portion will be tens of Ma amplification of the signal to a 0 ~ 8A. Reuse of band-pass filter to filter noise acoustic field, and by A \ D converts voice signal into a digital signal and stored in a memory external to the microcontroller, can be stored for a long time about 4 seconds. By D \ A conversion into an analog signal through with filter filter to noise, power amplifier part of the larger power, finally output by the speaker.Key wordExternal RAM amplifier band-pass filter A \ D, \ A conversion D 51 single chip microcomputer目录一、方案设计与论证1.1题目解析 (01)1.2方案讨论 (02)二、理论分析与计算2.1系统的整体设计………………………………………………………………2.2功能模块的设计………………………………………………………………三、硬件设计3.1系统的整体设计………………………………………………………………3.2功能模块的设计………………………………………………………………四、软件设计4.1系统的整体设计………………………………………………………………4.2功能模块设计…………………………………………………………………五、系统的组装与调试5.1整体结构布局与工艺图………………………………………………………5.2系统调试………………………………………………………………………5.3测试结果及分析………………………………………………………………附录一………………………………………………………………………………附录二………………………………………………………………………………一、方案论证1.1题目解析根据题目要求:该数字化语音存储与回放系统要做到如下要求:(1)放大器1的增益为46dB,放大器2的增益为40dB,增益均可调;(2)带通滤波器:通带为300Hz~3.4kHz ;(3)ADC:采样频率f s=8kHz,字长=8位;(4)语音存储时间≥10秒;(5)DAC:变换频率f c=8kHz,字长=8位;(6)回放语音质量良好。
语音压缩、存储和回放
DSP技术课程设计报告--语音信号的压(解)缩、存储与回放指导教师:高海林班级:自动化0605班姓名:王之秋学号:05212169目录一、实验目的 (2)二、实验内容 (2)三、实验装置介绍 (2)四、实验方案、算法原理说明 (8)五、程序设计 (9)六、调试及结果分析 (21)七、程序调试过程的问题 (26)八、实验总结 (27)九、参考文献 (27)一、实验目的1、学习并掌握5402DSP片上外设多通道缓冲串行口MCBSP的内部结构和工作原理。
2、学习并掌握TLC320AD50CODEC编译码器的内部结构和工作原理。
3、使用C语言对MCBSP和CODEC的编程方法。
4、熟练使用软件CCS5000对程序的完整调试过程。
二、实验内容(1)编程实现语音信号的采集,压缩,存储,解压缩与回放语音信号的基本算法。
(2)创建、编译、链接工程项目,在5402 DSK 板上调试运行。
(3)采用A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP的片内和片外RAM存储器中。
(4)存储器存满之后,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。
三、实验装置介绍1、多通道缓冲串行口MCBSP(1)结构及工作原理C5402 具有2 个高速的全双工同步串行口,可用来与系统中的其它C54x 器件、编码解码器、串行A/D、D/A 转换器以及其它的串行器件直接接口。
这两个串行口均为多通道缓冲串行口McBSP(Multi-channel Buffered Serial Port)。
它支持全双工通信,双缓冲数据寄存器,允许连续的数据流,可以与工业标准的编/解码器、AICs 接口。
支持多种方式的传输接口,如T1/E1 帧协议、MVIP 帧方式、H.100 帧方式、SCSA 帧方式、IIS 兼容设备等。
可与多达128 个通道进行收发。
支持传输的数据字长可以是8bit、12bit、16bit、20bit、24bit 或32bit。
DSP课程设计实验报告-语音压缩、存储和回放
DSP课程设计实验报告-语音压缩、存储和回放DSP课程设计实验报告—语音压缩、存储和回放指导教师:实验课程:DSP课程设计实验名称:语音压缩、存储和回放小组成员:自动化0605班自动化0605班目录一、概述 (3)二、算法原理及硬件要求 (4)三、程序及说明 (11)四、程序的调试及结果 (18)五、总结 (20)六、参考文献 (21)2一( 概述语音压缩、存储和回放语音信号是信息的重要形式, 语音信号处理有着广泛的应用领域,而语音压缩在语音信号的传输、存储等方面有非常广泛的作用,而且在通信领域中已经有较成熟的发展和广泛应用。
本设计要求采用DSP及其A/D、D/A转换器进行语音信号的压缩、存储和回放。
1.设计要求及目标基本部分:(1)使用DSP实现语音压缩和解压缩的基本算法,算法类型自定,例如可以采用G.711、G.729等语音压缩算法。
(2)采用A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP的片内和片外RAM存储器中,存储时间不小于10秒。
(3)存储器存满之后,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。
4)使用指示灯对语音存储和回放过程进行指示。
(发挥部分:使用多种算法进行语音的压缩、存储和解压缩,比较它们之间的优缺点。
2.设计思路语音信号的幅度(发音强度)并非均匀分布,由于小信号占的比例比大信号大很多,因此可以进行非均匀量化。
达到这一目标的基本做法是,对大信号使用大的量化间隔,而小信号则使用小的台阶。
ITU-T G.711建议的PCM A律和µ律语音压缩标准可以分别将13比特和14比特压缩为8比特,达到语音压缩的目的。
3.设计内容1(使用DSP实现语音压缩和解压缩的基本算法,算法类型采用G.711的a律压扩算法。
A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP2(采用的片内RAM存储器中,存储时间约为10秒。
3(但采样数据达到规定次数后,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。
《语音存储与回放》课程设计报告
综合电子设计课程设计设计题目:数字语音存储与回放专业:班级:组员:摘要:传统的磁带语音录放系统因其体积大、使用不便,在电子与信息处理的使用中受到许多限制。
本文提出的体积小巧,功耗低的数字化语音存储与回放系统将完全可以替代它。
数字化语音存储与回放系统的基本原理是对语音的录音与放音的数字控制。
其中,关键技术在于:为了增加语音存储时间,提高存储器的利用率,采用了非失真压缩算法对语音信号进行压缩后再存储,而在回放时再进行解压缩;同时,对输入语音信号进行数字滤波以抑制杂音和干扰,从而确保了语音回放的可靠质量。
关键词:语音; 单片机应用; 回放系统正文:1 基本原理1.1语音采集原理人耳能听到的声音是一种频率范围为20 Hz~20 000 Hz ,而一般语音频率最高为3 400 Hz。
语音的采集是指语音声波信号经麦克风和高频放大器转换成有一定幅度的模拟量电信号,然后再转换成数字量的全过程。
根据“奈奎斯特采样定理”, 采样频率必须大于模拟信号最高频率的两倍,由于语音信号频率为300~3,400 Hz ,所以把语音采集的采样频率定为8 kHz。
1.2语音生成原理单片机语音生成过程,可以看成是语音采集过程的逆过程,但又不是原封不动地恢复原来的语音,而是对原来语音的可控制、可重组的实时恢复。
在放音时,只要依原先的采样值经D/ A 接口处理,便可使原音重现。
1.3系统总体结构数字化语音存储与回放系统的基本思想是通过拾音器将声音信号转化成电信号,再经过放大器放大,然后通过带通滤波器滤波,模拟语音信号通过模数转换(A/D)转换成数字信号,再通过单片机控制将数据从存储器中读出,然后通过数模转换(D/A)转换成模拟信号,经放大再扬声器或耳机上输出。
整个系统框架图如图1所示:图1 整体框图系统组成如图所示,由输入通道、AT89C51单片机和输出通道三部分组成。
输入通道部分由拾音器、前臵放大电路和带通滤波器组成;输出通道由带通滤波器、后级放大电路组成[9]。
课件-数字化语音存储与回放系统实验报告
数字化语音存储与回放系统摘要:本系统基于语音信号的数字化存储与恢复原理,采用A/D、D/A转换技术与语音信号的插值压缩算法实现该原理,完成了对语音信号的数字化存储与回放功能。
整个系统由前级信号处理、信号压缩及后级语音回放三部分组成,单片机及FPGA完成信号的压缩算法,模拟电路完成前级信号处理和后级语音回放。
语音存储时间可以达到8秒,系统噪声电平较低,语音回放效果良好。
尖键词:插值算法;FPGA A/D ; D/A八、参考文献 11目录2・流程图注意要点 (8)六、 测试数据与分析 (10)1・测试原理与方法 (10)2・使用仪器及型号 (10)3・测试数据结果 (10)4・数据分析 (11)七、 总结分析与结论。
(11)一、 方案论证与选择 ................ 1・题目任务要求及相尖指标的分析 2・方案的比较与选择 ............... 二、 系统总体设计方案及实现方框图; 三、 理论分析与计算 ............... 四、主要功能电路的设计 ...........五、 系统软件的设计 ............... 1・基本内容 ................... 错误!未定义书签。
(2)2 5 5 6 (8)错误!未定义书签。
、方案论证与比较1 •题目任务要求及相尖指标的分析(1)基本要求①放大器1的增益为46dB,放大器2的增益为40dB,增益均可调。
②带通滤波器:通带为300Hz〜3.4kHz。
③ADC :采样频率f s二8kHz,字长二8。
④语音存储时间〉10秒。
⑤DAC :变换频率f尸8kHz,字长二8位。
(6)回放语音质量良好。
(2)发挥部分在保证语音质量的前提下:①减少系统噪声电平,增加自动音量控制功能。
②语音存储时间增加至20秒以上。
③提高存储器的利用率(在原有存储容量不变的前提下,提高语音的存储时间)。
④其它(例如::“〔二校正等)。
2.方案的比较与选择(1)前置放大电路的方案比较与选择:方案①:差分放大电路。
2-语音压缩、存储和回放
语音压缩、存储和回放语音信号是信息的重要形式, 语音信号处理有着广泛的应用领域。
为了存储和传输,信号需要进行压缩,语音压缩在语音信号的传输、存储等方面有非常广泛的作用,在通信领域中已经有较成熟的发展和广泛的应用。
本设计要求采用DSP实验系统进行语音信号的压缩、存储和回放。
1.实验目的掌握DSP集成开发环境CCS的使用和调试方法;掌握DSP片上资源和片外资源访问的基本方法;学习A/D、D/A的工作原理及编程方法。
掌握利用DSP进行语音信号的压缩、解压和存储的方法,以及语音信号的采集回放方法。
深入理解信号的抽样和重建的基本方法,提高学生系统地思考问题和解决实际问题的能力。
2.技术指标及设计要求基本部分:(1)使用DSP实现语音压缩和解压缩的基本算法,算法类型自定,例如可以采用G.711、G.729等语音压缩算法。
(2)设置A/D的采样率为32KHz,从Line-in或MIC输入口实时采集语音信号。
(3)采用适当的语音压缩算法,将接收到的数据进行压缩并存储。
(4)当DSP实验系统中的所有可用存储器存满后,对已压缩数据进行解压。
(5)将解压后的语音信号经Headphone端口输出,利用耳机试听。
(6)使用指示灯对语音存储和回放过程进行指示。
发挥部分:(1)至少使用2种算法进行语音的压缩和解压缩,比较它们之间的优缺点。
(2)语音信号存储的时间长度不少于250秒。
3. 设计思路语音信号的幅度(发音强度)并非均匀分布,由于小信号占的比例比大信号大很多,因此可以进行非均匀量化。
达到这一目标的基本做法是,对大信号使用大的量化间隔,而小信号则使用小的台阶。
ITU-T G.711建议的PCM A律和µ律语音压缩标准可以分别将13比特和14比特压缩为8比特,达到语音压缩的目的。
调试时,可以利用虚拟信号发生器产生一个标准正弦波,从Line-in输入,完成压缩和解压后,从Headphone输出,利用虚拟示波器观察输出波形是否与输入正弦信号相一致,从而判断语音压缩和解压缩算法程序是否正确。
DSP课程设计实验报告-语音压缩、存储和回放
DSP课程设计实验报告-语音压缩、存储和回放DSP课程设计实验报告—语音压缩、存储和回放指导教师:实验课程:DSP课程设计实验名称:语音压缩、存储和回放小组成员:自动化0605班自动化0605班目录一、概述 (3)二、算法原理及硬件要求 (4)三、程序及说明 (11)四、程序的调试及结果 (18)五、总结 (20)六、参考文献 (21)2一( 概述语音压缩、存储和回放语音信号是信息的重要形式, 语音信号处理有着广泛的应用领域,而语音压缩在语音信号的传输、存储等方面有非常广泛的作用,而且在通信领域中已经有较成熟的发展和广泛应用。
本设计要求采用DSP及其A/D、D/A转换器进行语音信号的压缩、存储和回放。
1.设计要求及目标基本部分:(1)使用DSP实现语音压缩和解压缩的基本算法,算法类型自定,例如可以采用G.711、G.729等语音压缩算法。
(2)采用A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP的片内和片外RAM存储器中,存储时间不小于10秒。
(3)存储器存满之后,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。
4)使用指示灯对语音存储和回放过程进行指示。
(发挥部分:使用多种算法进行语音的压缩、存储和解压缩,比较它们之间的优缺点。
2.设计思路语音信号的幅度(发音强度)并非均匀分布,由于小信号占的比例比大信号大很多,因此可以进行非均匀量化。
达到这一目标的基本做法是,对大信号使用大的量化间隔,而小信号则使用小的台阶。
ITU-T G.711建议的PCM A律和µ律语音压缩标准可以分别将13比特和14比特压缩为8比特,达到语音压缩的目的。
3.设计内容1(使用DSP实现语音压缩和解压缩的基本算法,算法类型采用G.711的a律压扩算法。
A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP2(采用的片内RAM存储器中,存储时间约为10秒。
3(但采样数据达到规定次数后,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。
DSP语音压缩、存储和回放(DOC)
DSP课程设计实验报告语音压缩、存储、回放院(系):电子信息工程学院设计人员:电子0703 王永刚学号:07214073电子0703 向书武(外班)学号:07214074评语:指导教师签字:日期:2010/1/20目录一、实验背景与内容 (3)二、设计内容 (3)三、设计方案、算法原理说明 (4)四、程序设计、调试与结果分析 (5)五、设计(安装)与调试的体会 (16)六、参考文献 (16)一、实验背景与内容目前语音信号压缩技术发展十分迅速,出现了很多高效率的语音压缩编码方法。
以语音信号压缩的国际标准G.729为例,它可将经过采样的64kb/s语音信号高保真地压缩到8kb/s,但其模型编码算法的运算量很大。
同时又要求对语音信号进行实时采样实时压缩处理,这样对数据采集和处理系统提出了更高的要求。
本实验是使用通用数字信号处理器(DSP)强大的数据处理能力,由于DSP采用内部多总线结构,使数据的存储和指令的执行更加快捷。
最重要的一点是,DSP具有快速的指令周期,如TMS320系列己经从第一代的200ns降低到5ns(1600MIPS)以下,如此高的运算速度使其可以满足许多实时处理的需要。
语音信号的幅度(发音强度)并非均匀分布,由于小信号占的比例比大信号大很多,因此可以进行非均匀量化。
达到这一目标的基本做法是,对大信号使用大的量化间隔,而小信号则使用小的台阶。
ITU-T G.711建议的PCM A律和µ律语音压缩标准可以分别将13比特和14比特压缩为8比特,达到语音压缩的目的。
pcm是原始数据原封不动地量化编码(这种量化的位宽大),A律pcm是经过压扩后的非均匀量化(小信号细量化大信号粗量化),U律pcm是经过压扩后的均匀量化(A/U律量化的位宽小)。
所以本实验采用A律的效果应该比较理想。
但是也采用了U律进行了对比。
二、设计内容●实验目的①、应用DSP算法实现对语音信号的压缩、存储和回放。
②、熟悉使用C语言编写较复杂的程序;③、熟悉C语言对外设(DSK板或示波器)的访问(软件编程、硬件连接);④、熟练使用软件CCS5000对程序的完整调试过程。
DSP语音压缩存储和回放报告
数字信号处理(DSP)综合设计性实验报告题目:语音压缩、存储与回放学院:班级:目录一. 实验目的 (2)二. 实验内容 (2)1. 基本部分 (2)2. 发挥部分 (2)三. 实验原理 (3)1. 语音编码 (3)(1)概念 (3)(2)量化 (3)2. 当前压缩算法及压缩技术介绍 (3)(1) 压缩算法介绍 (3)(2) 压缩技术介绍 (4)3. 语音的A律压缩与解压 (4)4. 语音的u律压缩与解压原理 (6)5. 设置采样率和转换率 (7)四. 程序设计 (8)1. 硬件组成 (8)(1) BJTU-DSP5502实验板 (8)(2)信号采集和输出端口 (8)(3) LED灯 (9)(4)片上外设 (9)(5)片上存储器 (9)(6)McBSP的结构及工作原理 (10)2. 程序流程图 (11)3. 主程序 (11)五. 程序调试 (20)1. 编译过程、工程架构、编译环境设置 (20)(1)Setup CCStudiov3.3 (20)(2)CCStudiov3.3 (21)2. 程序.cmd文件全文及其解释 (21)(1)组成部分 (21)(2)基本格式 (21)(3) 程序cmd文件 (23)3. 程序运行结果 (24)(1)输入正弦信号 (24)(2)输入语音信号 (26)(3)改变采样率和转换率 (28)(4)大小信号对比 (28)(5)硬件压缩 (29)六. 总结 (30)1. 掌握利用DSP 进行信号采集的方法,掌握利用DSP 进行语音信号的压缩和解压方法,以及语音信号的回放方法。
2. 学会A/D、D/A 的工作原理和使用,学会A/D、D/A 转换器的编程方法。
3. 以语音信号处理为依托,深入理解信号的抽样和重建的基本方法,提高学生系统地思考问题和解决实际问题的能力。
4. 通过调用DSP CSL库对McBSP 接口进行编程,学会DSP 片上外设的使用方法。
二. 实验内容1. 基本部分(1)使用DSP实现语音压缩和解压缩的基本算法,算法类型自定,例如可以采用G.711、G.729等语音压缩算法。
数字化语音存储与回放系统报告
数字化语音存储与回放系统报告摘要: 本系统对语音信号采用时域处理方法中的数据采集直存直取的方法,完成了对语音信号3.75秒的存储与回放;前置手动增益控制将语音信号控制在A/D 转换器可处理的范围内以保证话音采样不失真;带通滤波器合理的通带范围有效地滤除了带外噪声,减小了混叠失真;通过后级滤波电路以及功放电路对输出的语音信号进行了后续处理,回放语音清晰;并有两个按键控制语音存储与回放功能,第二次录音将自动删除前一次录音。
关键词:直取直存 存储 回放 带通滤波1方案设计与论证本题目是设计制作一个数字化语音存储与回放系统。
要求前置放大器的增益为46dB ,增益可调;带通滤波器,带宽为300Hz ~3.4kHz ;ADCkHz ,采样频率fs=8字长=8位;语音存储时间≥10秒;DAC 变换频率fc=8kHz ,字长=8位;且要求回放语音质量好(话音清晰、失真小、杂音少)。
方案考虑如下。
1.1语音编码方案论证语音是一维时间信号,由于是表示语言声音的信号,所以不是恒定的,信号的性质随时间变化很大。
为了充分利用有限的存储空间,并不失真地传送语音信号必须对采集后的语音信号进行进一步压缩,即语音压缩。
所谓语音压缩,是为了声音信号更大信息量的传送与记忆而压缩数据,并有效地回放声音的过程。
语音压缩可由将语音信号采集,并利用适当的量子化形式的压缩符号化或预测符号化等进行。
现代常用的语音信号表示方法如用生成模的参数表示声音时,参数的数据率为5K 比特/秒左右,与波形符号化相比,参数表现的数据率显著变低,若使用声音生成模,则以利用声音信号分析而得的模的参数为基础,可进行声音的再合成。
在听觉上得到的与原声音没有多少不同的合成声音。
参数的数据率为信号波形数据率的101以下, 所以可进行高效的声音数据压缩。
单从声音的存储与压缩率来考虑,生成模参数表示法明显优于信号波形表示法。
但要将之应用于单片机,显然信号波形表示法相对简单易实现,具有很强的可行性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSP课程设计实验报告语音压缩、存储和回放目录一、设计任务书封面 (1)二、设计内容与要求 (3)三、设计算法原理说明 (4)四、程序设计、调试与结果分析 (7)CMD程序,C语言程序 (7)调试过程 (15)波形与数据显示 (16)五、设计(安装)与调试的体会 (17)六、参考文献 (18)语音的压缩、存储与回放一、设计要求与目标(1)使用DSP实现语音压缩和解压缩的基本算法,算法类型自定,例如可以采用G.711、G.729等语音压缩算法。
(2)采用A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP的片内和片外RAM存储器中,存储时间不小于10秒。
(3)存储器存满之后,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。
(4)使用指示灯对语音存储和回放过程进行指示。
发挥部分:使用多种算法进行语音的压缩、存储和解压缩,比较它们之间的优缺点。
二、实验目的1、通过本实验掌握5402DSP片上外设多通道缓冲串行口mcbsp。
2、学习掌握tlc320ad50CODEC编译码器的内部结构、工作原理。
3、学习A律语音压缩以及C语言下的编程方法。
三、实验原理1.语音采集与输出模块语音采集与输出模块采用的是TI公司推出的一款高性能的立体声音频Codec芯片TLC320AD50C,内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。
AD50的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪比分别可以达到90dB和100dB。
与此同时,AD50还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是小于15uW。
由于具有上述优点,使得AD50是一款非常理想的音频模拟I/O器件,可以很好的应用在随声听(如CD,MP3……)、录音机等数字音频领域[2]。
由TLC320AD50C组成的语音输入与输出模块不仅采样率高最高可达96K,且外围电路简单,性价比高。
2.语音编码(1)概念:语音编码一般分为两类:一类是波形编码,一类是被称为“声码器技术”的编码。
PCM编码即脉冲编码调制。
波形编码的最简单形式就是脉冲编码调制(Pulse code modulation),这种方式将语音变换成与其幅度成正比的二进制序列,而二进制数值往往采用脉冲表示,并用脉冲对采样幅度进行编码,所以叫做脉冲编码调制。
脉冲编码调制没有考虑语音的性质,所以信号没有得到压缩。
(2)量化:脉冲编码调制用同等的量化级数进行量化,即采用均匀量化,而均匀量化是基本的量化方式。
但是均匀量化有缺点,在信号动态范围较大而方差较小的时候,其信噪比会下降。
国际上有两种非均匀量化的方法:A律和u律,u律是最常用的一种。
在美国,7位u 律是长途电话质量的标准。
而我国采用的是A律压缩,而且有标准的A律PCM编码芯片。
(3)DPCM&ADPCM:降低传输比特率的方法之一是减少编码的信息量,这要消除语音信号中的冗余度。
相邻的语音样本之间存在明显的相关性,因此对相邻样本间的差信号进行编码,便可使信息量得到压缩。
因为差分信号比原语音信号的动态范围和平均能量都小。
这种编码叫Differential PCM,简称DPCM,即差分脉冲编码调制。
ADPCM即自适应差分脉冲编码调制,是包括短时预测的编码系统。
CCITT(国际电报电话咨询委员会)在1984年提出的32 kbit/s的编码器建议就是采用ADPCM作为长途传输中的国际通用语音编码方案。
这种ADPCM编码方案达到64 kbit/s PCM的语音传输质量,并具有很好的抗误码性能。
(4)a律压缩a律压缩示意图A律压缩编码表采用DSP可以直接对PCM编码后的语音信号进行μ律和A律压缩。
图1是DSP硬件实现数据压缩解压的简单流程,DSP将传输来的压缩后的数据进行解压成16位或者32位,然后对解压后的数据进行分析、处理,最后将处理后的数据按照要求压缩成8位的数据格式输出到相应设备,供其他设备读取。
图1 数据压缩解压流程图2是DSP将数据解压的值,DSP将压缩的8位数据解压成16位的DSP通用数据格式,其中高13位为解压后的数据,低3位补0。
这是因为6.711的A律压缩只能对13位数据操作。
DSP将解压后的数据放在缓冲串口的发送寄存器中,只要运行发送指令,缓冲串口就会将数据发送出去。
缓冲串口对接收数据的解压过程和压缩过程完全相反。
图3是μ律数据解压的示意图。
图2 A律数据解压图3 μ律数据解压DSP内部的缓冲串口(McBSPs)带有硬件实现的μ律/A律压缩解压,用户只需要在相应寄存器中进行设置就可以了。
在进行A律压缩时,采样后的12位数据,默认其最高位为符号位,压缩时要保持最高位即符号位不变,原数据的后11位要压缩成7位。
这7位码由3位段落码和4位段内码组成。
具体的压缩变换后的数据根据后11位数据大小决定。
表2 A律数据压缩表除对串行口数据实现压扩处理外,这套硬件在McBSP不使用时还可以当作一个特殊的处理单元对内部数据实现压扩处理,他有两种实现方法。
法一:当串行口的发送和接受部分都处于复位状态时,DRR1和DXR1内部通过压扩逻辑连接在一起,数据从DXR1写入并根据XCOMPAND处理,然后根据RCOMPAND再处理,在4个CPU时钟后从DRR1中读出数据。
该处理比软件实现快,不利之处在于处理完后没有同步信息通知CPU和DMA。
法二:在数据环回模式下,McBSP也实现了一种内连。
数据处理与第一种方法相同,但它可以提供中断信号(或同步事件)给CPU(或DMA)。
这里数据处理的时间是根据串行口的比特律确定的。
另外,在通常情况下McBSP先传输信号的高位后传输低位,但是在字长为8比特的数据传输时,McBSP提供了比特倒序的功能,即可以先传输低位后传输高位。
在本实验中,我们通过软件编程来完成线性码转换成A律。
语音信号通常是小信号概率大,大信号出现的概率小,为提高小信号时的量化信躁比,压缩比特速率,可为非线性量化。
语音压缩是把16位的数据比特转化为8位数据比特,从而到达语音压缩的目的。
在主程序中通过A/D抽样量化,可以得到16位的线性编码,再由编码表通过软件计算得到8位A律编码,其中最高位为符号位,第6位到第4位为段落码,低4位为段内码。
将8位的压缩结果存储到系统RAM中进行缓存,根据抽样率、语音存储时间以及系统RAM 的容量设置语音存储缓冲区的大小,待缓冲区存满后,将缓冲区内的数据进行解压缩,然后输出到SPEAKER接口输出端。
若使用A/D转换器,必须首先对A/D转换器进行初始化设置,即设置A/D转换器的工作模式、输入增益以及抽样频率等。
3.程序设计(1)、程序流程存储器的分配(5402.cmd)MEMORY{PAGE 0: VECS: origin = 0080h, length = 0080h /* Internal Program RAM */ PRAM: origin = 7600h, length = 8000h /* Internal Program RAM */PAGE 1: SCRATCH: origin = 0060h, length = 0020h /* Scratch Pad Data RAM */ DMARAM: origin = 0C00h, length = 0300h /* DMA buffer */DATA: origin = 1100h, length = 0080h /* Internal Data RAM */ STACK: origin = 1180h, length = 0560h /* Stack Memory Space */ INRAM: origin = 1900h, length = 0100h /* Internal Data RAM */ HPRAM0: origin = 1A00h, length = 0002h /* HPI memory accessible by Host and DSP */HPRAM1: origin = 1A02h, length = 0280h /* HPI memory accessible by Host and DSP */HPRAM2: origin = 1C82h, length = 0280h /* HPI memory accessible by Host and DSP */EXRAM: origin = 1F10h, length = 9000h /* External Data RAM */SECTIONS{.cinit > PRAM PAGE 0.text > PRAM PAGE 0.vectors > VECS PAGE 0init_var > PRAM PAGE 0detect > PRAM PAGE 0vrcprg > PRAM PAGE 0matprg > PRAM PAGE 0.stack > STACK PAGE 1.trap > SCRATCH PAGE 1.const > EXRAM PAGE 1.data > EXRAM PAGE 1.bss > EXRAM PAGE 1.cio > EXRAM PAGE 1.switch > EXRAM PAGE 1tables > EXRAM PAGE 1var > EXRAM PAGE 1svctab > EXRAM PAGE 1 /* SS_V LSP table */vctab > EXRAM PAGE 1 /* V LSP table */uvctab > EXRAM PAGE 1 /* UV LSP table */cuvtab > EXRAM PAGE 1 /* Stochastic codebook */cdbktab > EXRAM PAGE 1 /* various codebook tables*/logtab > EXRAM PAGE 1 /* table for log2 */powtab > EXRAM PAGE 1 /* table for pow2 */hamtab > EXRAM PAGE 1 /* table for hamming */lgwtab > EXRAM PAGE 1 /* table for lag window */acostab > EXRAM PAGE 1 /* table for arccos */sqrtab > EXRAM PAGE 1 /* table for square root */acbtab > EXRAM PAGE 1 /* table for thresholds in acb */pm03tab > EXRAM PAGE 1 /* table for x^(-0.3) computation */ costab > EXRAM PAGE 1 /* table for cosine */V23 > INRAM PAGE 1FSK > INRAM PAGE 1hpibuff0 > HPRAM0 PAGE 1hpibuff1 > HPRAM1 PAGE 1hpibuff2 > HPRAM2 PAGE 1dma_buff > DMARAM PAGE 1}/*主程序设计*//*语音采集及回放程序*//*用A律进行压缩及解压*//*采用AD50进行A/D,D/A转换 *//*灯循环闪烁程序开始*//*L0:录音*//*L1:放音*/#include <type.h> /* 头文件*/#include <board.h>#include <codec.h>#include <mcbsp54.h>/* 宏定义 */#define SIGN_BIT (0x80) /* Sign bit for a A-law byte. */#define QUANT_MASK (0xf) /* Quantization field mask. */#define NSEGS (8) /* Number of A-law segments. */#define SEG_SHIFT (4) /* Left shift for segment number. */ #define SEG_MASK (0x70) /* Segment field mask. *//* 函数声明 */void delay(s16 period);void led(s16 cnt);void initcodec(void);void flashenable(void);unsigned char data2alaw(s16 pcm_val);int alaw2data(unsigned char a_val);static int search(int val,short *table,int size);/* 全局变量 */HANDLE hHandset;s16 data;s16 data1;u16 i=0;u16 temp1;u16 j=0;u16 k,l=0;u8 temp2;u16 buffer[20000];static short seg_end[8]={0x1F,0x3F,0x7F,0xFF,0x1FF,0x3FF,0x7FF,0xFFF};/* 主函数 */void main(){if (brd_init(100))return;led(2); //闪灯两次initcodec(); //初始化codecflashenable(); //选择片外FLASH为片外存储器/*delay(100);brd_led_toggle(BRD_LED0);for(i=0x9000;i<0xefff;i++){REG_WRITE(i,*(volatile u16*)DRR1_ADDR(HANDSET_CODEC));delay(20);}brd_led_toggle(BRD_LED1);delay(200);for(i=0x9000;i<0xefff;i++){*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=REG_READ(i);delay(20);}brd_led_toggle(BRD_LED2);*/while (1){while (!MCBSP_RRDY(HANDSET_CODEC)) {}; //等待接收handset处的采样brd_led_toggle(BRD_LED0);data = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC); //从handset处读取采样 temp1=data2alaw(data); //对采样进行a律压缩/* 把低地址数据放在高八位高地址数据放在低八位 */i=i+1;if(i%2==1){buffer[j]=(temp1<<=8);/*奇数数据左移8位 temp1=abcdefgh00000000buffer[j]=temp1*/}else{buffer[j]=(buffer[j]|temp1);/*偶数数据与temp1取或组成新的数据buffer[j]=abcdefghiabcdefghi*/j++; //j加1}if(i>=40000){i=0;}if(j>=20000){j=0;brd_led_disable(BRD_LED0);brd_led_toggle(BRD_LED1);//点亮二极管1 表示放音开始 /* 放音部分 */for(k=0;k<40000;k++){if(k%2==0){temp2=(buffer[l]>>8)&0x0ff;}else{temp2=buffer[l]&0x0ff;l++;}if(l>=20000)l=0;data1=alaw2data(temp2); // a律解压while (!MCBSP_XRDY(HANDSET_CODEC)) {};*(volatile u16*)DXR1_ADDR(HANDSET_CODEC) = data1;//将数据写入D/A转换器}/* 放音结束 */brd_led_toggle(BRD_LED0);brd_led_toggle(BRD_LED1);}}} //主程序结束/* 子函数 *//*******延时******/void delay(s16 period){int i, j;for(i=0; i<period; i++){for(j=0; j<period>>1; j++);}}/*******闪灯******/void led(s16 cnt){while ( cnt-- ){brd_led_toggle(BRD_LED0); //切换LED指示灯0的显示状态delay(1000);brd_led_toggle(BRD_LED1);delay(1000);brd_led_toggle(BRD_LED2);delay(1000);}}/*****初始化codec**/void initcodec(void){/* Open Handset Codec获取设置codec的句柄*/hHandset = codec_open(HANDSET_CODEC); / Acquire handle to codec/* Set codec parameters */codec_dac_mode(hHandset, CODEC_DAC_15BIT); // DAC in 15-bit modecodec_adc_mode(hHandset, CODEC_ADC_15BIT); // ADC in 15-bit modecodec_ain_gain(hHandset, CODEC_AIN_6dB); // 6dB gain on analog input to ADC codec_aout_gain(hHandset, CODEC_AOUT_MINUS_6dB);// -6dB gain on analog output from DAC codec_sample_rate(hHandset,SR_8000); // 8KHz sampling rate}/*****设置flash****/void flashenable(void){CPLD_CTRL2_REG|=0x0010;CPLD_DMCTRL_REG|=0x0040;}/*****a律压缩******/unsigned char data2alaw(s16 pcm_val){int mask;int seg;unsigned char aval;if (pcm_val >= 0){mask = 0xD5; // 标记 (7th) bit = 1 }else{mask = 0x55; // 标记 bit = 0pcm_val = -pcm_val;}// Convert the scaled magnitude to segment number.seg = search(pcm_val, seg_end, 8);// Combine the sign, segment, and quantization bits.if (seg >= 8) // out of range, 返回最大数.return (0x7F ^ mask);else{aval = seg << SEG_SHIFT;if (seg < 2)aval |= (pcm_val >> 1) & QUANT_MASK;elseaval |= (pcm_val >>seg) & QUANT_MASK;return (aval ^ mask);}}/****alaw的子程序**/static int search(int val,short *table,int size){int i;for (i = 0; i < size; i++){if (val <= *table++)return (i);}return (size);}/*****a律解压******/int alaw2data(unsigned char a_val){int t;int seg;a_val ^= 0x55;t = (a_val & QUANT_MASK) << 4;seg = ((unsigned)a_val & SEG_MASK) >> SEG_SHIFT;if(seg==0){t += 8;t=(t>>3);}if((seg<4)&&(seg>0)){t +=0x108;t=(t>>(4-seg));}if(seg>3){t+=0x108;t=(t<<=(seg-4));}return ((a_val & SIGN_BIT) ? t : -t);}/* 结束 */四.操作过程1.将工程文件夹放入C盘要求目录下。