DSP实验报告

发布 2019-05-08 02:22:37 阅读 7370

4.心得体会18

5.附录19

语音压缩、存储和回放。

一。课程的目的和要求。

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律压扩算法。

2)采用a/d转换器从mic输入口实时采集语音信号,进行压缩后存储到dsp的片内ram存储器中,存储时间约为10秒。

3)但采样数据达到规定次数后,使用dsp进行实时解压缩,并从speaker输出口进行回放输出。

4)使用dsk板的指示灯对语音存储和回放过程进行指示:

循环闪烁:板子自检,程序开始。

led0亮:录音(10秒钟左右)

led0灭:放音。

2.设计原理。

1.实验概述:

语音信号是信息的重要形式, 语音信号处理有着广泛的应用领域,而语音压缩在语音信号的传输、存储等方面有非常广泛的作用,而且在通信领域中已经有较成熟的发展和广泛应用。本设计要求采用dsp及其a/d、d/a转换器进行语音信号的压缩、存储和回放。

语音信号模数、数模转换采用tlc320ad50c(以下简称ad50),这是一款sigma-delta型单片音频接口芯片(aic)。它内部集成了16位的d/a和a/d转换器,采样速率最高可达22.05kb/s,其采样速率可通过dsp编程来设置,内含抗混叠滤波器和重构滤波器。

在dac之前有一个插值滤波器以保证输出信号平滑和adc之后有一个抽取滤波器以提高输入信号的信噪比。

2.实验原理:

1)概念:语音编码一般分为两类:一类是波形编码,一类是被称为“声码器技术”的编码。

pcm编码即脉冲编码调制。波形编码的最简单形式就是脉冲编码调制(pulse code modulation),这种方式将语音变换成与其幅度成正比的二进制序列,而二进制数值往往采用脉冲表示,并用脉冲对采样幅度进行编码,所以叫做脉冲编码调制。 脉冲编码调制没有考虑语音的性质,所以信号没有得到压缩。

2)量化:脉冲编码调制用同等的量化级数进行量化,即采用均匀量化,而均匀量化是基本的量化方式。但是均匀量化有缺点,在信号动态范围较大而方差较小的时候,其信噪比会下降 。

国际上有两种非均匀量化的方法:a律和μ律,μ律是最常用的一种。在美国,7位μ律是长途**质量的标准。 而我国采用的是a律压缩,而且有标准的a律pcm编码芯片。

3)dpcm&adpcm:

降低传输比特率的方法之一是减少编码的信息量,这要消除语音信号中的冗余度。相邻的语音样本之间存在明显的相关性,因此对相邻样本间的差信号进行编码,便可使信息量得到压缩。因为差分信号比原语音信号的动态范围和平均能量都小。

这种编码叫differential pcm,简称dpcm,即差分脉冲编码调制。

3.相关理论知识:

1)dsk系统基本结构:

5402 dsk主要包括100mhz vc5402 dsp,1个软件等待周期的64k字的外部sram存储器,256k字的flash存储器,内嵌的并口**器,模拟输入/输出音频接口,以及扩展板接口。其结构如下图:

dsk的主要硬件资源包括:

dsp主芯片1枚:100 mhz tms320vc5402 dsp

ram 1枚:1个软件等待的64k×16bit的sram(cy7c1021v33)

flash 1枚:256k×16bit 的 flash存储器(am39vf400a)

接口2个:用于**的jtag测试总线控制器和一个连接到pc机并口的主

机端接口hpi

信号采集和输出端口:麦克风/耳机音频接口

下面分别介绍:

a.dsp芯片。

dsk 支持tms320vc5402 dsp,工作频率可以高达100mhz,工作的内核电压为1.8v,i/o 电压为3.3v

b.外部数据存储器。

dsk提供了64字sram。可以使用的外部数据存储器的大小取决于drom 的设置。如果drom=0,那么0x4000~0xffff(48k words)的空间是外部存储器(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(60k words)映射到外部存储器,是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)的音频输出。

麦克风的输入信号最大允许标准是500mvp。在dsk上有10db前置放大器增益。当接入信号源的输入时,需要使用隔直电容(0.

1u)。音频输入可以编程控制,在软件的控制下,可以提供0db、+6db、+12db的增益。音频输出也是可以编程控制的,在软件的控制下,可以提供0db、-6db、-12db的增益。

dsk板上使用了ad50 codec作为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.05 khz。

内含抗混叠滤波器和重构滤波器。

在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-channel buffered serial port),是串行口的一种。它既可以利用dsp提供的dma功能实现自动缓存功能,又可以实现时分多路通信功能。

tms320c5402有两个mcbsp串口,分别为mcbsp0、mcbsp1。

mcbsp由引脚、接收发送部分、时钟及祯同步信号产生、多通道选择以及cpu中断信号和dma同步信号组成。

引脚中我们用到的只有两个: dr和dx,通过这两个引脚实现dsp与外部设备的通信和数据交换。dr用来接收数据,dx完成数据的发送。

这两个引脚分别对应两个寄存器drr和dxr,如果准备就绪,从这两个寄存器中就可以读取数据了。(注:两个mcbsp串口,所以两个寄存器分别用drr1、dxr1、 drr2、dxr2表示)

双绞线制作实验报告

课程名称计算机网络实验名称双绞线的制作学号b09050516姓名李士杰实验目的 1 学会两种双绞线制作方法 2 掌握剥线 压线钳和普通网线测试仪的使。实验成绩。班级b090505日期2012.3.24 用方法 3 了解双绞线和水晶头的组成结构 4 了解各网络设备之间网线连接的特点。实验条件 1 若干...

网线制作实验报告

信息科学与技术学院实验报告。课程名称 计算机网络应用技术教程实验项目 网线制作。实验地点 指导教师 日期 实验类型 综合性实验 验证性实验综合性实验设计性实验 专业 班级 姓名 学号 一 实验目的及要求。主要是让我们具备网络架设最基本的动手能力,学会网线的彩色标记和连接方法,学会网线制作有关工具的使...

102440数值实验报告

一 实验内容 用两种不同的顺序计算,分析其误差的变化。二 实验目的 1.通过上机编程,复习巩固以前所学程序设计语言 2.通过上机计算,了解舍入误差所引起的数值不稳定性。3.通过上机计算,了解运算次序对计算结果的影响,从而尽量避免大数吃小数的现象。三 算法描述。取float类型数据,从两个方向即 1大...