dsp实验报告.docx
《dsp实验报告.docx》由会员分享,可在线阅读,更多相关《dsp实验报告.docx(19页珍藏版)》请在冰点文库上搜索。
dsp实验报告
DSP原理及应用
实验报告
学院(部):
电气与信息工程学院
班级:
电子信息1005班
学号:
学生姓名:
指导老师:
实验一CCS的使用与简单应用程序的建立
1.1实验目的
1.熟悉CCS集成开发环境,掌握工程的生成方法;
2.熟悉SEED-DEC5416实验环境;
3.掌握CCS集成开发环境的调试方法;
1.2实验内容
1.DSP源文件的建立;
2.DSP程序工程文件的建立;
3.学习使用CCS集成开发工具的调试工具;
1.3实验步骤
1.3.1创建新项目
1.打开CCS选择File→New→SourceFile命令
2.编写源代码并保存
3.保存源程序名为volume.c,选择File→Save
1.3.2添加文件到项目
1.3.3浏览源代码
#include
#include"volume.h"
/*Globaldeclarations*/
intinp_buffer[BUFSIZE];/*processingdatabuffers*/
intout_buffer[BUFSIZE];
intgain=MINGAIN;/*volumecontrolvariable*/
unsignedintprocessingLoad=BASELOAD;/*processingload*/
structPARMSstr=
{
2934,
9432,
213,
9432,
&str
};
/*Functions*/
externvoidload(unsignedintloadValue);
staticintprocessing(int*input,int*output);
staticvoiddataIO(void);
/*========main========*/
voidmain()
{
int*input=&inp_buffer[0];
int*output=&out_buffer[0];
puts("volumeexamplestarted\n");
/*loopforever*/
while(TRUE)
{
/*Readusingabreakpointconnectedtoahostfile.*/
/*Writeoutputtoagraphconnectedthroughabreakpoint.*/
dataIO();
#ifdefFILEIO
puts("beginprocessing");
#endif
/*applygain*/
processing(input,output);
}
}/*========processing========*
*FUNCTION:
applysignalprocessingtransformtoinputsignal.
*PARAMETERS:
addressofinputandoutputbuffers.
*RETURNVALUE:
TRUE.*/
staticintprocessing(int*input,int*output)
{
intsize=BUFSIZE;
while(size--){
*output++=*input++*gain;
}
/*additionalprocessingload*/
load(processingLoad);
return(TRUE);
}
/*========dataIO========*
*FUNCTION:
readinputsignalandwriteoutputsignal.
*PARAMETERS:
none.
*RETURNVALUE:
none.*/
staticvoiddataIO()
{
/*dodataI/O*/
return;
1.3.4编译并运行
选择Project→RebuildAll或者点击工具栏上的
1.3.5改变设置并修正错误
实验二CCS程序调试与数字信号处理软件仿真
2.1实验目的
1.熟悉CCS集成开发环境,掌握工程的生成方法;
2.熟悉SEED-DEC5416实验环境;
3.掌握CCS集成开发环境的调试方法;
2.2实验内容
1.编译与链接的设置,生成可执行的DSP文件
2.进行DSP程序的调试与改错
3.学习使用CCS集成开发工具的调试工具
4.观察实验结果
2.3实验步骤
首先将光盘下03.ExamplesofProgram\04.SEED_DTK-DBD调试实验程
序目录下的CCS-MATH文件夹拷贝到D:
盘根目录下。
1.将DSP仿真器与计算机连接好;
2.将DSP仿真器的JTAG插头与SEED-DEC5416单元的J1相连接;
3.启动计算机,当计算机启动后,打开SEED-DTK_DBD的电源。
观察
SEED-DTK-IO1单元的+5V,+3.3V,+15V,-15V的电源指示灯,
SEED_DEC5416的D2以及SEED-DSK2812的D2是否均亮;若有不亮的,
请断开电源,检查电源。
4.双击
图标进入CCS环境
5.点击Project→open命令,在弹出的对话框中添加DTK-MATH.pjt文件;
6.点击在工程视窗中右键GELfile,在弹出的菜单中选择LoadGEL,在弹
出的对话框中添加dtk-boot.gel文件。
7.使用projiect→Bulid命令编译当前程序。
使用projiect→Bulidall
命令编译整个工程程序。
注意:
在这个实验中,为了加深对CCS的了解,分别在编译与链接过程中,设置了的错误行。
这些错误行都是在程序调试中经常遇到的。
源程序错误:
在函数fixed_add()中的z的定义未加“;”号
函数float_add()的{}号缺右边而未完整
链接错误:
DSP的空间分配重叠
VECS:
origin=4B00h,length=0120h改为VECS:
origin=4B00h,length=0100h
在进行此实验时,只有将上述的程序错误改正后才能正确的编译与链接。
产生DTK_DBD_MATH.out。
8.按照下图所示添加.out文件,即使用File→LoadProgram菜单命
令。
.out文件一般存放在math文件下的debug文件夹中。
9.点击debug→GoMain回到C程序的入口main()函数处。
10.使用F5快捷键,运行程序,在Stdout观察窗中查看程序运行结果。
运行程序到第一个断点在STDout观察窗内看定点运算是否正确。
然后再运行程序到第二个断点,观察浮点运算是否正确;再运行程序,观察浮点与定点之间的转换是否正确。
实验三拨码开关实验
实验四A/D实验(CPU)
实验五有限冲击响应滤波器(FIR)算法实验
实验结果:
在CCS3.1环境,同步观察输入信号波形及其FIR低通滤波结果。
五、FIR程序参数说明
六、程序流程图