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