DSP数字信号处理实验指导书_第1页
DSP数字信号处理实验指导书_第2页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE132DSP数字信号处理实验指导书齐鲁理工学院 目录实验一常用指令实验3实验二数据存贮实验8实验三CCS环境下C程序设计13实验四定时器实验16实验五中断实验19实验六A/D采样实验21实验七D/A转换实验25实验八A/D与D/A转换综合实验27实验九数字波形产生实验29实验十语音实时回放及延时实验33实验十一语音录音与回放实验36实验十二BOOTLOADER装载实验40实验十三阵列式键盘数码管控制实验46实验十四液晶显示器驱动实验48实验十五快速傅立叶变换(FFT)实验51实验十六有限冲击响应滤波器(FR)算法56实验十七无限冲击响应滤波器(IIR)算法实验61实验十八卷积(Convolve)算法实验67实验十九离散余弦变换(DCT)算法实验72实验二十相关(Correlation)算法实验77实验二十一u_LAW算法实验83实验二十二DTMF(双音多频)信号的产生和检测91实验二十三语音编码/解码(G711编码/解码器)100实验二十四混叠信号的实时数字滤波106实验二十五AD采样FFT分析实验110实验二十六语音滤波实验114实验二十七二维图象生成实验117实验二十八数字图象生成实验121实验二十九UART通信实验124实验一常用指令实验一、实验目的1.了解DSP开发系统的组成和结构;2.熟悉DSP开发系统的连接;3.熟悉DSP的开发软件配置及使用;4.熟悉C54X系列的寻址系统;5.熟悉常用C54X系列指令的用法。二、实验设备计算机,DSP仿真器,THRS-1型实验箱三、实验步骤与内容1.系统连接进行DSP实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:2.上电复位在硬件安装完成后,确认安装正确、各实验部件及电源连接正常后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否则DSP开发系统与计算机连接有问题。3.运行CCS程序待计算机启动成功后,实验箱220V电源置“开”,实验箱上电,启动CCS,此时仿真器上的“绿色小灯”应点亮,并且CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG接口或CCS相关设置存在问题,掉电,检查仿真器的连接、JTAG接口连接,或检查CCS相关设置是否正确。注:如在此出现问题,可能是系统没有正常复位或连接错误,应重新检查系统硬件并复位;也可能是软件安装或设置有问题,应尝试调整软件系统设置,具体仿真器和仿真软件CCS的应用方法参见THRS-1使用说明书。●成功运行程序后,首先应熟悉CCS的用户界面。●学会CCS环境下程序编写、调试、编译、装载,学习如何使用观察窗口等。4.修改样例程序,尝试DSP其他的指令。注:实验系统连接及CCS相关设置是以后所有实验的基础,在以下实验中这部分内容将不再复述。5.样例程序实验操作说明启动CCS2.0,并加载“DSP54X”目录下的“DSP54X_01.out”;加装完毕,单击“Run”运行程序;实验结果:可见D8灯以一定频率闪烁;单击“Halt”暂停程序运行,则D8灯停止闪烁,如再单击“Run”,则“D8”灯又开始闪烁;关闭所有窗口,本实验完毕。源程序查看:用下拉菜单中Project/Open,打开“DSP54X-01”目录下的“DSP54X01.pjt”,双击“Source”,双击“DSP54X01.asm”可查看源程序。四、程序框图其中初始化包括SP及PMST寄存器值的设定。延时子程序为一嵌套循环五、实验说明XF引脚是外部标志输出(软件可控信号),可用于在多处理结构中相互通信,也可作通用输出脚。CPU板上的通用IO接口XF接口与LED显示灯D8已连好,因此,装入样例程序,并全速运行程序,可能看到D8指示灯闪烁。实验二数据存储实验一、实验目的1.掌握TMS320C54的程序空间的分配;2.掌握TMS320C54的数据空间的分配;3.熟悉操作TMS320C54数据空间的指令。二、实验设备计算机,CCS2.0版软件,DSP仿真器,实验箱三、实验系统相关资源介绍本实验指导书是以TMS32OVC5402为例,介绍相关的内容和外部存储器资源。对于其他类型的CPU请参考查阅相关的数据手册。下面给出TMS32OVC5402的存储器分配表:VC5402片内有16KDARAM和4KROM,数据空间、IO空间最大扩展到64K,顺序空间最大扩展到1M。片内的16KDARAM即可以映射到程序空间也可以映射到数据空间,由PMST状态寄存器的OVLY位控制;片内4KROM即可以映射到程序空间也可以映射到数据空间,由PMST状态寄存器的DROM位控制;片内ROM包括自举加载程序、U律压扩表、A律压扩表、正弦函数查找表、中断向量表,具体分配见图:ADDRESSRANGEDESCRIPTIONF000H-F7FFHReservedF800H-FBFFHBootloaderFC00H-FCFFH-lawexpansiontableFD00H-FDFFHA-lawexpansiontableFE00H-FEFFHSinelook-uptableFF00H-FF7FHReservedFF80H-FFFFHInterruptvectortable对于数据存储空间而言,映射表相对固定。值得注意的是内部寄存器都映射到数据存储空间内。因此在编程应用是这些特定的空间不能作其他用途。对于程序存储空间而言,其映射表和CPU的工作模式有关。当MP/MC引脚为高电平时,CPU工作在微处理器模式;当MP/MC引脚低时,CPU工作在为计算机模式。具体的存储器映射关系如上图所示。存储器试验主要帮助用户了解存储器的操作和DSP的内部双总线结构,并熟悉相关的指令代码和操作等。四、实验步骤与内容1.连接好DSP开发系统,运行CCS软件;2.在CCS的Memory窗口中查找C5402各个区段的数据存储器地址,在可以改变的数据地址随意改变其中内容;3.在CCS中装载实验示范程序,单步执行程序,观察程序中写入和读出的数据存储地址的变化;4.联系其他寻址方式的使用;5.样例程序实验操作说明。启动CCS2.0,用Project/Open打开“DSP54X-02”目录下的“DSP54X02.pjt”工程文件,双击“DSP54X02.pjt”及“Source”可查看各源程序;并加载“DSP54X02.out”:用“View”下拉菜单中的“Memory”查看内存单元;输入要查看的内存单元地址,本实验查看DATA存储器空间地址0X9000-0XA000值的数值变化,输入地址0X9000H;双击“DSP54X02.asm”,在如下图所示位置设置两个断点,单击“Run”运行程序,也可以“单步”运行程序;也可以按F12动态执行程序;观察数据区变化。关闭各窗口,本实验完毕。五、程序框图六、实验说明0x9000~0xA000是外部扩展RAM的数据空间,读IO8008H,使U8使能,映射到数据空间。实验三CCS环境下的C程序设计一、实验目的学习C语言的编程;掌握在CCS环境下的C程序设计方法;学会使用C和汇编语言混合编程;熟悉用C语言开发DSP程序的流程。二、实验设备计算机,仿真器,实验箱三、实验步骤与内容连接好DSP开发系统,实验箱上电,运行CCS;按流程图编写C程序,实现所要求的功能;例程序操作说明。启动CCS2.0,用Project/Open打开“DSP54X-03”目录下的“DSP54X03.pjt”工程文件,双击“DSP54X03.pjt”及“Source”可查看各源程序;并加载“DSP54X03.out”;单击“Run”运行程序;可以观察到D8指示灯闪烁; 用View/Graph/Time/Frequency打开一个图形观察窗口;设置该观察图形窗口变量及参数;观察变量为x,长度为500,数值类型为16位有符号整型变量;如下图所示,图中下半部分为观察图形窗口的设置,上半部分为观察的图形。四、程序框图五、实验说明CCS包含C编译器,支持标准C以及C和汇编混合编程。C编译器包括三个功能模块:语法分析、代码优化和代码产生,如下图所示。其中,语法分析(Parser)完成C语法检查和分析;代码优化(Optimizer)对程序进行优化,以便提高效率;代码产生(CodeGenerator)将C程序转换成C54x的汇编源程序。本实验通过一些对数组及数据指针的基本操作,让实验者能够对使用C语言在CCS环境下编程有一个一目了然的认识。并使用汇编语句,以体会两者综合运用时的优越性。实验四定时器实验一、实验目的1.熟悉C54x的定时器;2.掌握C54x定时器的控制方法;3.学会使用定时器中断方式控制程序流程。二、实验设备计算机,仿真器,实验箱三、实验步骤和内容1.连接好DSP开发系统,实验箱上电;2.按流程图编写程序;3.样例程序实验操作说明;启动CCS2.0,用Project/Open打开“DSP54X-04”目录下的“DSP54X04.pjt”工程文件,双击“DSP54X04.pjt”及“Source”可查看各源程序;并加载“DSP54X04.out”;单击“Run”运行程序,可以观察到D8指示灯闪烁;单击“Halt”暂停程序运行,关闭各窗口,本实验完毕。四、实验说明C54x的定时器是一个20位的减法计数器,它可以用特定的状态位实现停止、重新启动、重设置或禁止,可以使用定时器产生周期性的CPU中断。控制定时器由断频的两个寄存器是定时周期寄存器PRD和定时器减法寄存器TDDR。在本系统中使用定时器0。C54x中断向量表入口地址默认为FF80,可以通过状态寄存器中IPTR指针进行重新定位,本程序中中断向量表入口地址为0X3F80。中断向量表如下:五、程序流程图主程序:中断程序:实验五中断实验一、实验目的1.掌握中断技术,学会外部中断的处理方法。2.掌握中断对于程序流程的控制,理解DSP的中断响应过程,会分析中断时序。二、实验设备计算机、仿真器、实验箱;三、实验步骤和内容1.复习有关中断的计算机知识;2.编写中断程序,用低电平脉冲触发外部中断,每中断一次,D8指示灯亮灭变化一次,并由IO口控制LED1~LED8(口地址0X800aH)变化一次。A.实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)将单脉冲单元J8拨动开关,1置“ON”,2置“OFF”。注:有关以上连接说明,可参见使用说明书中单脉冲单元跳线说明。B.实验启动CCS2.0,用Project/Open打开“Exp-05”目录下的“exp05.pjt”工程文件;双击“exp05.pjt”及“Source”可查看各源程序;并加载“exp05.out”;单击“Run”运行程序;按S6按键,每按一次,D8指示灯亮灭变化一次。单击“Halt”,关闭各窗口,本实验完毕。四、程序框图主程序:中断程序:五、实验说明C54XDSP的中断为低电平沿触发。按S6键产生的低电平脉冲,输出给VC5402的T1引脚,每按一次,产生一个低电平脉冲。实验六A/D采样实验一、实验目的熟悉A/D转换的基本原理;掌握AD7822的技术指标和常用方法;掌握并学会使用DSP和AD7822的接口及其操作。二、实验设备计算机、仿真器、实验箱三、实验步骤和内容复习A/D转换的基本原理,掌握AD7822的技术指标和常用方法;按流程图编写程序,实验;实验报告;样例程序实验操作说明;A.实验前准备1)正确完成计算机、DSP仿真器和箱的连接后,系统上电;2)设置模数转换单元的拨动开关,1、5置“ON”,其它置“OFF”;注:有关以上连接说明,可参见使用说明书中模数转换单元跳线说明以及信号接线说明。B.实验启动CCS2.0,用Project/Open打开“DSP54X-06”目录下的“DSP54X06.pjt”工程文件;双击“DSP54X06.pjt”及“Source”可查看各源程序;并加载“DSP54X06.out”;如下图“DSP54X06.asm”程序中的相应位置设置断点;单击“Run”运行程序;程序运行至断点处停止,用View/Graph/Time/Frequency打开一个图形观察窗口;输入起始地址0x1000,长度为1024,数值类型为16位有符号整型;调整图形观察窗口,观察采样信号波形,单击“Animate”运行程序,动态观察采样信号波形;调节信号源单元的波形选择调节、频率调节、幅值调节,改变输入信号的波形、频率、幅值,并动态观察采样结果;单击“Halt

