DSP课程设计实验报告语音压缩存储和回放Word格式.docx
- 文档编号:14261061
- 上传时间:2022-10-21
- 格式:DOCX
- 页数:21
- 大小:161.37KB
DSP课程设计实验报告语音压缩存储和回放Word格式.docx
《DSP课程设计实验报告语音压缩存储和回放Word格式.docx》由会员分享,可在线阅读,更多相关《DSP课程设计实验报告语音压缩存储和回放Word格式.docx(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-TG.711建议的PCMA律和µ
律语音压缩标准可以分别将13比特和14比特压缩为8比特,达到语音压缩的目的。
3.设计内容
1(使用DSP实现语音压缩和解压缩的基本算法,算法类型采用G.711的a律压扩算法。
A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP2(采用
的片内RAM存储器中,存储时间约为10秒。
3(但采样数据达到规定次数后,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。
4(使用DSK板的指示灯对语音存储和回放过程进行指示:
循环闪烁:
板子自检,程序开始
LED0亮:
录音(10秒钟左右)
LED0灭:
放音
二(算法原理
3
1(实验原理分析如下:
语音信号的幅度并非均匀分布,由于小信号占的比例比大信号大得多,因此可以进行非均匀量化。
达到这一目标的基本做法是,对大信号是用大的量化间隔,而小信号则是用小的量化间隔。
ITU-TG.711建议的PCMA律A律语音压缩标准可以分别将13位和14位的线性语音压缩编码压缩为8位,达到语音压缩的目的。
在主程序中通过A/D抽样量化,可以得到16位的线性编码,再由编码表通过16位线性编码,再由编码表通过软件计算得到8位A律编码。
将8位的压缩结果存储到系统RAM中进行缓存,根据抽样率、语音存储时间以及系统RAM的容量设置语音存储缓冲区的大小,待采样达到一定次数后,将缓存区内的数据进行解压缩,然后输出到SPEAKER接口输出端。
2(相关理论知识准备:
(1)DSK系统基本结构:
5402DSK主要包括100MHzVC5402DSP,1个软件等待周期的64K字的外部SRAM存储器,256K字的FLASH存储器,内嵌的并口仿真器,模拟输入/输出音频接口,以及扩展板接口。
其结构如下图:
DSK的主要硬件资源包括:
DSP主芯片1枚:
100MHzTMS320VC5402DSP
RAM1枚:
1个软件等待的64K×
16bit的SRAM(CY7C1021V33)
FLASH1枚:
256K×
16bit的FLASH存储器(AM39VF400A)
接口2个:
用于仿真的JTAG测试总线控制器
和一个连接到PC机并口的主机端接口HPI
信号采集和输出端口:
麦克风/耳机音频接口
下面分别介绍:
a(DSP芯片
4
DSK支持TMS320VC5402DSP,工作频率可以高达100MHz,工作的内核电压为1.8V,I/O电压为3.3V
b(外部数据存储器
DSK提供了64字SRAM。
可以使用的外部数据存储器的大小取决于DROM的设置。
如果DROM,0,那么0x4000~0xFFFF(48Kwords)的空间是外部存储器(FLASH或SRAM)。
如果DROM,1,外部存储器只能使用0x4000~0xEFFF。
是否可以访问板上或扩展板存储器取决于DMSEL控制寄存器位。
如果DMSEL,0(缺省),那么可以使用板上的数据存储器。
如果DMSEL,1,那么可以使用扩展板存储器,并且地址开始于0x8000。
数据存储器空间资源也取决于MP/MC状态。
c(外部程序存储器
DSK提供了256K字的FLASH。
外部程序存储器的可用大小取决于OVLY位的设置和MP/MC#跳线的设置。
如果OVLY位,0、MP/MC#,0,那么程序存储器的空间0x0000~0xEFFF(60Kwords)映射到外部存储器,是FLASH还是SRAM决定于控制寄存器的FLASHENB状态位。
在上电状态,FLASHENB位置位是为了允许从FLASH引导。
然后软件清除此位,使具有1个等待状态的SRAM使用这个相同的存储器空间。
如果MP/MC=1并且OVLY=0,那么0x0000~0xFFFF空间是分配给外部存储器(FLASH或SRAM)。
使用FLASH存储器的情况下(FLASHENB=1),总线的速率为100MHz,访问FLASH需要7个等待状态。
在SRAM情况下(FLASHENB=0),总线速率为100MHz时,访问SRAM需要1个等待状态。
如果MP/MC=1并且OVLY=1,则只有x4000~0xFFFF是映射到外部存储器的。
d(I/O空间存储器
I/O空间由2部分组成,一部分是系统基于CPLD的控制空间,另一部分是扩展板存储器空间。
DM_SEL位是外部存储器存取控制寄存器位,能够控制I/O空间的访问。
如果DSP向此位写1,那么扩展板存储器的I/O空间是不能被访问的。
如果向此位写0,那么扩展板存储器的I/O空间可以被访问。
e(模拟输入/输出音频接口
音频接口使用了2个标准的3.5mm的连接器:
一个连接麦克风(J5)的音频输入
一个连接耳机(J6)的音频输出
5
麦克风的输入信号最大允许标准是500mVp。
在DSK上有10dB前置放大器增益。
当接入信号源的输入时,需要使用隔直电容(0.1u)。
音频输入可以编程控制,在软件的控制下,可以提供0dB、+6dB、+12dB的增益。
音频输出也是可以编程控制的,在软件的控制下,可以提供0dB、-6dB、-12dB的增益。
DSK板上使用了AD50CODEC作为A/D和D/A的转换设备。
它是内部集成了16位的A/D和D/A转换器以及抗混叠滤波器,采样速率最高可达22.05kHz。
此外,ADC之后有一个抽取滤波器以提高输入信号的信噪比,在DAC之前有一个插值滤波器以保证输出信号平滑输出。
AD50与DSP芯片通过同步串行通信接口(MCBSP1)相连。
(2)TLC320AD50C的内部结构及初始化程序
TLC320AD50C是TI公司生产的一个SIGMA-DELTA型16位串行A/D、D/A转换电路。
采样速率可通过DSP编程来设置,最高可达22.05kHz。
内含抗混叠滤波器和重构滤波器。
在DAC之前有一个插值滤波器:
保证输出信号平滑,
在ADC之后有一个抽取滤波器:
提高输入信号的信噪比
A/D、D/A转换器的初始化编程:
/*获取设置A/D和D/A的句柄*/
hHandset=codec_open(HANDSET_CODEC);
/*设置CODEC的工作参数*/
/*DAC和ADC工作在15+1bit模式*/
codec_dac_mode(hHandset,CODEC_DAC_15BIT);
codec_adc_mode(hHandset,CODEC_ADC_15BIT);
/*ADC模拟增益设置为6dB*/
codec_ain_gain(hHandset,CODEC_AIN_6dB);
/*设置DAC模拟输出增益为-6dB*/
codec_aout_gain(hHandset,CODEC_AOUT_MINUS_6dB);
/*设置抽样频率为8KHz*/
codec_sample_rate(hHandset,SR_8000);
(3)McBSP的结构及寄存器部分配置
McBSP:
多通道缓冲串行口(Multi-channelBufferedSerialPort),是串行口的一种。
它既可以利用DSP提供的DMA功能实现自动缓存功能,又可以实现时分多路通信功能。
TMS320C5402有两个McBSP串口,分别
6
为McBSP0、McBSP1。
McBSP由引脚、接收发送部分、时钟及祯同步信号产生、多通道选择以及CPU中断信号和DMA同步信号组成。
引脚中我们用到的只有两个:
DR和DX,通过这两个引脚实现DSP与外部设备的通信和数据交换。
DR用来接收数据,DX完成数据的发送。
这两个引脚分别对应两个寄存器DRR和DXR,如果准备就绪,从这两个寄存器中就可以读取数据了。
(注:
两个McBSP串口,所以两个寄存器分别用DRR1、DXR1、DRR2、DXR2表示)
那么如何判断接收器和发送器是否准备就绪呢,这就采用了SPCR1、SPCR2控制位来判断。
当RRDY=0时,接收器未就绪;
当RRDY=1时,接受器就绪,可以从DDR1或2种读取数据。
当XRDY=0时,发送器尚未就绪;
当XRDY=1时,发送器就绪,可以从XDR1或2种发送数据。
所以在实际实验中我们采用以下语句命令:
a(接收数据时
while(!
MCBSP_RRDY(HANDSET_CODEC)){};
//查询、等待接收handset处的采样
data=*(volatileu16*)DRR1_ADDR(HANDSET_CODEC);
//从handset处读取采样
b(发送数据时
MCBSP_XRDY(HANDSET_CODEC)){};
*(volatileu16*)DXR1_ADDR(HANDSET_CODEC)=data1;
//a律解压完成后,DSP将数据通过串行口McBSP1发送
(4)均匀量化、非均匀量化
如果采用相等的量化间隔对采样得到的信号作量化,那么这种量化称为均匀量化。
均匀量化就是采用相同的“等分尺”来度量采样得到的幅度,也称为线性量化,如图2所示。
均匀量化PCM就是直接对声音信号作A/D转换,在处理过程中没有利用声音信号的任何特性,也没有进行压缩。
该方法将输入的声音信号的振幅范围分成个等份(B为量化位数),所以落入同一等份数的采样值都编码成相同的B位二进制码。
只要采样频率足够大,量化位数也适当,便能获得较高的声音信号数字化效果。
为了满足听觉上的效果,均匀量化PCM必须使用较多的量化位数。
这样所记录和产生的音乐,可以达到最接近原声的效果。
当然提高采样率及分辨率后,将引起储存数据空间的增大。
7
PCM的编码规律
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 课程设计 实验 报告 语音 压缩 存储 回放
![提示](https://static.bdocx.com/images/bang_tan.gif)