ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:434.53KB ,
资源ID:17850354      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17850354.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP课程设计报告精.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

DSP课程设计报告精.docx

1、DSP课程设计报告精DSP课程设计实验报告语音压缩、存储与回放成绩:工程设计50报告20答辩30总分评语:指导教师签字:0:实验背景与内容语音通信是现代多媒体通信中一个重要的组成部分,而语音信号是信息的重要形式 语音信号处理有着广泛的应用领域,同时语音压缩在语音信号的传输、存储等方面 有非常广泛的作用,而且在通信领域中已经有较成熟的发展和广泛应用。本设计要 求采用DSP及其A/D、D/A转换器进行语音信号的压缩、存储和回放。语音的数字通信无论在可靠性、抗千扰能力、保密性还長价格方面都远优于模拟语 音信号,但这是以信道占用宽频带宽为代价的。因此为了减少语音信号所占用的带 宽或存储空间,就必须对数

2、字语音信号进行压缩编码。一个优秀的语音压缩系统要 求能够在软硬件资源占用比例低和压缩编解码时间短的同时,可以实现多通道语音 实时压缩。DSP仿真器用于DSP的在线调试开发,可以通过软件在线控制DSP的运行状态,并 能够查看DSP内部寄存器。PC是开发人员和DSP系统之间的交互界面,通过PC上 安装的CCS集成开发环境,开发人员可以在友好的图形界面下对目标系统进行操作。本次实验采用DSP C5402实验板实现语音信号的压缩解压的。SEED-VC5402 DSK实验板上集成了 SRAM,FLASH,音频输入输出接口等部件。实验目的1、应用DSP算法实现对语音信号的压缩、存储和回放。2、熟悉使用C语

