西电DSP上机实验报告(共37页).doc
《西电DSP上机实验报告(共37页).doc》由会员分享,可在线阅读,更多相关《西电DSP上机实验报告(共37页).doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上DSP上机实验报告学号:姓名: 刘洋目录实验一 VISUAL DSP+的使用入门-2实验二 用SIMULATOR模拟数字信号处理-9实验三 信号数据采集与谱分析-20实验四 数字信号采集-25实验五 数据采集与谱分析-32实验六 实现信号自相关的计算-33实验七 实现数据采集与滤波处理-34大作业 DSP学习心得及发展趋势-37实验一 VISUAL DSP+的使用入门一、实验目的 实验一的主要目的是熟悉VISUAL DSP+的开发环境。针对ADSP21065L SHARC DSP,利用几个用C、C+和汇编语言写成的简单例子来描述 VISUAL DSP十编程环境和调试器
2、(debugger)的主要特征和功能。 二、实验内容实验一:启动Visual DSP+,建立一个用C源代码的工程(Project),同时用调试器来评估用C语言所编写代码的性能;实验二:创立一个新的工程,修改源码来调用一个汇编(asm)程序,重新编译工程,用调试器来评估用汇编语言所写程序的性能;实验三:利用调试器的绘图(plot)功能来图形显示一个卷积算法中的多个数据的波形;实验四:利用调试器的性能统计功能(Statistical profile来检查练习三中卷积算法的效率。利用所收集到的性能统计数据就能看出算法中最耗时的地方。三、实验步骤及结果编译时的各种状态信息实验一: C代码例子1、进入
3、Visual DSP,显示Visual DSP+的集成开发和调试环境窗口(Integrated Development and Debugger Environment,简称IDDE)。2、选择菜单File 中Open 打开ProjectE:floatunit_1dot_product_c dotprodcdpj。(注:练习中将float压缩包解压于E盘)3、在菜单 Project中选择 Build Project来对工程进行编译 。在本例子中,编译器会检测到一个未定义的错误,显示为:“dotprod_main.c”,line 115:error 20:identifier“itn”is un
4、defined itn i;双击该行文字,光标会自动定位出错行,再该行中将“itn”改为“int”,重新编译后没有错误。这时工程已被成功编译,此时在菜单Debug中点击Run,则进入调试状态。4、调试无误后,再菜单中选择ToolLinear ProfilingNew Profile,在弹出的对话框中,进行如下图的参数设置:实验结果如下:实验二:运行C和汇编混合程序1、从菜单Project Group中选取Add New Project项,在弹出的工程保存对话框中,将工程名定义为 Newproject,并保存在E:floatunit_1dot_product_asm目录下。2、选取菜单Proje
5、ctAdd to Projectfile(s)项,按住Ctrl键来同时选中dotprod_main.c,dotprod.c,dotprod_funcasm和dotprodasm.ldf文件,点击“Add”将这几个文件加到工程中,然后进行编译,本例中有一个错误,此错误处于 dotprodam.ldf 源文件中,具体位置为INPUT_SECTIONS(dotprod.doj(seg_pmco)dotprod.doj(pm_codel)dotProd.doj(pm_code2)dotProd.doj(pm_code3),将上语句改为INPUT_SECTIONS(dotprod.doj(seg_pmc
6、o)dotprod.doj(pm_codel)dotProd_func.doj(pm_code2)dotprod.doj(pm_code3),重新进行编译,无误后进行调试。3、在菜单中选择ToolLinear ProfilingNew Profile,在弹出的对话框中,进行如下图的参数设置:Visual DSP+的Project 选项卡实验结果如下:实验结果分析:分析实验一和实验二的实验结果,发现对于完成同一种功能,相对于C语言,汇编语言运算效率更高。实验三:1、在菜单中选择FileE:floatunit_1convolution debugconvolutiondxe。并在随后的源文件对话框
7、中选择文件convolution.cpp。可以在C代码源文件中看到四个全局数组:Table、Input、Output和Impulse。2、编译调试无误后,可以完成绘图工作,具体操作如下:ViewDebug WindowsPlotNew则可弹出绘图对话框,再本例中进行如下的参数设置:实验结果如下:实验四:(1) 在菜单中选择FileE:floatunit_1convolution debugconvolutiondxe。并在随后的源文件对话框中选择文件convolution.cpp。(2) 打开Liner Profiling窗口,然后对程序进行编译调试,则可在Liner Profiling窗口中
8、展现出卷积程序的执行情况。实验结果如下:实验二 用SIMULATOR模拟数字信号处理一、实验目的了解如何利用SIMULATOR实现基本的信号处理方法。二、实验内容实验一:时域卷积运算 实验二:DFT运算 实验三:时域相关运算 实验四:利用相关函数计算信号的功率谱 三、实验步骤及结果实验一:1、在菜单中选择FileE:floatunit_2Convconv.asm.将输入文件改为VAR inputxLENGTH_X= pulse1.dat; VAR inputyLENGTH_Y= sin64.dat;2、在菜单中选择ViewDebug WindowPlotNew进行绘图,分别作出inputx,i
9、nputy,output的图像。实验结果如下:实验结果分析:两个序列卷积,卷积后系列的长度为原来两序列长度的和再减一,所以在画图设置中,应该注意输出output的长度。实验二:1、启动运行VisualDSP+,在菜单中建立一个新的session,即进行一下操作:SessionNew SessionADSP-21062 SHARK Presessor.2、将位于将 E:floatunit_2DFT_MOD目录下的源文件调入到开发环境中。 3、编译程序前,在下述程序行中将输入数据文件改为square64.dat即.VAR inputN= square64.dat。4、对程序进行编译,并在绘图窗口中
10、观察结果。实验结果如下:实验三:1、调入程序,在菜单中执行以下操作:FileOpenProjectE:unit_2CorrCorr.asm.2、选择数据文件,将输入数据inputx改为trig64,inputy改为trig64,可得三角波的自相关函数。3、将输入数据inputx改为trig64,inputy改为sin64,可得三角波与正弦波的互相关函数。4、编译程序,并用绘图窗口绘图。实验结果如下:实验结果分析:设原函数是f(t),则自相关函数定义为R(t)=f(t)*f(-t),其中*表示卷积;设两个函数分别是f(t)和g(t),则互相关函数定义为R(u)=f(t)*g(-t),它反映的是两
11、个函数在不同的相对位置上互相匹配的程度。实验四:1、调入程序,在菜单中执行以下操作:FileOpenProjectE:unit_2psdpsd.asm.2、选择数据文件,将输入数据inputx改为square32,inputy改为square32,可得方波的自相关谱。3、将输入数据inputx改为square32,inputy改为trig32,可得方波与三角波的互相关谱。4、编译程序,并用绘图窗口观察输出结果。实验结果如下:实验结果分析:练习一:由冲击函数卷积的性质可知,单位冲击函数与正弦波函数卷积的结果是对正弦波函数进行平移,多个冲击函数与其卷积则是进行平移叠加。练习二:由方波的DFT的性质
12、可知,方波的DFT变换结果是抽样函数,其实部位偶函数,虚部为奇函数。练习三:由信号的相关可以用信号的卷积表示,只有当两个信号完全一样时,其相关结果才会出现一个比较大的峰值(相关峰(两个信号完全重合时的卷积值最大)所以三角波的自相关结果会出现一个大的相关峰(三角波的峰值和峰值重合时)和两个小的峰值(由于信号时“偶对称”的),还有一个波谷(说明此时的两个信号相关性最弱),同理三角波和正弦波的互相关结果则是,当正弦波的波峰与三角波的波峰相重合是的相关值最大,而正弦波的波谷和三角波的波峰重合时相关值最小,相关性最大。练习四:由维纳-欣钦(Wiener-Khintchine)定理可知,功率有限信号的功率
13、谱函数与自相关函数构成一对傅里叶变换,功率有限信号的互功率谱函数与互相关函数构成一对傅里叶变换。实验结果中的方波自相关函数的DFT变换对应其功率谱函数,方波与三角波的互相关函数的DFT变换对应其互功率谱函数。通过加窗与不加窗信号的FFT结果我们可以看出,加窗后其信号的能量发散了,使得频谱展宽,波动更加剧烈,还造成了一定的频谱混叠(三角波对比明显),主要是因为信号加窗截断所引起的频谱泄露和谱间干扰。实验三 信号数据采集与谱分析一、实验目的1、让学生了解信号的自相关知识。2、让学生理解离散傅立叶变化的原理,掌握DFT的快速算法,同时了解连续信号的采样后的频谱,加深对数字信号处理理论的理解。二、实验
14、内容1、利用ADSP21065L-EZ-KIT评估板的硬件资源,通过板上codec对输入信号进行采样,取出其中一段数据,然后计算其自相关。计算结果可以通过主机用VisualDSP+的plot功能描绘出来,也可以用示波器实时查看。 2、利用ADSP21065L的评估板的硬件资源,完成对信号的采样与FFT变换输出。输出结果可以从示波器上实时地观察到,也可以利用VisualDSP+的plot功能描绘出来。 三、实验步骤及结果自相关:1、连接硬件 关闭PC机的电源,按照硬件连接图正确连接各个硬件设备,检查EZ-KIT板上的跳线位置是否正确,按照硬件连接图检查确保正确连接各个硬件设备。 2、加电和启动程
15、序 检查无误后,分别打开PC机、信号源、评估板和示波器的电源,运行VisualDSP+,新建一个工程,工程名称自定义,正确设置工程的各个选项,将DSP_expunit_3acorr目录下的源文件(acorr.C、065L_hdr.asm、Buffers.asm和acorr.ldf)加入到工程中。3、选择或者建立正确的会话类型 按照要求选择或者建立EZ-KIT类型的会话。4、编译链接和观察结果 编译链接该工程,没有错误后运行程序。必须注意在Settings菜单中有几项必须正确设置,设置和运行EZ_KIT板方法请上节的有关内容。正确的设置Settings后,才可以从示波器上看到输出结果。 在程序中
16、恰当位置设置断点(如sample_code函数中的 data_count=0程序行),可以利用VisualDSP+的PLOT功能观察采样数据和相关结果。5、改变信号类型再观察 调节信号发生器,利用示波器监视其输出幅度为0.5-1Vpp,频率为1-2kHZ。分别产生正弦波和三角波,观察并记录示波器上的输出结果,或者利用VisualDSP+的Plot功能进行观察和记录。谱分析:1、连接硬件 断开所有电源,连接好信号源,EZ-KIT板,微机,示波器等。检查EZ-KIT板上的跳线位置是否正确,确保正确连接各个硬件设备。2、加电和启动程序 检查无误后,分别打开PC机、信号源、评估板和示波器的电源,启动V
17、isualDSP+,新建一个工程,工程名称自定义,正确设置工程的各个选项,将DSP_expunit_3Fft目录下的源文件(Fft.C、065L_hdr.asm、Buffers.asm和Fft.ldf)加入到工程中。或者打开 hardFft目录下已经存在的工程FFT.dpj。3、按照要求选择或者建立EZ-KIT类型的会话。4、编译链接运行程序 编译链接该工程,没有错误后运行程序。运行程序前,必须注意在Settings菜单中有几项必须正确设置,正确的设置Settings后,才可以从示波器上看到输出结果。 在程序中恰当位置设置断点(如main函数中的 rfft256程序行,利用VisualDSP+
18、软件的Plot功能,分别绘制data和tempdata两个变量的数值,同样可以观察采样后的信号和FFT变换之后的结果。5、改变信号再观察 调节信号发生器,利用示波器监视其输出幅度为0.5-1Vpp,频率为1-2kHZ。分别产生正弦波、方波和三角波,观察并记录示波器上的输出结果,或者利用VisualDSP+的Plot功能进行记录。6、改变窗函数再观察 修改源程序中 main() 函数中的windows变量的值,让其等于1(对应于Hamming窗和Blackman窗),重新编译运行程序,重复步骤4),观察、记录实验结果,对实验结果作出比较,并得出结论。实验结果:正弦未加窗:正弦加窗:三角波未加窗:
19、三角波加窗:方波未加窗:方波加窗:实验结果如下:实验结果分析: 单个矩形波的FFT为Sa函数,矩形序列相当于是单个矩形脉冲与周期脉冲序列的卷积得到的,由数字信号处理的知识可以知道,时域卷积对应于频域相乘。由于周期脉冲序列的DFT仍为周期脉冲序列,只是相邻脉冲间隔变为原来的倒数分之一,所以卷积结果在频域是Sa函数与周期脉冲序列的乘积,即对Sa函数的取样。未加窗时,矩形序列的FFT是离散化的Sa函数。加窗后的时域的矩形序列相当于在原矩形序列上乘了一个窗函数,根据数字信号处理的知识,可以知道时域乘积对应于频域的卷积,所以在频域上加窗矩形序列的FFT是Sa函数与窗函数FFT的卷积。实验四 利用ADSP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 上机 实验 报告 37
限制150内