”暂停程序运行,关闭各窗口,本实验完毕。四、程序框图五、实验说明AD7822映射到DSP的IO空间的0x800C地址。通过DSP芯片对I/O口0x800C读操作,把AD转换结果从0x1000开始的3ffh个数据单元中。AD7822采样的模拟信号从信号源单元输入,可以输入三种波形的信号:正弦波、方波、三角波;频率、幅值可以独立调节;也可以输入直流信号,详细说明见使用说明书中“模数转换单元”说明。实验七D/A转换实验一、实验目的1.熟悉D/A转换的基本原理;2.掌握DAC08的技术指标和常用方法;3.掌握并学会使用DSP和DAC08的接口及其操作。二、实验设备计算机、仿真器、实验箱、示波器三、实验步骤与内容1.复习D/A转换的基本原理;掌握DAC08的技术指标;2.按流程图与程序,实验;3.实验报告4.样例程序实验操作说明A.实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)用示波器观察D/A信号输出,观测点为引出点“OUT”(数模转换单元);注:有关以上连接说明,可参见使用说明书中模数转换单元跳线说明。B.实验启动CCS2.0,用Project/Open打开“DSP54X-07”目录下的“DSP54X07.pjt”工程文件;双击“DSP54X07.pjt”及“Source”可查看各源程序;并加载“DSP54X07.out”;单击“Run”运行程序;在示波器可以观察到D/A输出的信号波形;单击“Halt

