数字信号处理教学实践改革的研究
2017-02-27卜朝晖郭心悦
卜朝晖++郭心悦
【摘要】针对目前数字信号处理教学中存在的实践环节较抽象,不利于学生深入理解的问题,进行了教学实践方法的探索和改革。在教学实践环节中引入全新的数字信号处理开发工具DSP Builder,可以将Matlab中编写的数字信号处理算法,直接在FPGA器件中得以实现,可以实现信号的实时在线观测,使得学生对所学数字信号处理的理论知识能有更生动的体会和更深刻的理解,增强学生的学习兴趣,提高学生理论联系实践的能力。
【关键词】数字信号处理 DSP Builder 教学实践环节
【基金项目】论文由“上海理工大学‘精品本科系列研究项目”专项资助。
【中图分类号】G642.0 【文献标识码】A 【文章编号】2095-3089(2016)35-0231-01
数字信号处理是一门的重要专业基础课,由于理论性很强、比较抽象,对于听课的学生和授课的教师均是一个难点。为了能让学生深入的体会和学好数字信号处理的理论知识,教学实践环节是必不可少的。
1.数字信号处理教学实践环节的现状
目前在数字信号处理课程的教学实践环节中,较为普遍的是采用MathWorks公司的数学分析软件Matlab,学生通过Matlab软件编程对数字信号处理的理论知识进行仿真和验证,这种通过纯粹软件编程进行仿真验证的实践方法仍然是比较抽象的,不利于学生对所学知识的深入理解,也不利于理论联系实践。
国内一些高校开始采用Matlab编程与可编程逻辑器件相结合的方法来进行该课程的实践教学,这种将软、硬件平台相结合的方法是一个很好的尝试,但它需要学生在熟悉可编程逻辑器件的基础上,熟练进行硬件描述语言(HDL,hardware description language)的编程,这样就容易使学生在掌握软件使用和熟悉硬件平台等方面花费过多的时间,从而忽视了对数字信号处理课程本身一些重要理论和概念的理解与掌握,达不到教学实践目的。因此,需要对本课程教学实践的方法进行探索和改革。
2.教学实践方法的改革
2.1教学实践方法的思路探索
需要找到一种简单易行的方法,使得数字信号处理的理论算法可以在硬件上得以实现,并且可以通过嵌入式测量软件(如:QuartusII中的SignalTapII Logic Analyzer)对信号的处理结果进行实时在线观测,那么学生必然会对所学的理论知识能有更生动的体会和更深刻的理解,增强学生的学习兴趣,提高学生理论联系实践的能力。
鉴于学生在前期课程中已学习过可编程逻辑器件FPGA的相关知识,而FPGA是一种实现数字信号处理的通用硬件器件,如果能够通过一种简单的操作将数字信号处理的理论算法在FPGA器件中得以直接实现,那么就能起到事半功倍的学习效果。
2.2 DSP Builder工具软件的特点
在数字信号处理中Matlab是用作算法开发和仿真的软件,而DSP Builder通过Matlab中的Simulink模块将Matlab的算法开发和仿真与硬件描述语言(HDL)的综合、仿真和Altera开发工具整合在一起,实现了这些工具软件的集成,从而使学生在进行系统级设计、算法设计和硬件设计时共享同一个开发平台,并且不需要过多关注硬件设计方面的知识和硬件描述语言的编程,同时,DSP Builder是作为Matlab中Simulink模块的一个工具箱出现[1],使得学生可以通过Simulink图形界面调用DSP Builder工具箱中的提供Altera知识产权核(IP core, intellectual propert core)MegaCore进行DSP系统设计,因此学生只需要掌握Simulink的使用即可,并不需要花过多的精力熟悉DSP Builder的使用。
2.3 DSP Builder应用于教学实践
应用DSP Builder在教学实践中进行基于FPGA的DSP系统开发,整个设计流程是基于Matlab的Simulink模块,DSP Builder和QuartusII的,包括从系统描述到硬件实现都可以在一个完整的设计环境中完成,构成了一个自顶向下的设计流程。它主要分为以下几步[2, 3]:
(1)利用Simulink模块、DSP Builder模块以及IP核模块Matlab的Simulink模块中对DSP系统进行建模,只需双击系统中的模块就可以对该模块进行参数设置,同时可以基于Simulink平台仿真验证所搭建DSP系统的功能。
(2)利用DSP Builder具箱中的Signal Compiler模块,将Simulink模块文件(.mdl)转换成RTL级的VHDL硬件描述语言代码描述以及用于综合、仿真、编译的TCL脚本。
(3)在得到VHDL文件后,设计者仍然可以通过Signal Com?鄄piler自动调用综合工具和编译工具。目前DSP Builder自动流程中支持的综合器有QuartusII, Synplify和Leonardo Spectrum。综合后产生的网表文件送到QuartusII中进行编译优化,最后生成编程文件和仿真文件,即利用生成的POF和SOF配置文件对目标器件进行编程配置和硬件实现,同时生成可分别用于QuartusII的门级仿真文件和Modelsim的VHDL时序仿真文件以及配套的VHDL仿真激励文件,可用于实时测试DSP系统的工作性能。另外,设计者也可以在Simulink外手动调用其他綜合工具和编译工具。
(4)针对第二步中生成的VHDL,利用自动生成的Modelsim的TCL脚本和仿真激励文件所做的仿真为功能仿真,而当由QuartusII编译后生成的VHDL仿真激励文件和Modelsim的TCL脚本进行的仿真为时序仿真。
(5)最后将QuartusII生成的配置文件下载到目标器件中,形成DSP硬件系统。
2.4教学实践的实施步骤
(1)教授学生使用DSP Builder进行基于FPGA的DSP系统开发的过程。
(2)设计出利用DSP Builder进行数字信号处理教学实践的典型题目。
(3)让学生将Matlab中编写的数字信号处理算法,直接在FPGA器件中得以实现。
(4)对信号的处理结果进行实时测试,解决数字信号处理中的实际问题,切实做到理论联系实践。
3.教学实践的效果
在数字信号处理的教学实践中,应用DSP Builder在FPGA器件上实现数字信号处理的算法,使学生在设计过程中摆脱了繁琐的具体硬件设计,将更多的精力关注在数字信号处理算法设计的实现上,对所学数字信号处理的理论知识能有一个更生动的体会和更深刻的理解,增强学生的学习兴趣,提高学生理论联系实践的能力,取得了良好的教学效果。
参考文献:
[1]杨守良. Matlab/simulink在FPGA设计中的应用[J]. 微计算机信息,2005(8):[98].
[2]王前,李韬. 基于DSP Builder实《现数字信号处理》实验教学新方法[J].实验技术与管理,2005(9):[75].
[3]Altera, Corp. Dsp Builder User Guided[S].