3、言编写较复杂的程序;3、熟悉C语言对外设(DSK板或示波器)的访间(软件编程.硬件连接);4、熟练使用软件CCS5000对程序的完整调试过程。三、实验设计要求及目标(1)使用DSP实现语音压缩和解压缩的基本算法,算法类型自定,例如可以采用、等语音压缩算法。(2)采用A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP的片内和片外RAM存储器中,存储时间不小于10秒。(3)存储莽存满之后,使用DSP进行实时解压缩,并从SPEAKER綸出口进行回放输出。(4)使用指示灯对语音存储和回放过程进行指示。2设计思路语音信号的幅度(发音强度并非均匀分布,由于小信号占的比例比大信号大很多,因此

4、可以 进行非均匀量化。达到这一目标的基本做法是.对大信号使用大的量化间隔.而小信号则使用 小的台阶。ITU-T建议的PCM A律和H律语音压缩标准可以分别将13比特和14比特压缩为 8比特,达到语音压缩的目的。四、实验原理1、DSK包括:主芯片 1 枚;100 MHz TMS320VC5402 DSPRAM 1 枚;1 个软件等待的 64KX16bit 的 SRAM(CY7C102IV33FLASH i 枚:256KX16bit 的 FLASH 存储器(AM39VF400A接口 2个:一个连接到PC机并口的主机端接口 HPI和用于仿真的JTAG测试总线控制器信号采集和输出端口,麦克风/耳机音频

5、接口C5402的硬件特点:增强型哈佛结构,一个程序总线,三个独立的数据总线;40bit的算术逻辑单元ALU ;可寻址的程序空间达IMxlGbit; 4Kxl6bit片内ROM ; 16Kxl6bit双口片内RAM;片内外设:软件可编程等待状态发生器;片内锁相环时钟发生器;两个多通道缓冲串口;增强型8bit并行HPI 口;两个16bit定时器;六通道DMA控制器;节电模式IDLE1, IDLE2, IDLE3做功耗控制;单周期定点指令(iOOMlPS)执行时间为lOnSoC5402硬件优点:内部多总线结构保证在一个机器周期内可以多次访问程序空间和数据空间;指令执 行时的多重流水线结构将指令周期降

6、低到了最小值;多处理单元可以在一个指令周 期内同时进行运算,而这种结构恰好满足了数字信号处理中的一些特殊要求如 FIR、IIR、FFT 等运算。C5402的软件特点:7种有效灵活的寻址方式,仅为10ns的指令执行周期。2、TMS320C5402的结构及原理TMS320C5402采用先进的改进的哈佛结构和8条总线结构,解决了冯诺伊曼(Von-Neumann)结构中高速数据传输时的传输通道上的瓶颈现象,使处理器的性能大大提高,程序数据总线相互独立,允许同时访问程序存储器和数据存储器,实现高度并行操作。此外,还可以在数据总线与程序总线之间相互传送数据,从而使处理器具有在单个周期内同时执行算数运算.逻

7、辑运算、移位操作.乘法/累加运算以及访问程序和数据存储器的强大功能。TMS320C5402的內部多总线结构保证在一个机器周期內可以多次访间程序空间和数据空间;指令执行时的多重流水线结构将指令周期降低到了最小值;多处理单元可以在一个指令周期内同时进行运算,而这种结构恰好满足了数字信号处理中的一些特殊要求如FIR. I1R、FFT等运算。由于C5402有7种有效灵活的寻址方式的软件特点,仅为10ns的指令执行周期,还有一些特殊的运算指令更好地满足了数字信号处理中特有的运算需要。TMS320C5402具有高速的,全双工串行口,可用来与系统中的其他C54x器件,编码解码器,串行A/D, D/A转换器以

8、及其他的串行器件直接接口。这两个串行口均为多通道缓冲串行口 HcBSP (Multi-channel Buffered SerialPort) o它支持全双工通信,双缓冲数据寄存器,允许连续的数据流。内置P-律和A-律压扩硬件。DSP绪构框图 3、AD50的结构与原理AD50是单片音频接口芯片(AIC) O它内部集成了 16位的D/A和A/D转换器,采样速率最高可达s,其采样速率可通过DSP编程来设置。在DAC之前有一个插值滤波器以保证输出信号平滑和ADC之后有一个抽取滤波器以提高输入信号的信噪比。AD50內部有7个数据和控制寄存器,用于编程控制它们的工作状态。它的数据传输模式和采样速率都可以

9、通过DSP对其控制寄存器的编程来实现,因此,在许多场合下,AD50都作为DSP的AIC来实现音频处理。寄存黑0:空操作寄存器。寄存器1:软件复位软件掉电选择16位或15位工作方式硬件或软件二次通信请求方式的选择寄存器2:使能ALTDATA输入端为ADC选择16/15位方式寄存器3:选择FS与FSD之间延迟SCLK的个数告诉主机有几个从机被联上寄存器4:为输入和输出放大器选择放大器增益选择N来设置采样频率,fs=MCLK/ (128*N)或MCLK/ AW jvl: OcMf 3M *a wwi-M 笛I 04 bOMMA亠, MWdaM OCOtt Wl M* 904触1 1 At *4、从M

10、cBSP的接收通道读取A/D转换的值,然后经过压缩解压后将其发送到 McBSP的发送通道,讲解压后的数据将数据写入D/A转换器。程序如下:while (1/* Wait for sample from handset */ while (!MCBSP_RRDY(HANDSET_CODEC :/* Read sample from and write back to handset codec */data=*(volatile int*DRRl_ADDR(HANDSET_CODEC: pre=int2alaw(data: /*or pre=int2ulaw(data:*/data=alaw2i

11、nt(pre: /*or data=ulaw2int(pre;*/(volatile int*DXRl ADDR(HANDSET_CODEC=data:实验程序1c语言程序/*审*审审审*/*头文件*/*/#include#include#include#include/sK*/*变量宏定义*/*/#defineSIGN_BIT (0x80 /* Sign bit for a A-law byte. */#defineQUANT_MASK (Oxf /* Quantization field mask. */#defineNSEGS (8 /* Number of A-law segments

12、.粉#defineSEG_SHIFT (4 /* Left shift for segment number. */#defineSEG_MASK (0x70 /* Segment field mask. */*审*审*/*函数声明*/voiddelay(sl6 period:voidled(sl6 ent:voidinitcodec(void:voidflashenable (void:unsigned char data2alaw(sl6 pcm_val: int alaw2data(unsigned char a_val; static int search(int val,short

13、*table,int size: /*审*/ /*全局变量*/*审审*/HANDLE hHandset: u8 temp2: ul6 buffer22000: static short seg_end8=0xlF0x3F,0x7F,0xFF,0xlFF,0x3FF,0x7FF.0xFFF: /*/*主函数*/void mainif (brd_init(100return:led (2:seg二 search(pcm_val, seg_end. 8:if (seg =return (0x7F * mask:elseaval = seg SEG_SHIFT:if (seg aval1= (pcm_

14、val 1 & QUANTJIASK:elseaval1= (pcm_val seg & QUANTJIASK:return (aval * mask:/ *帕1 aw的 子程序*/ static int search(int val,short *table,int sizeInt i: for (i = 0: i size: i+if (val = *table+ return (i:return (size:/*a 律解压*/ int alatf2data (unsigned char a_valInt t:Int seg:a_val = 0x55: t = (a_val & QUANT

15、JIASK 4:seg = (unsigneda_val & SEG_MASK SEG_SHIFT:if (seg=Ot += 8:t=(t3:if(seg0t +=0x108: t=(t (4-seg;if (seg3t+=0xl08; t=(t=(seg-4:return (a_val & SIGN_BIT t : -t:/*结束*/2、存储器的分配(也cmd)MEMORYPRAM: origin = 7600h, length = 8000h /* Internal Program RAM */PAGE 1: SCRATCH: origin 二 0060h, length 二 0020h

16、 /* Scratch Pad Data RAM */DMARAM: origin 二 OCOOh, length = 0300h /* DMA buffer */DATA: origin = llOOh, length = 0080h /* Internal Data RAM */STACK: origin = 1180h, length = 0560h /* Stack Memory Space */INRAM: origin = 1900h, length 二 OlOOh /* Internal Data RAM *./EXRAM; origin = IFlOh, length = 5A

17、00h /* External Data RAM */SECTIONScinit PRAM PAGE 0 text PRAM PAGE 0 stack STACK PAGE 1trap 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

18、 table */uvctab EXRAM PAGE 1 /* UV LSP table */cuvtab EXRAM PAGE 1 /* Stochastic codebook */cdbktab EXRAM PAGE 1 /* various codebook tables*/acostab EXRAM PAGE 1 /* table for arccos */ sqrtab EXRAM PAGE 1 /* table for square root */ acbtab EXRAM PAGE 1 /* table for thresholds in acb */ costab EXRAM

19、PAGE 1 /* table for cosine */V23 INRAM PAGE 1FSK INRAM PAGE 1 hpibuffO HPRAMO PAGE 1 hpibuffl HPRAMl PAGE 1hpibuff2 HPRAM2 PAGE 1 dma buff DMARAM PAGE 1七、CCS程序调试与结果1.启动Setup CCS程序设置 CCS 的环境Q 选择浮动菜单 Import configuration-Available configuration 列表中,然后选中 C5402 Device Simulator (没接 DSK 板时、 C5402 DSK via

20、 Parallel Port Emulation (接 DSK 板时 选中 Import,最后选中 save and quit以保存目标DSP的配置。川七 w 韧.KD2、运行CCS2( “5000,出现CCS界面。新建一个工程,向工程中添加c语言 程序文件、CMD程序、头文件和库文件。C程序运行支持库:C:ti c5400cgtools相关的头文件 C: ti c5400cgtoolsinclude*. hDSK板库文件:C:ti c5400dsk5402 ,相关的头文件 C:ti c5400dsk5402include*, h在程序中还用到其他头文件:#include#include#in

21、clude#includec语苜程序又件、CMD程序和库文件的加入可通过Project里的Add Files to Project找到相应的文件直接加入。最好是将 h和 lib文件都拷贝到自己的工 程中,或者在CCS的example中进行调试、编译,这样一般就不会出现找不到头文 件的错误信息。当汇编出现找不到头文件的错误时,如下图。91* k5PJK * * MK * . X H* * M* yaafc a* x ” k 亠f *u*m g.Tj )i UMI r rY ” % I(ua T iiff 这时需要通过 Build options 里的include SearchPath ( i)

22、 option” 加 入头文件所指定的位置。如下图:3、程序汇编.链接通过并生成.out文件。装载.out文件后就可以运行。4、实验现象结果显示:通过波形及寄存器的值可以详细察看程序的执行状况,并观看每个时刻的情况。用到的关键寄存器选择View中的Registers的CPU Registers选项,可以看到CPU中寄存器的变 化情况,选择View中的Registers的Peripheral Regs选项,可以看到外设寄存 器的变化情况。寄存莽及变量某瞬时值如下:实验波形通过View中的Graph可以看到波形图。如下:输入波形:压缩波形:綸出波形:5、硬件结果显示对语音信号开始采样后,灯闪两次,初始化codec0二级管灯0亮开始采集语 音数据,二极管灯0熄灭录音结束,二极管灯1亮开始放音,二极管灯1熄灭放音 结束,二极管灯0亮重新开始采样语音信号。如此再循环运行程序。八、实验总结通过此次实验设计,我了解了 DSP的内部资源以及各部件的作用。通过应用DSP算法实现对语音信号的压缩、存储和回放的实验过程,使我熟悉了使用C语言 编写较复杂的程序,对CCS5000对程序的完整调试过程有了进一步的理解。另外对A律算法的C语言实现基本掌握,对PCM语音压缩算法的基本原理有了一定的认 识。设计开始时,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2