”暂停持程序运行,关闭各窗口,本实验完毕。四、程序框图五、实验说明DAC08映射到DSPIO空间的0X800B地址。DAC08采用对称二进制输出参考电压Vref=+5V;输入00H,输出电压-5V;输入ffh,输出电压+5V。实验八A/D与D/A转换综合实验一、实验目的继续加深对模数、数模转换的认识和理解。二、实验设备计算机、仿真器、实验箱、示波器三、实验步骤和内容1.复习模数、数模转换原理;2.按流程图编写程序,实验;3.样例程序实验操作说明A.实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)设置模数转换单元的拨动开关,1、5置“ON”,其它置“OFF”;3)用示波器观察D/A信号输出,观测点为引出点“OUT”(数模转换单元);注:有关以上连接说明,可参见使用说明书中模数转换单元跳线说明、数模转换单元跳线说明以及信号源单元跳线说明。B.实验启动CCS2.0,用Project/Open打开“DSP54X-08”目录下的“DSP54X08.pjt”工程文件;双击“DSP54X08.pjt”及“Source”可查看各源程序;并加载“DSP54X08.out”;单击“Run”运行程序;可用示波器观察输入信号波形及输出信号波形,输入信号观测点为“SC”点(模数转换单元),输出信号观测点“OUT”(数模转换单元),比较两信号波形;单击“Halt”暂停程序运行,关闭各窗口,本实验完毕。四、程序框图五、实验说明AD7822的编码方式和DAC08是相同的,但AD7822采用偏置输入方式;DAC08参考电压是+5V,输出电压范围-5V~+5V,所以采样输入信号和经AD、DA变换后的信号幅值是不同的,在相位上也有一定的延时。实验九数字波形产生一、实验目的1.了解数字波形产生的基本原理;2.学习用C54XDSP芯片产生正弦信号的基本方法和步骤;3.加深对DSPMCBSP多通道缓冲串口的理解。二、实验设备计算机、CCS2.0版软件、DSP仿真器、实验箱、示波器三、基础理论数字波形信号发生器是利用微处理器芯片,通过软件编程和D/A转换,产生所需要信号波形的一种方法。在通信、仪器和控制等领域的信号处理系统中,经常会用到数字正弦波发生器。一般情况,产生正弦波的方法有两种:1.查表法。此种方法用于对精度要求不是很高的场合。如果要求精度高,表示很大,相应的存储器容量也很大。2.泰勒级数展开法。这是一种更为有效的方法。与查表法相比,需要的存储单元很少,而且精度高。一个角度为θ的正弦和余弦函数,可以展开成泰勒级数,取其前5项进行近似得:其中,X为θ的弧度值。本实验用泰勒级数展开法产生一正弦波,并通过D/A转换输出。四、实验步骤和内容1.复习泰勒级数展开法、数模转换原理;2.编写程序、实验;3.填写实验报告;4.样例程序实验操作说明A、实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)用示波器观察D/A信号输出,观测点为引出点“OUT”(数模转换单元);注:有关以上连接说明,可参见使用说明书中数模转换单元跳线说明。B.实验启动CCS2.0,用Project/Open打开“DSP54X-09”目录下的“DSP54X09.pjt”工程文件;双击“DSP54X09.pjt”及“Source”可查看各源程序;并加载“DSP54X09.out”;在“DSP54X09.c”程序中,“i=0”处设置断点,单击“Run”运行程序,程序运行至断点处停止;用View/Graph/Time/Frequency打开一个图形观察窗口,以观察利用泰勒级数产生的波形;设置观察变量y,长度256,32位浮点型数值;调整图形观察窗口,观察产生波形;单击“Run”继续运行程序,在引出点“OUT”(数模转换单元),用示波器可观测到产生的正弦波波形;单击“Halt”暂停程序运行,示波器上正弦波消失;在“exp09.c”程序中,N值为产生正弦信号一个周期的点数,产生的正弦信号的频率与N数值大小及D/A转换频率fDA有关,产生正弦波信号频率f的计算公式为:尝试修改“DSP54X09.c”程序中N值,“Rebuild”及“Load”后,单击“Run”运行程序,观察产生信号频率变化;关闭“DSP54X09.pjt”工程文件;关闭所有窗口,本实验完毕。五、实验说明本实验样例程序中,采用泰勒级数展开法,计算-π~π的sin值,来构造正弦波信号,计算点数256点,然后,经过取整处理后,经DAC08完成D/A变换后输出。实验十语音实时回放及延迟实验一、实验目的1.熟悉TLV320AD50的性能及接口的使用;2.熟悉MCBSP多通道缓冲串口通信的应用;3.掌握一个完整的语音输入、输出通道的设计;4.掌握DSP和AD50的接口;5.加深对语音处理实验的理解,体会语音延迟的效果。二、实验设备计算机、CCS2.0版软件、DSP仿真器、实验箱、音频线、音频信号源三、实验步骤与内容1.复习DSP、AD50的接口性能;2.复习MCBSP多通道缓冲串口通信的应用;3.设计语音实时回放流程图;4.复习有关语音延迟的原理及应用;5.编写语音实时回放实验程序,实验;6.编写语音延迟实验程序,实验;A.实验前准备1)正确完成计算机、DSP仿真器和箱的连接后,系统上电;2)用音频线连接语音单元音频输入端与音源,并开启音源;3)调节音频输入调节旋钮以及音频输出调节旋钮到适当位置;4)将语音处理单元的SW2的1、2置“ON”,J6的1置“ON”。B.实验1:语音实时回放实验启动CCS2.0,用Project/Open打开“Exp-10”目录下“Exp-10-1”子目录中的“exp-10-1.pjt”工程文件;双击“exp-10-1.pjt”及“Source”可查看各源程序;并加载“exp-10-1.out”后;单击“Run”运行程序,扬声器有声音输出,注意声音音质;暂停程序运行,关闭“exp-10-1.pjt”工程文件,关闭各程序窗口,该实验结束。C.实验2:语音延迟实验启动CCS2.0,用Project/Open打开“Exp-10”目录下“exp-10-2”子目录中“exp-10-2.pjt”工程文件;双击“exp-10-2.pjt”及“Source”可查看各源程序;并加载“exp-10-2.out”;单击“Run”运行程序,扬声器有声音输出,注意声音音质;注意两个实验的音质的差异,试进行分析,关闭各窗口,实验完毕。四、程序框图语音实时回放流程图语音延迟流程图实验十一语音录音与回放实验一、实验目的1.学会FLASH芯片的固化;2.掌握一个完整的语音输入、输出的程序设计。二、实验设备计算机,CCS2.0版软件,DSP仿真器,实验箱,音频线,音源。三、实验步骤1.复习FLASH芯片的性能及在语音录制方面的应用;2.按程序流程图编写程序,实验、填写实验报告3.样例程序实验操作说明A.实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)用音频线连接语音单元音频输入端与音源,并开启音源;3)调节音频输入调节旋钮以及音频输出调节旋钮到适当位置;4)将语音处理单元的SW2的1、2置“ON”,J6的1置“ON”。注:有关连接说明,可参见第一章中语音处理单元接口、跳线说明以及调节说明。B.实验启动CCS2.0,用Project/Open打开“Exp-11”目录下“write”子目录中的“exp-11-write.pjt”工程文件;双击“exp-11-write.pjt”及“Source”可查看各源程序;加载“exp-11-write.out”;单击“Run”运行程序,扬声器有声音输出;此时,一段约几秒钟的音频信号被记录在FLASH中,并且在连续循环播放。单击“Halt”暂停运行,关闭所有窗口,关闭CCS2.0软件,关闭实验箱电源。重新开启实验箱电源,重新启动用CCS2.0,用Project/Open打开“Exp-11”目录下“read”子目录中的“exp-11-read.pjt”工程文件;双击“exp-11-read.pjt”及“Source”可查看各源程序;并加载“exp-11-read.out”;单击“Run”运行程序,扬声器有声音输出;单击“Halt”暂停运行,关闭窗口,本实验完毕。四、程序框图Write:Read:五、实验说明Write程序是把AD50的采样结果存放在FLASH中,FLASH映射到CommandSequence(Note1)CyclessBusCycless(Notes2~5)FirstSecondThirdFourthFifthSixthAddrDataAddrDataAddrDataAddrDataAddrDataAddrDataRead(Note6)1RARDRead(Note7)1XXXF0Autoselect(Note8)ManufacturerIOWord4555AA2AA5555590X0001ByteAAA555AAADeviceIOTopBootBlockWord4555AA2AA5555590X0122C4ByteAAA555AAAX02C4DeviceIOBottomBootBlockWord4555AA2AA5555590X012249ByteAAA555AAAX0249SectorProtectVerify(Note9)Word4555AA2AA5555590(SA)XX00X02XX01ByteAAA555AAA(SA)00X0401CFIQuery(Note10)Word15598ByteAAProgramWord4555AA2AA55555A0PAPDByteAAA555AAAUnlockBypassWord3555AA2AA5555520ByteAAA555AAAUnlockBypassProgramNote112xxxA0PAPDUnlockBypassReset(Note12)2xxx90XXX00ChipEraseWord6555AA2AA5555580555AA2AA5555510ByteAAA555AAAAAA5552AASectorEraseWord6555AA2AA5555580555AA2AA55SA30ByteAAA555AAAAAA555EraseSuapand(Note13)1xxxB0EraseResume(Note14)1xxx300X4000-0XFFFF数据空间。利用FLASH掉电数据不丢失特性,把采样的语音信号保存下来,经Read程序回放。FLASH芯片选用AMD公司的AM29LV160,容量1MX16BIT。+3.3V供电,下图是它的擦除、读写指令和标准FLASH操作兼容。实验十二BOOTLOADER装载实验一、实验目的1.了解DSP54X芯片的BOOTLOADER功能;2.对BOOTLOADER的操作流程能深入了解;3.学习FLASH的固化;4.了解DSP上电复位的具体步骤。二、实验设备计算机、CCS2.0版本软件、DSP仿真器、实验箱三、基础知识5402的BOOTLOADER功能是用于在上电后将代码从外部设备上搬移到程序空间中来。它使程序能存储在非易失存储器中,在执行时再转移到高速内存中来。BOOTLORDER提供各种装载方式,并行、串行或HPI方式等,也可选择16BIT还是8BIT。而不同方式的选择是通过中断,BIO、SF等信号来控制的。我们这里先用的是并行自举引导。系统复位时,如果MP/MC=0,BOOTLOADER程序将会执行。程序复位后,DSP从FF80跳到芯片内部的BOOTLOADER程序,并开始运行片内的程序,下面是其初始化程序:.Sect“boot”BootSsbxintm;关掉所有中断ld#0,dpstm#0fffH,@ifr;clearIFRflagorm#02b00H,@st1;xf=1,hm=0,intm=1,ovm=1,sxm=1orm#020H,@pmst;ovly=1stm#07fffH,swwsr;7waitstates功能是:使中断无效(intm=1),内部RAM映射到程序/数据区(OVLY=1),对程序数据区均设置7个等待状态。其内部的BOOT程序需要读取先设置好boot表,此表位于数据空间中08000~0ffffh(共32K),因为在boot时,已经置DROM=0位,这样子8000~ffff映射外部用。BOOT程序先读I/O空间的FFFF单元中的值XXXX,并把XXXX作为数据空间中的BOOT表的地址,然后判断XXXX单元值是不是08AA,或者10AA。因为,我们设计并没有读IO空间的FFFF单元地址。BOOTLoder程序会读DS空间的FFFF单元值。设为YYYY,然后再看YYYY这个地址是不是10AA(16位)。我们在写FLASH的时候因此要向FFFF单元放一个YYYY值。YYYY也就是自举表的首地址。下面是自举表的结构图:表2并行自举表的代码结构10AA(并行寻址格式)SWWSR寄存器的初始值BSCR寄存器的初始值用户程序入口的XPC用户程序入口的地址PC用户程序的长度用户程序起始地址XPC用户程序起始地址PC用户程序代码000(表示自举表结束)自举表的头部是关键字(08AA或10AA),加载程序就是根据它来判断是16位还是8位加载方式;接着的两个字是SWWSR和BSCR的值;第四和第五个字程序代码执行的入口点(即加载以后程序执行的首地址);接着是第一段代码的长度以及它BOOT到内部RAM的目的地址;紧跟着是另一段代码;依此类推,最后是0000H,这是自举表的结束标志。(如为8BITEEPROM,则高位在前,低位在后)。四、实验步骤1.复习DSP54X芯片的BOOTLOADER功能;2.按程序流程图编写实验程序,实验,填写实验报告。3.样例程序实验操作说明。A.实验前准备正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;B.实验1:编写调试要烧录的程序选择本实验导书中DSP实验部分的实验一作为要烧录程序;在CCS环境里面进行调试,可参看实验一的有关内容;调试好后,用CCS的FILE/DATA选项中,把可执行佑的所有数据存成一个文件,格式选HEX格式,长度可参考exp01.map文件中的提示。开始地址:==CMD文件中定义的可执行段地址就是BOOT后装入到RAM中的地址。长度:==MAP文件中的提示;类型:PROGRAM保存该文件C.实验2:手工修改该DATA文件用其它编辑器修改该文件,如可用记事本做如下修改:在原来程序代码前,添加:0x10AAh:16位并行寻址格式;0x7FFFh:SWWSR初始值为0x7fffh,因为FLASH的运行速率比DSP慢,等待7个周期;0xF800h:BSCR初始值为0XF800H;0x0000h:自举表程序入口的XPC=0;0x0100h:自举表程序入口的地址=0X0100H;0x0020h:自举表程序的长度=0X20H;0x0000h:自举表起始地址XPC=0;0x0100h:自举表的起始地址=0X0100H;以下是原来程序代码最后是0X0000,表示自举表结束;加入以上数据后,还要修改这个数据文件的长度,增加几个数据,就增加几个长度,保存,得到了烧写用的数据文件。下面是修改加入自举表的数据文件的开始部分;D.实验3:烧写FLASH的程序1.开始编写烧写FLASH的程序,一般分为:复位FLASH擦除编程三步:注意:在这里FLASH要映射到DSP的数据空间0X8000~0XFFFF,或至少包含这个空间,且影射到FLASH操作指令所用到的地址空间,一般用IO空间,这是板上的CPLD译码决定的。2.具体的烧写程序参考样例(“Exp-12”目录下“flashwrite”子目录下):注意写数据时用MVDD指令,在程序的最后把FLASH的0XFFFF单元写入BOOT表的开始如0X8000调好程序后,把前面准备好的数据文件调入内存的DATA空间,注意开始地址要和FLASH烧写程序分开,并把这个开始地址作为烧写FLASH的指针。调入后,第一字有时CCS会自动更改为0X0000,要手工改回0X10AA(16BITBOOT)或0X08AA(8BITBOOT)。3.执行FLASH烧写程序,把数据文件烧写到FLASH中。E.实验4:BOOTLOADER加载程序实验箱断电,将DSP板拨码开关SW2的第三位打到“ON”位置,即置“MP/MC=0,拔下仿真器,重新上电,D8指示灯闪烁,用BOOTLOADER加载实验一成功,本实验完毕。五、实验框图系统初始化系统初始化FLASH复位FLASH擦除FLASH编程结束开始实验十三阵列式键盘数码管控制实验一、实验目的1.了解阵列式键盘与CPU的硬件接口。2.了解数码管与CPU的硬件接口。3.学会怎样编程读取阵列式键盘的键值并送数码管显示。二、实验设备计算机、CCS2.0版软件、THRS-1实验箱、DSP仿真器三、基本原理阵列式键盘是在微机接口,人机对话中经常要用到的一种外围接口电路,如下图所示:上图是一个4行X4列的简易键盘。可以通过“列扫描”来确定是否有键按下以及已按键的行、列位置。所谓“列扫描”就是依次给每条列线输入0信号,而其余各列线输入1信号,并检测每一列扫描时所产生的行信号。从而得出键值,由CPU读取后进行处理。数码管显示电路如下图所示,其位选线直接与CPLD相连,段选全部连在一起与CPLD相接,通过CPLD内部编制锁存器,由DSP控制。四、实验步骤A.实验前准备正确完成计算机、DSP仿真器和实验箱的连接后,系统上电。B.实验启动CCS2.0,用Project/Open打开“DSP54X-13”目录下的“key_54.mak”工程文件;双击led_54.pjt工程文件可查看各源程序,如下图所示;单击“Run”,按下阵列式键盘,观看数码管的显示结果。五、实验报告试着修改实验原程序,读取键值后显示不同的结果。实验十四液晶显示器驱动实验一、实验目的1.了解OCM4X8C(128X64)液晶显示模块的工作原理。2.熟悉DSP与液晶显示器的软硬件接口。3.学会怎样用DSP5402编程去驱动液晶显示器。二、实验设备计算机、CCS2.0版软件、THRS-1实验箱、DSP仿真器三、基本原理1、M4X8C液晶显示模块是128X64点阵的汉字图形型液晶显示模块,可以显示汉字及图形,内置国标GB2312码简体中文字库(16X16点阵),128个字符(8X16点阵)和64X256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。2、OCM4X8C(128X64)引脚说明:引脚名称方向说明引脚名称方向说明1VSS-GND(0V)11DB4I/O数据42VDD-SupplyVoltageForLogic(+5v)12DB5I/O数据53VO-SupplyVoltageForLCD(悬空)13DB6I/O数据64RS(CS)H/LH:DataL:InstructionCode14DB7I/O数据75R/W(STD)H/LH:ReadL:Write15PSBH/LH:ParallelModeL:SerialMode6E(SCLK)H,H/LEnableSignal16NC-空脚7DB0I/O数据017/RSTH/LResetSignal低电平有效8DB1I/O数据118NC-空脚9DB2I/O数据219LEDA-背光源正极(LED+5V)10DB3I/O数据320LEDK-背光源负极(LED-OV)3、OCM4X8C(128X64)液晶显示器的硬件接口(1)、逻辑工作电压(VDD):4.5~5.5V(2)、电源地(GND):0V(3)、LCD驱动电压(V0):0~-10V(4)、工作温度(Ta):0~55℃(常温)/-20~70℃(宽温)保存温度(Tstg):-10~65℃(常温)(5)、电气特性见附图1外部连接图(参考液晶模块资料)四、实验步骤A.实验前准备正确完成计算机、DSP仿真器和实验箱的连接后,系统上电。B.实验启动CCS2.0,用Project/Open打开“DSP54X-14”目录下的“lcd_rs.mak”工程文件;双击lcd_54.pjt工程文件可查看各源程序;并加载“lcd_54.out”;如下图所示;单击“Run”,就可以看到液晶显示器上有结果显示。五.实验报告分析程序,自已设计程序,改变不同的显示字的区位码及显示方式,作不同的显示结果。实验十五快速傅立叶变换(FFT)算法实验一、实验目的1.加深对DFT算法原理和基本性质的理解;2.熟悉FFT算法原理和FFT子程序的应用;3.学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及原因,以便在实际中正确应用FFT。二、实验设备计算机、CCS2.0版软件、实验箱、DSP仿真器、音频线、音源三、基本原理1.离散傅立叶变换DFT的定义:将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅立叶变换,简称DFT。2.FFT是DFT的一种快速算法,将DFT的N2步运算减少为(N/2)log2N步,极大的提高了运算的速度。3.旋转因子的变化规律。4.蝶形运算规律。5.基2FFT算法。四、实验步骤1.复习DFT的定义、性质和用DFT作谱分析的有关内容。2.复习FFT算法原理与编程思想,并对照DIT-FFT运算流程图和程序框图,了解本实验提供的FFT子程序。3.阅读本实验所提供的样例子程序。4.运行CCS软件,对样例程序进行跟踪,分析结果;记录必要的参数。5.填写实验报告。6.提供样例程序实验操作说明。A.实验前准备1)用音频线连接语音单元音频输入端与音源;2)调节音频输入调节旋钮至适当位置;检查:计算机、DSP仿真器、实验箱是否正确连接。注:有关以上连接的说明,可参见使用说明书中语音处理单元的接口说明、跳线说明及调节说明。正确完成计算机、DSP仿真器和实验箱的连接后,系统上电。B.实验启动CCS2.0,用Project/Open打开“Exp-14”目录下的“ExpFFTAD50.pjt”工程文件;双击“expFFTAD50.pjt”及“Source”可查看各源程序;加载“expFFTAD50.out”;在主程序中,K++设置断点;单击“Run”运行程序,程序将运行至断点处停止。用View/Graph/Time/Frequency打开一个图形观察窗口;设置该图形窗口变量及参数;采用双踪观察在启动地址分别为0x3000H和0x3080H,长度为128的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的语音信号和对该信号进行FFT变换的结果。单击“Animate”运行程序,或按F10运行;调整观察窗口并观察输入信号波形及其FFT变换结果;单击“Halt”暂停程序运行,关闭窗口,本实验结束。实验结果:在CCS2.0环境,同步观察输入语音信号波形及其FFT变换结果。五、思考题1.对于不同的N,幅频特性会相同吗?为什么?2.FFT进行谱分析,可以应用的什么方面?六、实验报告要求1.简述实验原理及目的;2.结合实验中所给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生的原因以及FFT作谱分析时有关参数的选择方法以。3.总结实验所得主要结论。七、程序参数说明ExternvoidInitC5402(void)ExternvoidOpenMcBSP(void)ExternvoidCloseMcBSP(void)ExternvoidREADAD50(void)ExternvoidWRITEAD50(void)Voidkfft(pr,pi,n,k,fr,fi,l,il):基2快速傅立叶变换子程序,n为变换点数,应满足2的整数次幂,k为幂次(正整数);数组x:输入信号数组,A/D转换数据存放于地址为3000H~307FH存储器中,转为浮点型后,生成x数组,长度128;数组mo:FFT变换数组,长度128,浮点型,整型后,写入3080H~30FFH存储器中。八、子程序流程图实验十六有限冲击响应滤波器(FIR)算法实验一、实验目的1.掌握用窗函数法设计FIR数字滤波器的原理和方法;2.熟悉线性相位FIR数字滤波器特性;3.了解各种窗函数对滤波特性的影响。二、实验设备计算机、CCS2.0版软件、实验箱、DSP仿真器三、实验原理1.有限冲击响应数字滤波器的基础理论;2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器);3.数字滤波器系数的确定方法。四、实验步骤1.复习如何设计FIR数字滤波;阅读本实验原理,掌握设计步骤;2.阅读本实验所提供的样例子程序;3.运行CCS软件,对样例程序进行跟踪,分析结果;4.填写实验报告;5.样例程序实验操作说明。A.实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)设置模数转换单元的拨动开关,1、5置“ON”,其它置“OFF”;3)用示波器分别观测信号源单元的S1和S2输出的模拟信号,分别调节信号波形选择、信号频率、信号输出幅值等旋钮,直到满意为止;本样例实验程序建议:采用两路正弦波信号的混叠信号作为输入信号;低频正弦波信号:幅值5V,频率<4KHz;高频正弦波信号:幅值2.5V,频率>40KHz;4)设置模数转换单元的拨动开关,1、5、6置“ON”,其它置“OFF”,即采样频率选择181KHz,两路信号混叠输入,可在“SC”点用示波器观察混叠信号。注:有关以上连接说明,可参见使用说明书中模数转换单元跳线说明以及信号源单元跳线说明。B.实验启动CCS2.0,用Project/Open打开“Exp-15”目录下的“ExpFIR.pjt”工程文件;双击“ExpFIR.pjt”及“Source”可查看各源程序;并加载“ExpFIR.out”;在主程序中,K++处,设置断点;单击“Run”运行程序,程序将运行至断点处停止。用View/Graph/Time/Frequency打开一个图形观察窗口;设置观察图形窗口变量及参数为:采用双踪观察在启动地址分别为0x3000H和0x3100H,长度为256的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的输入混叠信号(输入信号)和对该信号进行FIR滤波的结果。单击“Animate”运行程序,或按F10运行程序;调整观察窗口并观察滤波结果,单击“Halt”暂停程序运行,激活“ExpFIR.c”的编辑窗口;实验程序说明:该程序为51阶FIR低通滤波器算法程序,采用矩形窗函数实现,数组和xmid长度均为51,fs为采样频率,fstop为滤波器截止频率,可以修改以上参数来变滤波器性能。重新“RebuildAll”后,重新加载,单击“Animate”,可得到不同的实验结果。实验结果:在CCS2.0环境,同步观察输入信号及其FIR低通滤波结果。五、思考题1.如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?写出设计步骤。2.定性说明本实验中,3dB截止频率的理论值在什么位置?是否等于理想低通的截止频率?3.如果要求用窗函数法设计带通滤波器,且给定上下边带截止频率,试求理论带通的单位脉冲响应。六、实验报告要求1.简述实验目的及理论。2.自己设计一串数据应用样例子程序,进行滤波。3.总结设计FIR滤波器的主要步骤。4.描绘出输入、输出数组的曲线。七、FIR程序参数说明系统函数对应常系数线性差分方程:程序参数说明:ExternvoidInitC5402(void)ExternvoidREADAD7822(void)voidfirdes(intm,doublenpass);输入信号:输入信号经A/D转换后,写入地址为3000H~30FFH存储器,16位整型;输出信号:FIR低通滤波器输出,写入地址为3100H~31FFH存储,16位整型。八、程序流程图实验十七无限冲击响应滤波器(IIR)算法实验一、实验目的1.熟悉设计IIR数字滤波器的原理与方法;2.掌握数字滤波器的计算机仿真方法;3.通过观察对实际信号的滤波作用,获得对数字滤波的感性认识。二、实验设备计算机、CCS2.0版软件、实验箱、DSP仿真器三、实验原理1.无限冲击响数字滤波器的基础理论;2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器);3.双线性变换的设计原理。四、实验步骤1.复习有关巴特沃斯滤波器设计和用双线性变换法设计IIR数字滤波器的知识;2.阅读本实验所提供的样例子程序;3.运行CCS软件,对样例程序进行跟踪,分析结果;4.填写实验报告;5.样例程序实验操作说明A.实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)设置模数转换单元的拨动开关,1、5置“ON”,其它置“OFF”;3)用示波器分别观测信号源单元的S1和S2输出的模拟信号,分别调节信号波形选择、信号频率、信号输出幅值等旋钮,直到满意为止;本样例实验程序建议:采用两路正弦波信号的混叠信号为输入信号;低频正弦波信号:幅值5V,频率<4KHz;高频正弦波信号:幅值2.5V,频率>40KHz;4)设置模数转换单元的拨动开关,1、5、6置“ON”,其它置“OFF”,即采样频率选择181KHz,两路信号混叠输入,可在引出点“SC”处(模数转换单元)用示波器观察混叠信号。注:有关以上连接说明,可参见使用说明书中模数转换单元跳线说明以及信号源单元跳线说明。B.实验 启动CCS2.0,用Project/Open打开“Exp-16”目录下的“ExpIIR.pjt”工程文件;双击“ExpIIR.pjt”,双击“Source”可查看各源程序;并加载“ExpIIR.out”;在主程序中,K++处,设置断点;单击“Run”运行程序,程序将运行至断点处停止。用View/Graph/Time/Frequency打开一个图形观察窗口;采用双踪示波器在启动地址分别为0X3000H和0X3100H,长度为256的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的混叠信号和对该信号进行低通IIR滤波后的输出信号;单击“Animate”运行程序,或按F10运行程序;调整观察窗口,并观察滤波结果;单击“Halt”暂停程序运行,激活“ExpIIR.c”的编辑窗口;该IIR低通滤波器性能参数为:采样频率为181KHz,通带内最大允许衰减3dB,阻带内最小衰减大于30dB,过渡带宽度约为36KHz;通带上限频率:4KHz;阻带下限截止频率:40KHz。可以修改以上参数归一化参数“npass”和“mstop”来改变滤波器性能。修改“ExpIIR.c”程序中“nlpass”和“nlstop”参数可改变IIR低通滤波器的滤波性能。重新“RebuildALL”后,加载,单击“Animate”,可得到不同的结果。实验结果:在CCS2.0环境下,同步观察输入信号及其IIR低通滤波结果。五、思考题1.试述用双线性变换法设计数字滤波器的过程?2.实验中,计算每个二阶滤波器的输出序列时,如何确定计算点数?3.对滤波前后的信号波形,说明数字滤波器的滤波过程与滤波作用。六、实验报告要求1.简述IIR滤波器的基本原理;2.对比FIR滤波器与IIR滤波器的异同;3.描绘出输入、输出数组的曲线。七、IIR程序参数说明系统函数:对应的常系数线性差分方程是:程序参数说明:ExternvoidInitC5402(void)ExternvoidREADAD7822(void)voidbiir2lpdes(doublefs,doublenlpass,doublenlstop,doublea[],doubleb[])IIR低通滤波器参数设计子程序参数说明:fs:采样频率;nlpass:通带上限频率归一化参数;nlstop:阻带下限截止频率归一化参数;设置时,采样频率对应为1,应使“nlpass”和“nlstop”两参数均要小于0.5,且“nlpass”要比“nlstop”小0.2,否则将不能满足阻带的最大衰减大于30dB。数组a:存放IIR低通滤波器传递函数的极点计算结果,浮点型;数组b:存放IIR低通滤波器传递函数的零点计算结果,浮点型;输入信号:输入信号经A/D转换后,写入地址3000H~30FFH单元,16位整型;输出信号:滤波后信号,写入地址3100H~31FFH单元,16位整型。八、子程序流程图实验十八卷积(Convolve)算法实验一、实验目的1.掌握卷积算法的原理;2.掌握在CCS环境下,TMS320程序编写、编译和调试程序的方法。二、实验设备计算机、CCS2.0版软件、DSP仿真器、实验箱三、实验原理及步骤1.熟悉卷积的基本原理;2.阅读所提供的样例实验程序;运行样例程序,分析结果;3.填写实验报告;4.本实验所提供的样例子程序操作说明。A.实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)设置模数转换单元的拨动开关,1、5置“ON”,其它置“OFF”;注:有关以上连接说明,可参见使用说明书中模数转换单元跳线说明以及信号源单元跳线说明。B.实验启动CCS2.0,用Project/Open打开“Exp-17”目录下的“ExpConv.pjt”工程文件;双击“expConv.pjt”及“Source”可查看各源程序;并加载“expConv.out”;在主程序中的两个K++处,设置断点;单击“Run”运行程序,程序运行到第一个断点处停止。用View/Graph/Time/Frequency打开图形观察窗口;设置观察图形窗口变量及参数;采用双踪观察两路输入变量Input及Impulse的波形,波形长度为128,数组类型为32位浮点型;再打开一个图形窗口,以观察卷积结果波形;该观察窗口的参数设置为:变量为Output,长度为256,数据类型为32位浮点数;调整观察窗口,观察两路输入波形和卷积结果波形;这两路输入波形是由程序产生,并对两个信号进行卷积;单击“Run”,程序运行至第二个断点处停止,调整图形观察窗口,该部分实验用实验箱的信号源产生的信号作为卷积的两个输入信号,观察卷积结果;单击“Animate”运行程序,或按F10运行程序;调整观察窗口,并观察卷积结果;改变输入信号的波形、频率、幅值,观察卷积卷结果;实验结束。四、Convolve子程序时域表达式:程序参数说明:VoidConvolveok(Input,Impulse,Output,Length)ExternvoidREADAD7822(void)两序列卷积子程序:Input:原始输入数据序列,浮点型,长度128;Impulse:冲击响应序列,浮点型,长度128;Output:卷积输出结果序列,浮点型,长度256;Length:参与卷积运算的两输入序列长度;子程序流程图:.实验十九离散余弦变换(DCT)算法实验一、实验目的学习DCT算法的实现方法。二、实验设备计算机、CCS2.0版软件、实验箱、DSP仿真器三、实验原理离散余弦变换与离散傅立叶变换紧密相关的,属于正弦类正交变换,由于其优良的去冗余性能及高效快速算法的可实现性,被广泛用于语音及图象的有损和无损压缩。开始实验之前,应了解以下基本原理。语音或图象的压缩手段;DCT变换在数据中的作用与应用。四、实验步骤1.阅读本实验所提供的样例子程序;2.运行样例程序,分析结果;3.样例程序实验操作说明;A.实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)设置模数转换单元的拨动开关,1、5置“ON”,其它置“OFF”;注:有关以上连接说明,可参见第一章中模数转换单元跳线说明以及信号源单元跳线说明。B.实验启动CCS2.0,用Project/Open打开“Exp-18”目录下的“ExpDCT.pjt”工程文件;双击“ExpDCT.pjt”及“Source”可查看各源程序;并加载“expDCT.out”;在主程序K++处,设置断点;用View/Graph/Time/Frequency打开两个图形观察窗口;采用双踪观察在启始地址分别为0x3000H和0x3080H,长度为128的单元中数值的变化,数值类型为16位有符号整型,这两个存储单元中分别存放的是经A/D转换的输入信号和对该信号进行DCT变化及逆DT变换后,重构信号的结果;再打开一个图形观察窗口,设置观察变量为y;变量y为输入信号的DCT变换结果,长度128,32位浮点型,并用它作为输入变量进行逆DCT变换,得到重构信号;调整各图形观察窗口,观察正变换与逆变换结果;单击“Animate”运行程序,调整各图形观察窗口,动态观察变换结果;改变输入信号的波形、频率、幅值,动态观察变换结果;单击“Halt”暂停程序运行,关闭窗口,实验结束;实验结果:在CCS2.0环境,同步观察输入信号及其DCT变换结果。五、思考题1.压缩的实质是什么?2.实际压缩处理时,应该有那些流程?六、实验报告要求1.简述DCT的基本原理。2.说明DCT系数是如何确定?3.以8*8矩形描述输入、输出。七、DCT子程序变换的核函数:式中系数:程序说明:ExternvoidInitC5402(void)ExternvoidREADAD7822(void)Voiddct1c2(doublex[],doubley[],intn);DCT正变换子程序;Voididct1c2(doubley[],doublez[],intn);逆DCT变换子程序;两子程序中,各参数为:数组X:输入信号经A/D转换后,存放于地址为3000H~307FH单元中,转为浮点型后,生成X数组,长度128;数组Y:DCT正变换输出信号数组,也是逆DCT变换输入数组,浮点型,长度28;数组Z:逆DCT变换输出信号数组,即重构信号,浮点型,长度28,转换为整型后,存放于地址3080H~30FFH单元中。八、程序流程图(DCT)实验二十相关(Correlation)算法实验一、实验目的1.学习相关的概念;2.学习相关算法的实现方法。二、实验设备计算机、CCS2.0版软件、实验箱、DSP仿真器三、实验原理1.概率论中相关的概念;2.随机信号相关函数的估计。四、实验步骤1.熟悉基本原理;阅读实验提供的程序;2.运行CCS,记录相关系数;3.填写实验报告;4.实验程序操作说明。A.实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)设置模数转换单元的拨动开关,1、5置“ON”,其它置“OFF”;注:有关以上连接说明,可参见第一章中模数转换单元跳线说明以及信号源单元跳线说明。B.实验启动CCS2.0,用Project/Open打开“Exp-19”目录下的“ExpCOR.pjt”工程文件;双击“ExpCOR.pjt”及“Source”可查看各源程序;并加载“expCOR.out”;在主程序中,两个i++处设置两个断点;单击“Run”运行程序,程序运行到第一个断点处停止;用View/Graph/Time/Frequency打开两个图形观察窗口;采用双踪观察变量x及y的波形,长度为128,数值类型为32位浮点型;此时,这两个信号由程序产生;再打开一个图形观察窗口,以观察变量x与y相关运算的结果;该观察窗口的参数设置为:变量为cor,长度为255,数据类型为32位浮点数;调整图形观察窗口,观察两路输入信号相关运算的结果;单击“Run”,程序运行至第二个断点处停止,此时,两路输入信号由信号源单元产生,并完成自相关运算;单击“Animate”运行程序,调整各图形观察窗口,动态观察自相关运算的结果;改变输入信号的波形、频率、幅值,动态观察结果;程序中,mode可赋0或赋1,赋0时,完成相关函数无偏估计的计算;赋1时,完成相关函数有偏估计的计算;x和y参与相关运算时的两路信号,当x=y时,完成自相关的计算,而当x≠y时,完成互相关函数的计算。修改以上参数,进行“RebuildALL”,并重新加载程序,运行程序可以得到不同的实验结果。关闭工程文件,关闭各窗口,实验结束。五、思考题用其他数学工具计算相关系数,并与实验结果比较(如:SPSS,MATLAB)。六、其他相关算法时域表达式:七、程序参数说明x[Length]//原始输入数据Ay[Length]//原始输入数据Bcor[Length]//相关估计数值Length//输入数据长度Lengthcor//相关计算结果长度Mode=0//无偏估计Mode=1//有偏估计八、程序流程图实验二十一u_LAW算法一、实验目的1.学习u_律的基本原理、压扩特性、编码和解码方法;2.学习u_律算法在DSP上的实现方法。二、实验设备计算机、CCS2.0版软件、实验箱、DSP仿真器、音频线、音源三、基础理论在电话通信中,语音信号通常表现为三个要素:音调、音强、音色。人耳对25~22000Hz的声音有反应。谈话时,大部分有用和可理解信息的能量在200Hz到3500Hz之间,因此,电信传输线路上使用带通滤波器,典型的电话信带度为3KHz(即300~3300Hz)。根据Nyquist准则,最小的采样频率应该是6600Hz。实际中,采样频率为8KHz。u律的处理过程为:压缩和扩张;压缩是指在发送端对输入信号进行压缩处理,再均匀量化,相当于非均匀量化;扩张是在接收端进行相应的扩张处理,以恢复原始信号。原理图如图1所示。图1音频信号非均匀量化目前国际上,常采用A律13折线压扩特性或u律15折线的压扩特性。我国采用A律13折线压扩特性。采用13折线压扩特性后,小信号的量化信噪比改善量可达24dB,这是靠牺牲大信号量化信噪比(亏损12dB)换来的。u律的压缩特性方程为:其中,u=255压缩特性曲线为:图2u律压特性曲线经过压缩的采样信号,按8位二进制进行编码,编码如下:BiasedInputValuesCompressedCodeWordChordStepBit:1211109876543210Bit:654321000000001abcdx000abcd0000001abcdxx001abcd000001abcdxxx010abcd00001abcdxxxx011abcd0001abcdxxxxx100abcd001abcdxxxxxx101abcd01abcdxxxxxxx110abcd1abcdxxxxxxxx111abcd8位编码有三部分组成:极性码(0:负极性信号;1:正极性信号)、段落码(表示信号处于那段折线上)、电平码(表示段内16级均匀量化电平值)。u律的扩张特性方程为:u律扩张编码表为:CompressedCodeWordBiasedoutputValuesChordStepBit:6543210Bit:1211109876543210000abcd00000001abcd1001abcd0000001abcd10010abcd000001abcd100011abcd00001abcd1000100abcd0001abcd10000101abcd001abcd100000110abcd01abcd1000000111abcd1abcd10000000A律的压缩特性方程为:式中:A=87.6压缩特性曲线为:图3A律的压缩特性曲线经过压缩的采样信号,按8位二进制进行编码,编码表如下:BiasedInputValuesCompressedCodeWordChordStepBit:11109876543210Bit:65432100000000abcdx000abcd0000001abcdx001abcd000001abcdxx010abcd00001abcdxxx011abcd0001abcdxxxx100abcd001abcdxxxxx101abcd01abcdxxxxxx110abcd1abcdxxxxxxx111abcdA律8位编码组成意义和μ律相同。A律扩张特性方程为:A律的扩张表为:CompressedCodeWordBiasedoutputValuesChordStepBit:6543210Bit:11109876543210000abcd0000000abcd1001abcd0000001abcd1010abcd000001abcd10011abcd00001abcd100100abcd0001abcd1000101abcd001abcd10000110abcd01abcd100000111abcd1abcd1000000μ律对数压缩特性与A律变换有近似相同的特性。在小信号段,μ律变换对小信号有33.5dB的增益,A律变换对小信号有24dB的增益。四、实验步骤与内容1.熟悉μ律和A律的基本原理和规范;2.阅读实验提供的程序;3.运行样例程序,观察μ律编码和解码过程;4.填写实验报告。5.样例程序实验操作说明A.实验前准备1)正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2)用音频线连接语音单元音频输入端与音源,并开启音源;3)调节音频输入调节旋钮以及音频输出调节旋钮至适当位置;4)将语音处理单元的SW2的1、2置“ON”,J6的1置“ON”。注:有关以上连接的说明,可参见使用说明书中语音处理的接口说明、跳线说明以及调节说明。B.实验启动CCS2.0,用Project/Open打开“Exp-20”目录下的“G711_Mu_law.pjt”工程文件;双击“G711_Mu_law.pjt”及“Source”可查看各源程序;并加载“G711_Mu_law.out”;单击“Run”运行程序,可以听到实验箱有连续音频信号传出;若想观察输入音频信号波形、压缩信号波形以及解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论