DSP技术及应用实验指导书(李天倩)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验一DSP的常用指令实验一、实验目的和任务1、熟悉CCS编程环境及TMS320C54xDSP的基本算术运算指令。2、了解TMS320C5402的存储空间分配。3、进行DSP的基本编程调试。二、实验内容用CCS编程环境进行DSP的基本算术运算指令的编程调试。三、实验仪器、设备及材料安装有WINDOWS98以上操作系统和CCS2.0(`C5000)的计算机。四、实验原理借用计算机的资源仿真DSP的内部结构,以学习DSP的基本编程。五、主要技术重点、难点主要技术重点:CCS编程环境,TMS320C5402的存储空间分配,DSP的基本算术运算指令。主要技术难点:DSP的基本算术运算指令的运用。六、实验步骤1、鼠标左键双击桌面“SetupCCS2('C5000)”图标启动CCSSetup,鼠标左键依次单击“C5402Simulator”,“Import”,“SaveandQuit”,“是(Y)”启动CCS,在[Project]-[Open]菜单中打开ex1.pjt;2、在左边树状列表框内双击[Project]展开目录树,双击[ex1.asm]打开源程序文件,参考程序中的注释仔细阅读源程序;3、在[Project]-[Build]菜单中编译项目文件,编译成功后在下端的状态窗口中显示BuildComplete,0Errors,0Warnings;4、在[File]-[LoadProgramm]中加载输出执行代码文件ex1.out,选择[View]-[[Disassembly]。此时,反汇编(Disassembly)窗口将显示在前端,当前PC指针为0000:2080(黄色箭头指示),指令代码将以汇编语言方式显示,可以在反汇编窗口中点击鼠标右键,在弹出菜单中选择[Properties]-[DisassemblyOptions]打开反汇编选项对话框,在[DisassemblyStyle]选项中选择[Algebraic],以算术语言方式显示指令代码(注意:此时可能标号显示异常,按PageUP再按PageDown即可刷新显示);5、选择[View]-[CPURegisters]-[CPURegister](或点击左边工具栏的快捷按钮)打开处理器映射寄存器窗口;6、选择[View]-[Memory](或点击左边工具栏的快捷按钮),在弹出的[WindowsMemoryOptions]对话框的Address文本框中输入0x0260,Page下拉框中选中Data,确定后将打开数据存储器查询窗《DSP技术及应用》实验指导书-1-口,此时数据存储器地址0x0260~0x0263将对应ex1.asm中声明的标号DAT0~DAT3;7、调整[Disassembly][memory][CPURegisters]三个窗口的大小,以便于观察;8、依次把光标移动到反汇编(Disassembly)窗口中标号为bk?(?表示从0开始的整数)的标号行下的指令处,点击鼠标右键,在弹出菜单选择[Togglebreakpoint](或者点击快捷按钮)设置断点,断点设置后,该行前显示红色圆点;9、选择[Debug]-[Run](也可以按快捷键F5或点击快捷按钮)执行程序;10、程序将在第一个断点bk0处停止,在处理器映射寄存器窗口和数据存储器查询窗口中双击相应操作数的内容,即可进行修改(注意:如步骤6所述,DAT0~DAT3对应地址为0X0260~0X0263),试修改下一条指令操作数的内容,然后按F10单步执行程序,再在处理器映射寄存器窗口中或数据存储器查询窗口中观察指令执行结果;11、重复执行9步骤,依次观察并记录加法指令(结果:A)、减法指令(结果:A)、乘法指令(结果:A)、除法指令(结果:DAT2:商;DAT3:余数)、平方指令(结果:A)以及3数累加宏指令(结果:DAT3)的执行结果;12、以上指令执行完毕后,程序转到bk0处,可再次进行熟悉运算控制的实验。13、修改[ex1.asm],使DAT0=组号(ST#组号,DAT0),重复上述操作,记录加法指令、减法指令、乘法指令、除法指令、平方指令以及3数累加宏指令的执行结果。七、实验报告要求1、对于实验内容1-10,12仅作练习;2、对于实验内容11、13要给出执行结果;3、实验报告按规定格式填写,要求如下:(1)实验步骤根据自己实际操作填写;(2)各小组实验数据不能完全相同,否则以缺席论处;八、实验注意事项实验结束,实验数据交指导教师检查,得到允许后可以离开,否则以缺席论处。九、思考题试运用TMS320C54xDSP基本运算指令编写程序计算221100xaxaxay《DSP技术及应用》实验指导书-2-实验二数字振荡器实验一、实验目的和任务1、进一步熟悉CCS编程环境和DSP的基本编程调试。2、学习数字振荡器的DSP实现原理。3、学习使用C语言完成源程序的编写。二、实验内容1、复习数字振荡器原理通常情况下我们更关心的是频率,设fd为输出正弦波频率,fs为采样频率,这样将上面公式条件写成频率形式为:A=2*cos(wT)=2*cos(2*π*fd/fs)B=-1C=sin(wT)=sin(2*π*fd/fs)(k=2)y[k]=Ay[n-1]+By[n-2]2、设计一个数字振荡器,在采样率为100KHz情况下输出正弦波频率为5KHz,根据推导出来的公式计算出程序中常数A、B和C(用Windows附件中计算器[科学型]),填入程序相应处,并利用CCS绘出输出波形。)(21)sin(jxjxeejxSin(x)指数形式正弦序列可写为)sin(][kwTkx经过z变换kjkwTjkwTkzeejzx)(21)(01)cos(2)sin(2wTzzwTzBAzzCz2在|Z|1时成立,A=2cos(wT),B=-1,C=sin(wT)设H(z)将上面的公式写成差分形式初始条件:k=0y[0]=0k=1y[1]=CK=2y[k]=Ay[n-1]+By[n-2]BAzzCz2]1[]2[]1[][kCxkBykAykyA=2cos(wT),B=-1,C=sin(wT)《DSP技术及应用》实验指导书-3-程序:#defineMAX_POINT64//定义缓冲区大小inty[MAX_POINT];//用来存储输出序列的区voidgetSineWave(void);intmain(void){getSineWave();while(1);}voidgetSineWave(void){intA;intB;intC;inti;longrt;longx1,x2,x0;A=;//2*cos(2*pi*fd/fs)*32768/2B=;//-1*32768/2C=;//sin(2*pi*fd/fs)*32768/2x2=00;x1=C;for(i=0;iMAX_POINT;i++){y[i]=x2;rt=A*x1+B*x2;x0=(rt14);x2=x1;x1=x0;}}三、实验仪器、设备及材料安装有WINDOWS98以上操作系统和CCS2.0(`C5000)的计算机。四、实验原理借用计算机的资源仿真DSP的内部结构,以学习数字振荡器的DSP实现。五、主要技术重点、难点主要技术重点:数字振荡器的DSP实现原理;使用C语言完成源程序的编写;DSP的C语言源程序调试。主要技术难点:数字振荡器的DSP实现原理。六、实验步骤1、鼠标左键双击桌面“CCS2('C5000)”图标启动CCS;选择[Project]-[New]创建工程。在ProjectCreation对话框Project栏填工程文件名sin1,Location栏填保存路径。《DSP技术及应用》实验指导书-4-2、选File-New-SourceFile新建一个c文件,输入实验内容2中程序(常数A、B、C填计算结果)并选File-Save保存为sin.c。3、选Project-AddFilestoProject添加文件,需要添加的文件有:C:\ti\c5400\cgtool\lib\rts.lib和2中创建的sin.c文件。4、使用Build选项完成编译、连接,然后使用Fille菜单中的LoadProgram将生成的sin1.out文件装入。这时CCS将显示程序的起始地址_c_int00。5、选Debug-Gomain找到主函数,在“while(1);”语句处增加一个断点。6、选View-Graph-Time/Frequency…打开图形显示设置窗口;在弹出的对话框中按下图设置,主要修改“GraphTitle”为“Sin”,“StartAddress”为y,“DisplayDataSize”为64,“AcquisitionBufferSize”为64,“DSPDataType”为“16-bitsignedinteger”。将在图形显示窗口显示输入序列的64点波形。7、按F5键启动程序运行。观察记录输出波形。输出波形记录方法:用PrintScreen键记录当前屏幕,打开Windows的附件中画图工具,选“编辑-粘贴”,然后剪选所需的输入输出序列波形图,粘贴至Word文档,打印贴于实验报告。七、实验报告要求1、实验步骤按实验内容指导进行;2、对于实验内容1仅作了解;3、对于实验内容2要给出程序和CCS输出波形;4、实验报告按规定格式填写,要求如下:(1)实验步骤根据自己实际操作填写;(2)各小组实验数据不能完全相同,否则以缺席论处;八、实验注意事项实验结束,实验数据交指导教师检查,得到允许后可以离开,否则以缺席论处。九、思考题重新设计和实现一个数字振荡器,采样频率改为20KHz,输出正弦信号的频率为4KHz。《DSP技术及应用》实验指导书-5-实验三FIR滤波器的DSP实现一、实验目的和任务1、学会用MATLAB设计FIR数字滤波器的系数。2、学会用DSP实现所设计的FIR数字滤波器。3、巩固DSP的基本编程调试。二、实验内容用MATLAB设计FIR数字滤波器的系数,在CCS编程环境下用DSP实现所设计的FIR数字滤波器,并编程调试。三、实验仪器、设备及材料安装有WINDOWS98以上操作系统和CCS2.0(`C5000)的计算机。四、实验原理借用计算机的资源仿真DSP的内部结构,以学习用DSP实现数字信号处理基本算法。五、主要技术重点、难点主要技术重点:用MATLAB设计FIR数字滤波器的系数,用DSP实现所设计的FIR数字滤波器。主要技术难点:用DSP实现所设计的FIR数字滤波器。六、实验步骤1、用MATLAB设计FIR数字滤波器的系数:(1)在Matlab命令窗口中输入b=fir1(8,0.4)并回车,以设计一个FIR低通滤波器,其阶数为8,截止频率为0.4,采用汉明窗;(注:命令中1是123的1)(2)记录命令窗口中生成的滤波器系数b;(3)在Matlab命令窗口中输入freqz(b,1,512)并回车,以求出所设计的FIR低通滤波器的幅频响应和相频响应,并记录;(注:1是123的1)2、用DSP实现1中所设计的FIR数字滤波器(1)启动CCS,在Project选项中打开fir.pjt。(2)使用Build选项完成编译、连接,然后使用Fille菜单中的LoadProgram将生成的fir.out文件装入。(3)选Debug-Gomain找到主函数,在“while(1);”语句处增加一个断点。(4)选View-Graph-Time/Frequency…打开图形显示设置窗口;在弹出的对话框中按下图设置,主要修改“GraphTitle”为“Input_x”,“StartAddress”为x,“DisplayDataSize”为128,“AcquisitionBufferSize”为128,“DSPDataType”为“32-bitIEEEfloatingpoint”。将在图形显示窗口显示输入序列的128点波形。(5)选View-Graph-Time/Frequency…打开图形显示

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功