DSP实验指导书2007(2)
- 格式:doc
- 大小:1.10 MB
- 文档页数:33
DSP原理及应用实验指导书电气与电子工程学院实验六QDMA 读写实验一、实验目的:1.了解QDMA原理;2.熟悉QDMA的接口的配置;3.掌握QDMA的操作.二、实验内容:1.DSP 初始化;2.QDMA 配置;三、实验背景知识:QDMA 控制器可以在没有CPU参与的情况下完成存储器影射空间中的数据传输. 这些数据的传输可以是在片内存储器、片内外设或是外部器件之间,而且是在CPU操作后台进行的.QDMA 控制器的主要特点:1.后台操作:DMA 控制器可以独立于CPU工作.2.高吞吐率:可以以CPU时钟的速度进行数据吞吐.3.6个通道:DMA 控制器可以控制6 个独立通道的传输.4.辅助通道:该通道允许主机口向CPU的存储器空间进行请求.辅助通道与其他通道间的优先级可以设置.5.通道分割〔即Split-channel〕操作:利用单个通道就可以与一个外设间同时进行数据的读取和写入,与存在两个DMA 通道的效果一样.6.多帧〔Multiframe〕传输:传送的每个数据块可以含有多个数据帧.7.优先级可编程:每一个通道对于CPU的优先级是可编程确定的.8.可编程的地址产生方式:每个通道的源地址寄存器和目标地址寄存器对于每次读和写传输都是可配置的.地址可以是常量、递增、递减,或是设定地址索引值.9.自动初始化:每传送完一块数据,DMA 通道会自动重新为下一个数据块的传送做好准备.10.事件同步:读、写和帧操作都可以由指定的事件触发.11.中断反馈:当一帧或一块数据传送完毕,或是出现错误情况时,每一个通道都可以向CPU发送中断.四、实验要求:通过本实验,了解QDMA接口的配置及应用.五、实验程序功能与结构说明:➢QDMA 实验包含文件本次实验我们使用Test2011里面的0502的QDMA工程文件.1.main.c:实验的主程序,包含了系统初始化,系统时钟设置,QDMA通道CACHE 以及定时器设置,运行DMA 转移函数等;2.C6x.c:对SEED-DEC6713 各项资源操作的函数集,主要包含系统初始化函数,对CPLD 的各个控制函数.3.vecs.asm:包含定时器中断的中断向量表.4.linkd:声明了系统的存储器配置与程序各段的连接关系.➢程序流程图六、实验准备:1.将DSP 仿真器与计算机连接好;2.将DSP 仿真器的JTAG插头与SEED-DEC6713 单元的J2 相连接;3.打开SEED-DEC6713 的电源.观察SEED-DTK_MBoard单元的+5V,+3.3V,+15V, -15V 的电源指示灯以及SEED_DEC6713的电源指示灯D1、D3 是否均亮;若有不亮的,请断开电源,检查电源.七、实验步骤:1.打开CCS,进入CCS 的操作环境.2.装入QDMA.pjt 工程文件.3.打开main.c 程序,运行并下载程序.4. 设置断点,打开0x20000和0x21000开始的存储空间,运行程序.5.观察相关存储单元值的变化,验证QDMA相关原理.大家可以通过设置不同QDMA_S_OPT寄存器的值来观察其他的数据搬移效果实验七定时器控制实验一、实验目的:1.了解TMS320VC6713 的定时器;2.熟悉定时器各寄存器的配置;3.掌握TMS320VC6713 的中断结构和对中断的处理流程;4.学会C 语言中断程序设计,以及运用中断程序控制程序流程二、实验内容:1.系统初始化;2.定时器中断初始化;三、实验背景知识:TMS320C6713 片内集成了2 个32BIT 的通用TIMER,TIMER的原理框如下图.这些时钟有两种信号模式,可以用内部或外部时钟源做为时钟计数.这些时钟有两个PIN 脚:输入和输出PIN脚,可以用做时钟输入和时钟输出;也可以用做GPIO.在SEED-DEC6713 中,2 个TIMER配置为:z TIMER0 配置为外部扩展空间或内部使用;z TIMER1 配置为外部扩展空间或内部使用;本实验采用的定时器是TIMER1.四、实验要求:通过本实验,熟悉中断的结构及用中断程序控制程序流程,掌握定时器的应用.五、实验程序功能与结构说明:➢LED实验包含文件1.DEC6713_Timer.c:实验的主程序,包含了系统初始化,定时器中断初始化,定时器中断程序等.2.DEC6713.c:对SEED-DEC6713 各项资源操作的函数集,主要包含系统初始化函数,对CPLD 的各个控制函数.3.vecs.asm: 包含定时器中断的中断向量表.4.SEED_DEC6713d: 声明了系统的存储器配置与程序各段的连接关系.5.DEC6713.gel:系统初始化程序➢程序流程图Main 程序流程图定时器中断流程图六、实验准备:首先将光盘下03. Examples of Program \ 04. SEED_DTK-EPD实验程序目录下的3.2.7 Timer的文件夹拷贝到D:盘根目录下.1.将DSP 仿真器与计算机连接好;2.将DSP 仿真器的JTAG插头与SEED-DEC6713 单元的J2 相连接;3.打开SEED-DTK6713 的电源.观察SEED-DTK_MBoard 单元的+5V,+3.3V,+15V,-15V 的电源指示灯以及SEED_DEC6713 的电源指示灯D1、D3 是否均亮;若有不亮的,请断开电源,检查电源.七、实验步骤:1.打开CCS,进入CCS 的操作环境.2.装入time.pjt 工程文件, 添加DEC6713.gel 文件.3.装载time.out 文件,进行调试.4.打开DEC6713_Timer.c,在程序的第163行"TimerEventHandler<>;"处设置断点.5.运行程序,程序会停在断点处,表明已进入定时器中断.此时观察CCS 下方的"Stdout"窗口,会看到"Count:1".继续运行程序,程序每次都会停在断点处,连续进入中断60次后,退出主程序.如下图所示:提示:实验者可根据自己的需要改变周期寄存器的值,从而控制每次进中断的时间.实验八PLL锁相环实验一、实验目的:1.了解TMS320VC6713 的PLL锁相环;2.熟悉锁相环各寄存器的配置;3.掌握锁相环初始化的过程操作二、实验内容:1.系统初始化2.锁相环初始化3.改变锁相环的相关寄存器的值观察实验结果的变化情况三、实验背景知识:1.锁相环由锁相环乘法器<PLLM>、分频器<OSCDIV1、D0、D1、D2、D3>和复位控制器等部分组成,可通过软件进行配置,见图8-1.锁相环的输入参考时钟为来自CLKIN引脚的外部晶体振荡器的输入信号<CLKMODE0 = 1>,通过使用可配置的乘法器和分频器,在DSP内部,锁相环可灵活方便地修改输入的时钟信号,最后生成的时钟被传送到DSP内核、外围设备和其它的DSP内部模块2.锁相环模式<PLLEN=1>,当系统要使用分频器D0和乘法器的时候,进行此初始化过程.•在PLLCSR寄存器中,设置PLLEN=0<禁用模式>•等待最慢的PLLOUT信号或者参考时钟源<CLKIN>四个周期•在PLLCSR寄存器中,设置PLLRST=1<PLL被复位>•如果有必要,对PLLDIV0和PLLM编程•如果有必要,对PLLDIV1-n编程,必须执行此操作来使分频器更新比例系数•等待锁相环正确地复位•在PLLCSR寄存器中,设置PLLRST=0,使锁相环退出复位状态•等待锁相环锁定•在PLLCSR寄存器中,设置PLLEN=1来使能锁相环模式四、实验要求:通过本实验,熟悉锁相环的结构和功能及初始化过程中相关寄存器的配置,掌握锁相环的应用.五、实验程序功能与结构说明:实验中通过软件对锁相环和锁相环控制寄存器进行初始化,通过对锁相环和其相关寄存器的正确配置,产生DSP各个模块或者外围设备所需要的时钟信号.六、实验准备:1.将DSP 仿真器与计算机连接好;2.将DSP 仿真器的JTAG插头与SEED-DEC6713 单元的J2 相连接;3.打开SEED-DTK6713 的电源.观察SEED-DTK_MBoard 单元的+5V,+3.3V,+15V,-15V 的电源指示灯以及SEED_DEC6713 的电源指示灯D1、D3 是否均亮;若有不亮的,请断开电源,检查电源.七、实验步骤::1.打开CCS,进入CCS操作环境2.打开Test2001文件里面的SpeedUSB.pjt工程文件3.编译、下载main.c文件4.结合上节定时器实验,修改相关寄存器,观察输出的快慢变化。
实验一:DSP软件集成开发环境CCS一. 实验目的1.了解DSP 软件开发集成环境Code Composer Studio (CCS) 的安装和配置过程;2.熟悉并掌握CCS 的操作环境和基本功能,了解DSP软件开发的一般流程:(1) 学习创建工程和管理工程的方法;(2) 了解工程文件和映像文件的基本内容;(3) 了解基本的编译和调试功能;(4) 学习使用观察窗口。
二. 实验设备计算机、Code Composer Studio 2.2 或以上版本三. 背景知识1.DSP 应用系统开发一般需要借助以下调试工具:―软件集成开发环境(CCS):完成系统的软件开发,进行软件和硬件仿真调试;―硬件开发及测试平台:实现系统的硬件仿真与调试,包括仿真器和评估模块。
S 集成了适用于所有TI 器件的源码编辑、编译链接、代码性能评估、调试仿真等功能,为设计人员提供了一个完整的嵌入式系统软件开发环境。
3.系统软件部分可以通过CCS 建立的工程文件进行管理,工程文件一般包含以下几种文件:―源程序文件:C 语言或汇编语言文件(*.ASM 或*.C)―头文件(*.H)―命令文件(*.CMD)―库文件(*.LIB, *.OBJ)四. 实验步骤1.创建工程文件双击CCStudio 图标,启动CCS,CCS 的初始界面包括工程管理区和工作区两部分。
在菜单中选择“Project—>New…”,弹出“Project Create”窗口:若标题栏显示xxxx Emulator,则需要先运行Setup CCS,选择合适的软件仿真环境在“Project”编辑框内填入项目名称,例如“hello1”;有必要的话,可以更改项目文件夹位置(Location);“Project”下拉框用以确定输出文件类型;目标硬件类型在“Target”下拉框中指定。
点击“完成”后,CCS 自动在指定目录下生成“hello1.pjt”工程文件。
工程文件中保存了对应工程的设置信息和内部文件的引用情况。
实验一常用指令实验一、实验目的1、了解DSP开发系统的组成和结构;2、掌握DSP开发系统连接过程和DSP的开发界面;3,熟悉LF2407系列的寻址系统及常用LF2407系列指令的用法。
二、实验设备计算机,CCS 2.0版软件,DSP仿真器,EXP3实验箱。
三.实验步骤与内容开发TM S 320C2xxx应用系统一般需要以下几个调试工具来完成:(1)软件集成开发环境(CodeComposer):完成系统的软件开发,进行软件和硬件仿真调试。
它也是硬件调试的辅助乎段。
(2)开发系统:实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。
(3)评估模块:提供软件运行和调试的平台和用户系统开发的参照。
(4) CodeComposer4.1卞要完成系统的软件开发和调试。
它提供一整套的程序编制、维打…、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF(公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。
(5)用户系统的软件部分可以由CodeComposer建立的工程文件进行管理,工程文件一般包含以下几种文件:源程序文件:C语言或汇编语言文件(*.ASM或*.C)头文件(*H)命令文件(*.CMD)库文件(*.LIB)中断向量交件(*.ASM)★启动CodeComposer双击桌面上“CC C2000 "启动Code Composer 4.1;可以看到显示出的C2XX CodeComposer窗口;★创建工程(1)创建新的工程文件:选择菜单“Project”的“New...”项;输入工程文件名字并保存;这时建立的是一个空的工程文件;.(2)在工程文件中添加程序文件:选择菜单“Project”的“Add Files to Project...”项;在“Add Files to Project”对话框中改变文件类型为“Asm Source Files(.a*;*.s*)",选择文件“*asm";重复上述各步骤,再添加以下文件到工程中;*.cmd, vector.asm.(3)编译连接工程:选择菜单“Project”的“Rebuild All”项;注意编译过程中CCS卞窗日下部的“Build"提示窗中显示编译信息,最后将给出错误和警告的统计数;编辑修改工程中的文件.(4)查看工程文件展开CCS卞窗日左侧工程管理窗中的工程各分支,可以看到“*.mak*工程中包含"*.asm","*.cmd"和"*.h;,其中“*.h”为程序在编译时根据程序中的“include"语句自动加入的;(5).查看源文件双击工程竹理窗中的“`'`as m”文件,可以查看程序内容;双击工程竹理窗中的“`'`.h”文件,打开此文件显示,可以看到其中有卞程序中要用到的一些寄存器等;" *.cmd”文件定义程序所放置的位置,此例中描述了LF2407的片内存储器资源,指定了程序和数据在内存中的位置;(6)基本调试功能:a)执行File-Load Program,在随后打开的对话框中选择刚刚建立的*.out文件;在项日浏览窗日中,双击`'`.rim激活这个文件,移动光标到start 行上,右击鼠标选择Toggle Breakpoint或按F9设置断点;b)使用观察窗口执行View令Watch window打开观察窗日;在`*asm中,选中任意一个变量,右击鼠标,选择”Quickwatch",CCS将打开quickwatch窗口并显示选中的变量;在`*asm中,选中任意一个变量,右击鼠标,选择”Add to watch window",CCS将把变量添加到观察窗日并显示选中的变量值;在观察窗日中双击变量,则弹出修改变量窗日,此时,可以在这个窗日中改变程序变量的值。
DSP实验实验操作指导
在实验操作之前,将仿真器在断电状态下与实验箱在断电状态下连接好,然后将USB 连线接到PC机,再给实验箱通电。
1、运行CCS 2(C200)
2、在FILES命令列装如GEL文件,文件路径为
….. :\SEED DTK APD\03.EXAMPALES OF PROGRAM\01.DSP\FOR SEED-DEC2407\01.DTK2407
做第几个实验,就装入第几个实验目录下的GEL文件,如第八个实验是数字滤波,就装入08. DTK_APD_FILTER目录下的GEL 文件.
3、在GEL 命令列将F2407 DEBUGGER设置为FLASH_DISABLE。
4、在PROJECT 命令列打开实验软件。
5、在PROJECT命令列ADD FILES TO PROJECT,添加库文件,选择C2400的CGTOOLS 中的LIB。
6、编译打开的实验软件。
7、在实验箱上选择所做的实验,CCS使用选择“是”,实验参数设置完成后不要在实验箱上运行实验等待实验程序从PC机装入。
8、在CCS下执行FILE命令列的LOAD PROGRAM。
9、在PC机上运行DEBUG命令列的RUN,实验箱上指示实验程序正在装载或装载成功。
10、在实验箱上运行实验,观察实验结果。
DSP实验指导书-图文数字信号处理E某PIV教学实验系统110实验五离散余弦变换(DCT)算法实验一、实验目的学习DCT算法的实现方法。
二、实验设备计算机,CCS2.0版软件,实验箱,DSP仿真器。
三、实验原理离散余弦变换与离散傅立叶变换紧密相关的,属于正弦类正交变换,由于其优良的去冗余性能及高效快速算法的可实现性,被广泛用于语音及图象的有损和无损压缩。
在开始实验之前,应了解以下基本原理。
1.语音或图象的压缩手段;2.DCT变换在数据压缩中的作用与应用。
四、实验步骤1.阅读本实验所提供的样例子程序;2.运行样例程序,分析结果;3.样例程序实验操作说明A.实验前准备1)正确完成计算机、DSP仿真器和实验箱连接后,开关K9拨到右边,即仿真器选择连接右边的CPU:CPU2;系统上电;2)“A/D转换单元”的拨码开关设置:JP3拨码开关:码位123456备注ON:将“模拟信号源”单元的信号输入到AD7822OFF:OFF:OFF:OFF:OFF:SW2拨码开关:SW21ON2ON3ON4备注码位ONAD7822的采样时钟为250KHZ,且中断给CPU2的中断2数字信号处理E某PIV教学实验系统111S23拨码开关:码位1、2B.实验启动CCS2.0,Project/Open打开“Algorithm”目录中“e某p05_cpu2”子目录下“E某p-DCT-AD.pjt”工程文件;双击“E某p-DCT-AD.pjt”及“Source”可查看各源程序;加载“E某p-DCT-AD.out”;在主程序中,在flag=0处设置断点;单击“Run”运备注OFF,不混频行程序,程序将运行至断点处停止;数字信号处理E某PIV教学实验系统112用View/Graph/Time/Frequency打开两个图形观察窗口;采用双踪观察在启始地址分别为某和y,长度为128的单元中数值的变化,数值类型为32位浮点型,这两个数组分别存放的是经A/D转换的输入信号和对该信号进行DCT变换的结果;再打开一个图形观察窗口,设置观察变量为z;变量z为输入信号的DCT变换及逆DCT变换的结果,长度128,32位浮点型,即输入信号的重构信号;调整各图形观察窗口,观察正变换与逆变换结果;单击“Animate”运行程序,调整各图形观察窗口,动态观察变换结果;改变输入信号的波形、频率、幅值,动态观察变换结果;数字信号处理E某PIV教学实验系统113单击“Halt”暂停程序运行,关闭窗口,实验结束;实验结果:在CCS2.0环境,同步观察输入信号及其DCT变换结果。
实验一正弦信号发生器一、实验仪器:PC机一台,JQ-SOPC-2C35实验箱一台及辅助软件(DSP Builder、Matlab/Simulink、Quartus II、Modelsim)。
二、实验目的:1. 初步了解JQ-NIOS-2C35实验箱的基本结构;2。
学习和熟悉基于DSP Builder开发数字信号处理实验的流程。
三、实验原理:正弦波是一种基本信号,任何复杂信号都可由许多频率、幅度各不相同的正弦波复合而成。
已知正弦波存在如下的关系:αsinαπ+sin(=2)由以上公式可知,正弦波存在周期性,本实验就是根据正弦波的这一特性进行正弦波发生。
在Altera DSP Builder库中,有一名为Increment Decrement的模块,根据参数设置的不同,Increment Decrement会不断从0计数到设定值,然后清0,接着又从0开始计数。
图3-1显示的是Increment Decrement的参数设置界面,以图中参数为例,number of bits设置为6,即从0开始计数到2^6,然后清0,接着又从0开始计数。
在LUT(Look Up Table)查找表模块中事先存入一个周期的正弦波的抽样值,利用Increment Decrement模块不断计数,根据计数值找到查找表的地址取出里面的值进行输出,因为Increment Decrement模块的输出具有周期性,则从LUT 的输出也具有了周期性,这样,就产生了正弦波。
四、实验步骤:本实验的操作步骤如下:1.点击桌面上的Matlab图标,进入Matlab主界面,并将工作目录设为Matlab安装目录下的work文件夹,如图1所示:图1 Matlab启动界面2.点击菜单栏中的File->New->Model,新建一个模型,在Matlab命令窗口中输入simulink命令,调出simulink工具栏,如图2所示:图2 新建模型3.双击simulink工具栏中的Altera DSP Builder中的Arithmetic库,找到Increment Decrement模块,选中它并按住鼠标左键将其拖到新建的模型文件中,如图3所示:图3 添加模块4.双击模型文件中的Increment Decrement模块,打开模块参数对话框,将Bus Type设为Signed Integer,number of bits设为6,保持其他参数不变,点击【OK】按钮确认。
dsp实验指导书实验一I/O实验实验目的:熟悉SZ—DSPII实验平台的使用了解DSP对I/O口的访问方式熟悉简单的程序设计及指令运用实验设备:计算机;DSP硬件仿真器;DSP实验开发平台实验硬件设置:在做实验以前,需要接通该实验的硬件电路,本实验为:先将实验箱右侧的船型开关往“I”方向打开电源,然后将系统主板的开关S33往下拨接通+/-5V电源,然后将CPLD/FPGA模块上的电源开关S9往下(ON)拨,开关S10往下拨来选通主板上发光二极管等输出指示设备;将系统主板中“MCU/DSP选择档”选中MCU(往下拨),将“功能键7”拨上去,电击键盘中的RST键,MCU将对所有发光二极管进行检测,如果所有的发光二极管正常,则将“MCU/DSP选择挡”选中DSP,将功能键1到7都拨下来。
然后开始做实验,注意在做实验时开始按了RST硬件复位后,实验不要再按RST键,以免由于DSP复位而失败。
如果实验中硬件工作不正常,可按RST对整个系统硬件进行复位。
实验原理:本程序主要是实现将数据往一个I/O端口送,从而显示一种状态,来验证DSP对I/O口的访问。
该实验是由DSP直接编程,往发光二极管送数,运用PORTW指令,观察发光二极管的变化,从而完成基本的I/O实验。
D8-D15高八位数据DSPCPLD锁存8个指示灯指示灯的片选1002H硬件框图实验程序框图DSP送出不同的数据DSP初始化开始输出到1002H实验程序FG_ADDR.et1002HDATADELAY.macroec_tenthloop1STM#09h,AR6loop0STM#19999,AR7BANZ$,某AR7-BANZloop0,某AR6-BANZloop1,某AR5-.endm ;延时ec_tenth/10秒STMec_tenth-1,AR5reet:.et60h;doubleramdata.ect\B_c_int00NOPNOP.pace31某4某16.title\.global_c_int00.mmreg.te某tLD#0h,DPSTM#3000h,SPRSB某INTMSTM#07FFFh,SWWSR;工作在20MHz_c_int00:SSB某某F;某F=1ST#1007h,CLKMDRPT#0FFhNOPSTM#0ffffh,IFRORM#000h,IMRRSB某S某MST#8100H,DATA#10WRDENG:PORTWDATA,FG_ADDRDELAYNOPST#4200H,DATADATA,FG_ADDR#10PORTWDELAYST#2400H,DATAPORTWDELAYST#1800H,DATAPORTWDELAY#10ST#1800H,DATAPORTWDELAYDATA,FG_ADDR#10DATA,FG_ADDRDATA,FG_ADDR#10RPT#10NOPST#2400H,DATAPORTWDELAYRPT#10NOPST#4200H,DATAPORTWDELAYRPT#10NOPST#8100H,DATAPORTWDELAYRPT#10NOPSTM#00H,DATA;;;PORTWDELAYNOPST#100H,DATADATA,FG_ADDR#10PORTWDELAYST#200H,DATAPORTWDELAYST#400H,DATAPORTWDELAY#10DATA,FG_ADDRDATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10ST#800H,DATAPORTWDELAYRPT#10NOPST#1000H,DATAPORTWDELAY#10RPT#10NOPST#2000H,DATAPORTWDELAYRPT#10NOPST#4000H,DATAPORTWDELAYRPT#10NOPSTM#8000H,DATAPORTWDELAYRPT#10NOP;;;ST#8000H,DATAPORTWDELAYST#4000H,DATADATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDRDATA,FG_ADDR#10PORTWDELAYDATA,FG_ADDR#10ST#2000H,DATAPORTWDELAY#10ST#1000H,DATAPORTWDELAYRPT#10NOPST#800H,DATAPORTWDELAY#10RPT#10NOPST#400H,DATAPORTWDELAYRPT#10NOPST#200H,DATAPORTWDELAYRPT#10NOPSTM#100H,DATAPORTWDELAYRPT#10NOPST#8100H,DATADATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDRDATA,FG_ADDR#10DATA,FG_ADDRBWRDENGaaanopbaaa.end思考题:有哪三种以上的寻址方式可以完成上述实验?并描述其原理。
数字信号处理实验指导书电子与信息工程学院二○一二年前言数字信号处理(DSP)研究数字序列信号的表示方法,并对信号进行运算,以提取包含在其中的特殊信息。
数字信号处理是一门技术基础课程,实验是该课程教学的重要内容,是理论联系实际的重要手段。
学生通过实验,可以验证和巩固所学的理论知识,掌握数字信号处理实验的基本技能,提高分析和解决实际问题的能力,培养认真、严谨、实事求是的工作作风。
我们根据当前通信类新课程体系的流行趋势,充分考虑通信工程类专业的特殊要求,编写了这门实验课程指导书。
在内容安排上,我们在自身的教学基础上,吸收了兄弟院校的先进经验。
我们把重点放在对学生理论联系实际、分析和解决问题能力的训练上,力求丰富实验内容,简化实验方法与步骤,化抽象为具体,让学生通过实验能够举一反三,融会贯通,提高信息处理和信息加工的能力,为以后在信息领域的发明和创造打下牢固的基础。
在实验的具体编排上,我们按照循序渐进的原则,逐步加深实验内容,注意前后实验之间的连贯性,强化基本实验技能的培养,保证实验内容的丰富性、生动性,增强学生对数字信号处理实验课程的兴趣。
目录实验一信号的谱分析 (1)实验二基-2FFT算法的软件实现 (6)实验三 IIR数字滤波器的设计 (12)实验四 FIR数字滤波器的设计 (16)实验一 信号的谱分析一、实验目的1、熟练掌握快速离散傅里叶变换(FFT )的原理及用FFT 进行频谱分析的基本方法;2、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;3、进一步了解离散傅里叶变换的主要性质及FFT 在数字信号处理中的重要作用。
二、基本原理1、离散傅里叶变换(DFT )及其主要性质DFT 表示离散信号的离散频谱,DFT 的主要性质中有奇偶对称特性,虚实特性等。
通过实验可以加深理解。
例如:实序列的DFT 具有偶对称的实部和奇对称的虚部,这可以证明如下: 由定义∑-==10)()(N n knNW n x k X∑∑-=-=-=1010)2sin()()2cos()(N n N n kn N n x j kn N n x ππ ∑-=-=-10)()()(N n nk N NW n x k N X∑-=-=1)(N n kn NNnW Wn x∑-=-=10)(N n knN W n x∑∑-=-=+=1010)2sin()()2cos()(N n N n kn N n x j kn N n x ππ)(*)(k N X k X -=∴对于单一频率的三角序列来说它的DFT 谱线也是单一的,这个物理意义我们可以从实验中得到验证,在理论上可以推导如下: 设:)()2sin()(n R n N n x N π=其DFT 为:∑-=-=102)()(N n kn Njen x k X πkn Nj N n e n N ππ210)2sin(--=∑=kn N j N n n Nj nN j e e e j πππ21022)(21--=-∑-=∑-=+----=10)1(2)1(2)(21N n k n Nj k n N j e e j ππ从而∑-=-=-=10220)(21)0(N n n Nj nN j e e j X ππ∑-=--==-=10422)1(21)1(N n n Nj N j j N e j X π0)2(=X0)2(=-N X22)(21)1(102)2(2N j j N e e j N X N n n j n N N j =-=-=-∑-=--ππ以上这串式中)0(X 反映了)(n x 的直流分量,)1(X 是)(n x 的一次谐波,又根据虚实特性)1()1(X N X -=-,而其它分量均为零。
实验一 DSP教学实验系统与集成开发环境入门一、实验目的1、熟悉CCS集成开发环境,掌握工程的生成方法;2、熟悉SEED-DTK BPD实验环境;3、掌握CCS集成开发环境的调试方法;4、了解数在计算过程中的定标,掌握数的定点、浮点表示方法,定点、浮点基本运算以及定点、浮点间的相互转换。
二、实验设备(仪器)计算机;DSP仿真器;SEED-DTK BPD型DSP实验箱三、实验内容1、DSP源文件的建立;2、DSP程序工程文件的建立;3、编译与链接的设置,生成可执行的DSP文件;4、进行DSP程序的调试与改错;5、学习使用CCS集成开发工具的调试工具;6、观察实验结果;四、实验步骤1、打开CCS 集成开发环境,进入CCS的Simulator操作环境。
2、新建源文件创建一个未知名的源文件编写源代码并保存保存源程序名为DTK_BPD_MATH.c创建其他源程序(如.cmd)可重复上述步骤3、建立新工程,打开CCS,点击Project-->New,创建一个新工程工程名及路径可任意指定。
这里新建一个名为DTK_BPD_MATH.pjt的工程,路径为C:\tic2000\myprojects\DTK_BPD_MATH。
点击Project,选择add files to project,添加DTK_BPD_MATH.c、math.cmd、rts2800_ml.lib 文件到工程中。
在下面窗口中可以看到DTK_BPD_MATH.c、math.cmd、rts2800_ml.lib文件已经加到工程文件中。
4、设置编译与连接选项设置相应的编译参数,一般情况下,按默认值就可以。
设置连接顺序,注:当使用rts2800_ml.lib 时将其放在最后。
点击Project-->Build all,对工程进行编译,如正确则生成DTK_BPD_MATH.out;若是修改程序,可以使用Project->Build命令,进行编译连接,它只对修改部分做编译连接工作,可节省编译与连接的时间。