西安电子科技大学数字信号处理(DSP)课程实验报告实验名称VISUALDSP++的使用入门电子工程学院1402071班姓名张吉凯学号14020710021同作者崔健孟智超杨伟祺实验日期2017年5月16日指导教师评语:指导教师:年月日实验报告内容基本要求及参考格式一、实验目的二、实验所用仪器(或实验环境)三、实验基本原理及步骤(或方案设计及理论计算)四、实验数据记录(或仿真及软件设计)五、实验结果分析及回答问题(或测试环境及测试结果)成绩第1页实验一:VISUALDSP++的使用入门一、实验目的:熟悉VISUALDSP++的开发环境二、实验内容:练习一:启动VisualDSP++,建立一个用C源代码的工程(Project),同时用调试器来评估用C语言所编写代码的性能;练习二:创立一个新的工程,修改源码来调用一个汇编(asm)程序,重新编译工程,用调试器来评估用汇编语言所写程序的性能;练习三:利用调试器的绘图(plot)功能来图形显示一个卷积算法中的多个数据的波形;练习四:利用调试器的性能统计功能(Statisticalprofile)来检查练习三中卷积算法的效率。利用所收集到的性能统计数据就能看出算法中最耗时的地方。三、实验步骤及实验结果:练习一:1)新建工程进入VisualDSP++,显示VisualDSP++的集成开发和调试环境窗口,选择菜单File中Open打开文件:…\unit_1\dot_product_c\dotprodc.dpj。2)编译dotprodc工程在菜单Project中选择BuildProject来对工程进行编译。在本例子中,编译器会检测到一个未定义的错误,显示为:“.\dotprod_main.c”,line115:error#20:identifier“itn”isundefineditni;将该错误改正后,保存并重新编译,没有错误出现,编译成功。3)运行VsualDSP++调试器在编译完成后,环境将自动进入调试状态,对于初次进入debugger,将显示对象选择对话框,在其中指定对象和处理器信息。4)运行dotprod.c从Debug菜单中选择Run项,程序将被执行,其输出结果在Outputwindow中显示。第2页图1.程序结果练习二:1)创建一个新的工程(project)从Project菜单中选取New项,在弹出的工程保存对话框中,将工程名定义为dot_product_asm.dpj,并保存在…\unit_1\dot_product_asm目录下。2)向dot_product工程中添加文件选中dotprod_main.c,dotprod.c,dotprod_func.asm和dotprodasm.ldf文件,将这几个文件加到工程中。3)修改工程源文件打开dotprod_main.c文件,在源代码中找到下列相应的四条语句:/*externdoublea_dot_c_asm(doublepm*,double*);*/externdoublea_dot_d(doublepm*,double*);result[l]=a-dot_c(a,c);/*result[1]=a_dot_casm(a,c);*/将这四条语句修改为:externdoublea_dot_c_asm(doublepm*,double*);/*externdoublea_dot_d(doublepm*,double*);*//*result[1]a=dot_c(a,c);*/result[l]=a_dot_c_asm(a,c);4)修改链接描述文件dotprodasm.ldf在文件中找到语句:INPUT_SECTIONS(dotprod.doj(seg_pmco)dotprod.doj(pm_codel)dotProd.doj(pm_code2)dotProd.doj(pm_code3))将其修改为:INPUT_SECTIONS(dotprod.doj(seg_pmco)dotprod.doj(pm_codel)dotProd_func.doj(pm_code2)dotprod.doj(pm_code3))5)编译和运行dot_product第3页图2.程序结果练习三:1)将算法程序调入Debugger环境2)打开绘图窗口并设定参数选择菜单View\DebugWindows\Plot\New…项,将出现Plot参数设置窗口。3)运行程序并在图形窗口中观察数据接F5运行程序,当程序Halt(SHIFT-F5)后,Plot窗口中将出现数据曲线如下:图3.plot曲线结果练习四:1)调用convolution程序选用菜单File\LoadProgram…命令项,在对话框中选择文件…\unit_1\convolution\debug\convolution.dxe。并在随后的源文件对话框中选择文件…\unit_1\convolution\convolution.cpp。2)打开统计特性选项选取菜单Tools\Statistical\EnableProfiling项,使其变为有效。再选取菜单View\DebugWindows\StatisticalProfilingResults项,出现StatisticalProfilingResults窗口。3)收集和检查统计特性数据按F5使程序运行到结尾。统计数据会在统计特性结果窗口中出现,窗口被分为两个部分,如下:第4页图4.StatisticalProfilingResults窗口四、实验结果分析:分析练习一和练习二的实验结果,发现对于完成同一种功能,相对于C语言,汇编语言运算效率更高。分析练习三和练习四的实验结果,发现卷积算法中CalculateOutputPulse单元最耗时。西安电子科技大学数字信号处理(DSP)课程实验报告实验名称用SIMULATOR模拟实现卷积运算和谱分析电子工程学院1402071班姓名张吉凯学号14020710021同作者崔健孟智超杨伟祺实验日期2017年5月16日指导教师评语:指导教师:年月日实验报告内容基本要求及参考格式一、实验目的二、实验所用仪器(或实验环境)三、实验基本原理及步骤(或方案设计及理论计算)四、实验数据记录(或仿真及软件设计)五、实验结果分析及回答问题(或测试环境及测试结果)成绩第1页实验二:用SIMULATOR模拟实现卷积运算和谱分析一、实验目的:通过两个练习来了解如何利用SIMULATOR实现基本的信号处理方法二、实验内容:练习一:时域卷积运算练习二:DFT运算三、实验步骤及实验截图:练习一:1)调入程序启动运行VisualDSP++,新建一个工程,将\unit_2\Conv目录下的源文件(conv.ASM和conv.ldf)加入到工程中,同时建立数据文件x.dat和y.dat,以及初始化文件zeros.dat。2)选择输入数据文件编译程序前,在下述程序行中将输入数据文件改为pulse1.dat和sin64.dat:.VARinputx[LENGTH_X]=pulse1.dat;.VARinputy[LENGTH_Y]=sin64.dat;3)编译程序4)观察结果按F5运行程序,然后执行菜单命令\View\DebugWindows\Plot命令,分别作出输入数据inputx[]和inputy[]与输出数据output[]的图形。第2页图1、2.三角波和正弦波和冲激5)改变数据再运行数组inputx保持为pulse1.dat,将数组inputy分别改变为数据文件square1.dat(方波)、trig64.dat(三角波)重复3),4),来考察程序的执行结果。数组inputx改变为pulse2.dat(4个冲击脉冲),将数组inputy分别改变为数据文件sin64.dat,square1.dat(方波)、trig64.dat(三角波)重复3),4),来考察程序的执行结果图3.方波和冲激第3页图4.正弦波和冲激的卷积图5.方波和冲激的卷积第4页图6.三角波和冲激的卷积数组inputx改变为square1.dat,将数组inputy改变为数据文件square2.dat(方波),重复3),4),来考察程序的执行结果。图7.卷积结果第5页练习二:1)调入程序启动运行VisualDSP++,将位于将unit_1\DFT_MOD目录下的源文件调入到开发环境中。2)选择输入数据文件编译程序前,在下述程序行中将输入数据文件改为square64.dat:.VARinput[N]=square64.dat;3)编译程序4)观察结果程序调试时,可在程序中设置多个断点,来观察输入数据x、输出数据的实部real、输出数据的虚部imag和求模后的数据mudul的值;图8.方波DFT变换后的模5)改变数据再运行数组input分别改变为数据文件trig64.dat(三角波)、noise64.dat(高斯白噪声),重复3),4),来考察程序的执行结果。第6页图9、10.三角波DFT变换后的模图22、23.高斯白噪声DFT变换后的模四、实验结果分析:练习一:由冲击函数卷积的性质可知,单位冲击函数与正弦波函数卷积的结果是对正弦波函数进行平移,多个冲击函数与其卷积则是进行平移叠加。与方波函数卷积结果同样如此。练习二:方波与三角波的频谱有差别,方波的傅里叶系数的模值│Fn│=π(π),三角波的傅里叶系数的模值│Fn│=(π)(π),这一点与波形一致。方波的长度是64则它的DFT的长度也是64,而且是复数。我们画的只是DFT的幅频特性,还有它的相频特性。西安电子科技大学数字信号处理(DSP)课程实验报告实验名称用SIMULATOR模拟实现相关运算和功率谱分析电子工程学院1402071班姓名张吉凯学号14020710021同作者崔健孟智超杨伟祺实验日期2017年5月16日指导教师评语:指导教师:年月日实验报告内容基本要求及参考格式一、实验目的二、实验所用仪器(或实验环境)三、实验基本原理及步骤(或方案设计及理论计算)四、实验数据记录(或仿真及软件设计)五、实验结果分析及回答问题(或测试环境及测试结果)成绩第1页实验三:用SIMULATOR模拟实现相关运算和功率谱分析一、实验目的:通过两个练习来了解如何利用SIMULATOR实现基本的信号处理方法二、实验内容:练习一:时域相关运算练习二:利用相关函数计算信号的功率谱三、实验步骤及实验结果:练习一:1)调入程序启动运行VisualDSP++,新建一个工程,将\unit_2\Corr2目录下的源文件加入到工程中,同时建立数据文件x.dat和y.dat,以及初始化文件zeros.dat。2)选择输入数据文件编译程序前,在下述程序行中将输入数据文件改为squre64.dat:.VARinputx[LENGTH_X]=squre64.dat;.VARinputy[LENGTH_Y]=squre64.dat;3)编译程序4)观察结果按F5运行程序,然后执行菜单命令\View\DebugWindows\Plot命令,分别作出输入数据inputx[]和inputy[]与输出数据output[]的图形。第2页图1.方波和它的自相关5)改变数据再运行将数组inputx和数组inputy同时改变为数据文件sin64.dat(正弦波)、trig64.dat(三角波)noise64.dat(高斯白噪声),重复3),4),来考察序列的自相关结果。第3页图2.正弦波和它的自相关图3.三角波和它的自相关图4.高斯白噪声和它的自相关数组inputx保持不变squre64.dat(方波),将数组inputy分别改变为数据文件sin64.dat、trig64.dat(三角波)重复3),4),来考察序列的互相关结果。第4页图5.正弦波和方波的互相关图6.三角波和方波的互相关练习二:1)调入程序启动运行VisualDSP++,新建一个工程,将\unit_2\psd目录下的源文件加入到工程中,同时建立数据文件x.dat和y.dat,以及初始化文件zeros64.dat。2)选择输