1、ADSP 技术与应用 实验报告班级 学号姓名 实验一: VISUAL DSP+的使用入门实验目的熟悉 VISUAL DSP+的开发环境。针对 ADSP21065L SHARC DSP,利用几个用 C、 C+和汇编语言写成的简单例子来描述 VISUAL DSP十编程环境和调试器(debugger)的主要特征和功能。对于运行在其它类型 SHARC 处理器的程序只需对其链接描述文件(LDF )做一些小的变化,就可用于 ADSP21065L 的硬件仿真。实验内容 练习一:启动 Visual DSP+,建立一个用 C 源代码的工程(Project) ,同时用调试器来评估用 C 语言所编写代码的性能;练习
2、二:创立一个新的工程,修改源码来调用一个汇编(asm)程序,重新编译工程,用调试器来评估用汇编语言所写程序的性能;练习三:利用调试器的绘图(plot)功能来图形显示一个卷积算法中的多个数据的波形;练习四:利用调试器的性能统计功能(Statistical profile 来检查练习三中卷积算法的效率。利用所收集到的性能统计数据就能看出算法中最耗时的地方。实验步骤练习一 C 代码例子Step l 进入 Visual DSP十并打开一个工程(Project) ;进入 Visual DSP,显示 Visual DSP+的集成开发和调试环境窗口(Integrated Development and De
3、bugger Environment,简称 IDDE) 。选择菜单 File 中 Open 打开文件:Step 2 编译 dotprodc 工程;在菜单 Project 中选择 Build Project 来对工程进行编译。此时,输出窗口显示程序编译时的各种状态信息(包括出错和编译进程信息) 。当编译检测到错误时,将在输出窗口出现相应的出错信息,用鼠标双击它,编译器将自行打开源文件。这时可对源文件编辑、修改错误,再次进行编译。当编译不再有错时,输出窗口将显示“Build completed successfully”。Step 3 运行 VsualDSP+调试器;在编译完成后,环境将自动进入调
4、试状态,对于初次进入 debugger,将显示对象选择对话框,在其中指定对象和处理器信息。Step 4 运行 dotprod.c;从 Debug 菜单中选择 Run 项,程序将被执行,其输出结果在 Output window 中显示。Step 5 评估函数 a_doc_c 的性能(profile) ;Profile 用来分析程序的运行时间特性,通过 Profile 可以找到最耗时的程序段,这可能就是需要进一步优化性能的程序段。练习二:运行 C 和汇编混合程序Step l 创建一个新的工程(project)从 Project 菜单中选取 New 项,在弹出的工程保存对话框中工程名定义为 dot_
5、product_asm.dpj,并保存在DSP_expunit_1dot_product_asm 目录下。Step 2 向 dot_product 工程中添加文件;选取菜单 ProjectAdd to Projectfile(s)项,按住 Ctrl 键来同时选中dotprod_main.c,dotprod.c,dotprod_funcasm 和 dotprodasm.ldf 文件,点击“Add”将这几个文件加到工程中。Step 3 修改工程源文件Step 4 修改链接描述文件 dotprodasmLdfStep5 编译和运行 dot_product;先选取菜单 ProjectHuild Pro
6、ject 项来编译工程;再选取菜单 DebugRun 项来运行程序。Step 6 评估 a_dot_asm 的效率练习三:数据绘图(Plotting)Step l 将算法程序调入 Debugger 环境Step 2 打开绘图窗口并设定参数;选择菜单 ViewDebug WindowsPlotNew项,将出现 Plot 参数设置窗口。Step 3 运行程序并在图形窗口中观察数据;接 F5 运行程序,当程序Halt(SHIFT-F5)后,Plot 窗口中将出现数据曲线。图中的三条曲线分别代表Table、Input 和 Output 三个数组的值练习四:性能统计(Statistical Profil
7、ing)Step l 调用 convolution 程序Step2 打开统计特性选项Step 3 收集和检查统计特性数据实验要求练习一:记录 profile 窗口中的程序执行时间数据,分析程序的执行时间练习二:记录 profile 窗口中的程序执行时间数据,将结果与练习一进行比较练习四: 记录 statistical profiling results 窗口中的数据,分析耗时最多的程序段,并且说明原因实验数据及结果分析:耗时最多的程序段含循环体较多实验二 : 用 SIMULATOR 模拟实现数字信号处理实验目的本实验主要通过四个练习来了解如何 SIMULATOR 实现基本的信号处理方法。实验内
8、容练习一:时域卷积运算练习二:DFT 运算练习三:时域相关运算练习四:利用相关函数计算信号的功率谱 实验步骤1 时域卷积运算程序中一个输入序列 X 指定到数组 inputx 中,另一个输入序列 Y 指定到数组inputy 中,卷积的输出指定到数组 output 中。根据卷积原理,两个输入序列长度为 M=N=64,输出序列长度为 M+N-1=127。Step1 调入程序:启动运行 VisualDSP+,运行菜单命令 ProjectNew 来新建一个工程,工程名称自定义,正确设置工程的各个选项,将DSP_expunit_2Conv 目录下的源文件加入到工程中,同时建立数据文件 x.dat和 y.d
9、at,以及初始化文件 zeros.dat。Step2 选择输入数据文件Step3 编译程序:分析、理解源程序,在此基础上再编译运行程序。可通过点击按钮命令或选择菜单命令 ProjectBuild Project 来完成编译。Step4 观察结果:按 F5 运行程序,然后执行菜单命令 ViewDebug WindowsPlot 命令,分别作出输入数据 inputx和 inputy 与输出数据 output的图形。Step5 改变数据再运行2 DFT 计算1)调入程序2)选择输入数据文件3)编译程序4) 观察结果5 )改变数据再运行3 时域相关计算1)调入程序2)选择输入数据文件3)编译程序4)
10、观察结果5 )改变数据再运行4 利用相关函数计算功率谱1)调入程序2)选择输入数据文件3)编译程序4) 观察结果5 )改变数据再运行实验要求(实验二的练习一)1. 利用 plot 功能,观察各种输入数据、输出数据的的波形;2. 按照实验步骤完成实验,比较给定的几种数据的卷积结果,说明几种信号卷积的差别。3. 在实验报告中记录 pulse4 和 sin64d 卷积的输入和输出数据及其波形 , 并利用数字信号处理课程所学知识分析结果。 (实验二的练习二)1 利用 plot 功能,观察输入数据 x、输出数据的实部 real 、输出数据的虚部 imag 和求模后的 modul 的波形;2 观察各种波形
11、的 DFT 运算和求模运算的结果,比较并且说明不同输入数据对应的 DFT 运算输出和求模运算输出的结果; 3 在实验报告中记录 square64 的 DFT 输入和输出数据及其波形,并利用数字信号处理课程所学知识分析结果。(实验二的练习三)1. 利用 plot 功能,观察各种输入数据、输出数据的的波形;2. 按照实验步骤完成实验,观察和比较自相关和互相关的计算结果,说明它们的差别。说明输入序列和输出序列的长度之间的关系;3. 在实验报告中记录 trig64 的自相关、它与 sin64 的互相关输入和输出数据及其波形、并利用数字信号处理课程所学知识分析结果。(实验二的练习四)1. 利用 plot 功能,观察各种输入数据、输出数据的的波形;2. 按照实验步骤完成实验,观察和比较自相关谱和互相关谱的计算结果,说明它们的差别。3. 在实验报告中记录 square32 的自相关谱、它与 trig32 的互相关谱的输入和输出数据及其波形、并利用数字信号处理课程所学知识分析结果实验数据及结果练习一练习 2练习 3互相关自相关