数字信号处理课程设计中的FPGA教学与实践
2017-12-25王国庆刘宁波
宋 杰,王国庆,刘宁波
(海军航空工程学院信息融合技术研究所,山东 烟台264001)
数字信号处理课程设计中的FPGA教学与实践
宋 杰,王国庆,刘宁波
(海军航空工程学院信息融合技术研究所,山东 烟台264001)
为了加强数字信号处理实践教学,将FPGA(现场可编程门阵列)引入到“数字信号处理课程设计”课程中,以自研的Xilinx公司的基于Spartan3系列的FPGA多功能实验箱为硬件平台,进行从基础实验、典型应用到综合设计的一系列教学实验。实践教学表明,这种实验教学模式能够培养学员综合数字信号处理方面的理论知识,解决模/数转换、数/模转换、数字信号处理、系统分析与综合方面常见实际问题的能力。
数字信号处理;课程设计;FPGA
一、引言
数字信号处理课程是电子技术类、通信类专业的一门重要的专业基础课。目前我们对本科生开设的《数字信号处理》课程大多侧重在理论技术方面,注重理论推导而忽略具体实现技术的介绍。结果导致学生在学习了数字信号处理课程之后并不能把所学的理论知识与实际的工程应用联系起来。如果将现有的《数字信号处理》课程与FPGA技术相结合,以已有的理论为基础,重点介绍数字信号处理实现平台和一些具体可用的实现算法,可促进教员教学水平的提高及学员动手能力的加强和创新意识的养成[1-5]。
我校已设立了《数字信号处理课程设计》课程,为进一步培养学生的创新实践能力,我们将FPGA引入到数字信号处理课程设计的实验教学中,精选和优化课程设计内容,使数字信号处理课程设计更具科学性和实践性。以Xilinx公司提供的集成开发工具ISE软件和实验室自研的基于Spartan3系列的FPGA多功能实验箱,作为“数字信号处理课程设计”的软、硬件平台。在此平台上,学生最终能完成从基础实验、典型应用到综合设计的一系列教学实验。通过近三届学生的教学实践,收到了良好的教学效果。
二、课程设计的目的与要求
本课程设计是《数字信号处理》课程的具体应用和实践,是《数字信号处理》课程理论知识的综合运用,其基本任务是着重提高学员在模/数转换、数/模转换、数字信号处理、系统分析与综合方面的实践技能和科学作风,培养学员综合利用理论知识解决实际问题的能力。
要求学员根据所学数字信号处理知识独立设计完成基本任务,熟悉、掌握、熟练使用FPGA开发软件,掌握模拟信号的数字化采集与产生、数字滤波和频谱分析的基本原理,运用FPGA技术对数字信号处理系统进行系统分析和综合设计。
三、课程设计的内容安排
本课程的教学内容包括FPGA设计基础、FPGA典型应用案例、综合课程设计实验三大部分内容。
第一部分FPGA设计基础介绍了可编程逻辑器件的编程器件工作原理、基本结构和电路表示方法,现代数字系统的设计方法,可编程逻辑器件的一般设计流程;FPGA的典型应用场合;主流的FPGA芯片厂家(如Xilinx和Altera等)及其市面代表产品;硬件描述语言基础 (VHDL和 Verilog);Xilinx的可编程逻辑器件设计工具ISE软件,以及基于ISE的开发设计流程。
选择合适的典型应用案例是做好数字信号处理课程设计的关键所在。通过实际教学实践,使学生利用FPGA工具开发软件来掌握信号处理系统基本原理,以及数字信号处理的设计方法。同时利用配套的仪器和设备,在FPGA多功能实验箱上完成数字信号处理的算法验证与调试。
本实验箱充分采用了模块化设计思想,具有良好的扩展性和移植性。实验箱由底板、FPGA核心板、双路A/D模块、双路D/A模块、IO模块、面包括展板等组成。其中,FPGA核心板采用Xilinx公司的Spartan3系列FPGA芯片XC3S400-PQ208,门数容量为40万门;A/D模块搭载双通道65MHz高速12位ADC,满足高速高精度数据采集需求;D/A模块搭载双通道125MHz高速14位DAC,满足高速高精度波形输出需求;I/O模块板配备了丰富的I/O设备,其中有12个LED灯 、4*4矩阵键盘、拨码开关、四位七段数码管、液晶模块(1602和12864)和蜂鸣器。
根据课程设计的目的与要求,在对多年教学实践分析的基础上,为学生提供了下列5个FPGA典型应用案例:①正弦信号发生器设计;②数字电压表设计;③数字频率计设计;④FIR滤波器设计;⑤简易数字频谱仪设计。这一部分内容是本门课程设计的重点,是在课堂上教师重点讲授的内容。首先对工作原理进行分析,然后在FPGA多功能实验箱上演示实验结果,再打开ISE实验例程进行程序讲解,最后安排学生自己实做练习,复现实验结果。
在以上典型应用案例中,不仅注重数字信号处理基本知识的理解和应用,而且强调知识的融汇贯通,重点加强学生对课程知识的综合应用和实践能力的培养。例如,正弦信号发生器设计实验,注重运用直接数字频率合成(DDS)和数/模转换(D/A)的实现方法;数字电压表和数字频率计设计实验,注重运用模/数转换(A/D)和数字化测量幅度、频率的实现方法;FIR滤波器和简易数字频谱仪设计试验,注重运用FIR数字滤波和FFT进行实际信号频谱分析的实现方法。
综合课程设计实验要求学生运用FPGA技术对数字信号处理系统进行系统分析和综合设计,完成数字信号处理课程设计报告总结,以及课程设计过程中的学习体会与收获、对FPGA开发设计经验总结、本次课程设计的认识与建议。
具体实施时,教师布置4个可选的综合设计实验:①数字储存示波器、②逻辑信号分析仪、③程控滤波器、④简易数字信号传输性能分析仪。学生可以任选其中一题作为综合课程设计实验题目,要求学生运用FPGA技术对数字信号处理系统进行系统分析和综合设计,并在FPGA多功能实验箱上完成整个系统的设计与实现。
下面是一组学生选择第3题(程控滤波器)进行综合课程设计的部分实验结果。其中设计了一个截止频率为10KHz高通滤波器,先用Matalb fdatool滤波器设计软件进行FIR线性滤波器的系数设计[6-7](如图1所示),然后导入到MATLAB工作空间进行相应的操作,并保存为FPGA IP核所需的.coe文件,再在ISE工程中将.coe文件导入到FIR IP核中,并编译下载至FPGA多功能实验箱上观察输出结果。截止频率10KHz高通滤波器输出结果(10KHz输入)如图2所示,截止频率10KHz高通滤波器输出结果(8KHz输入)如图3所示。
图1 FIR滤波器设计(Matlab)
图2 截止频率10KHz高通滤波器输出结果(10KHz输入)
图3 截止频率10KHz高通滤波器输出结果(8KHz输入)
四、教学模式和方法的选择
“数字信号处理课程设计”教学的基本模式是采用多媒体课件进行部分精讲,伴以大量的自学、讨论和实践。在以启发式为基本方法的前提下,针对本课程的特点,采用了以下三种方法。一是对比分析法。不同FPGA在芯片结构、外围接口、程序开发以及功能上都有可比之处,通过对比教学,可以加深印象提高教学效果,让学员更好的理解所讲述的内容。二是系统分析法。一个完整的FPGA系统是一个完备的系统。在介绍各种不同系统结构的设计时,还必须从硬件和软件两个角度统一阐述,使学员明白为什么采用该型号芯片、为什么采用该软件结构等,从而更深入的理解数字信号处理的硬件实现的本质。三是典型分析法。FPGA系统多种多样,适当的选取几种典型的系统进行详细分析,由浅入深,由表及里,使学员不但能熟练的掌握和分析各种FPGA系统,还能学会自己设计或构造具有特定意义的数字信号处理系统。
针对数字信号处理课程设计中一些内容比较抽象难以理解,教师用传统的教学手段很难讲解清楚,某些规律学习者难以捕捉,同时有许多设计的概念需要通过实验验证来加以阐述,例如,在讲解滤波器设计过程时,虽然在理论上说明了设计过程的步骤和方法,但是,实际滤波的应用具体是怎样,需要通过实验来加以验证。因此在教学中,可发挥多媒体的强大的辅助教学功能,使得抽象的或难以进行传统教学的内容能形象直观生动地再现出来,实现教学由难化易,由繁化简,激发学生学习兴趣。
在课堂教学中可以引入Matlab仿真和FPGA技术演示,可以加深学生对基本概念、理论的理解,可以使抽象的内容生动、直观,从而提高学生的学习兴趣,事半功倍;同时将视频、动画制作在课堂讲解中,利用动画与视频产生的动态效应,将深奥难懂的理论问题转换成直观、动态的视频或动画,这样不但增加了知识的趣味性,而且增加了知识的连贯性。对教师来说,能够通过动画与视频将知识点更好、更直观的表现出来,学生也可以在学习过程中对自己的抽象思维进行验证。
具体实现来说,可以将学生分组(3~4人一组),每组重点准备一个可选的综合设计实验。教师引领学生对项目进行任务分解、剖析与本课程设计相关的内容。学生按照实验小组讨论方案设计、任务分解、搜集资料、项目制作、调试测试、撰写报告的一般项目研发过程进行综合性实验。整个综合性实验以一个项目研发的形式进行组织,不但能加深学生对理论知识的理解,而且能够极大提高学生的科研素质。全组同学既要独立思考又要集体讨论,鼓励学生设计出不同的方案。采用这种方式,可以极大调动学生的积极性,同时增强同学之间的团队合作。
建立完善合理的考核制度无疑可以有效的对学生形成正确的引导,考核方式应该以考核学员能力为主要目的。数字信号处理课程设计考核成绩根据学生的实验报告和实际操作情况进行综合评分。考核内容包括:设计方案是否合理,编程、调试和测试数据是否正确,设计指标是否完成,撰写报告是否格式规范和条理清楚等方面。按100分考核,最后评定为优秀、良好、中等、及格、不及格五个等级。
五、结束语
通过《数字信号处理课程设计》课程的学习,培养学员综合数字信号处理方面的理论知识,解决模/数转换、数/模转换、数字信号处理、系统分析与综合方面常见实际问题的能力。基于FPGA硬件实验平台,学生通过查阅参考资料、设计实验方案,分组讨论、分析解决问题,最终完成设计课题,初步掌握工程设计方法和组织实践的基本技能,逐渐熟悉开展科学实践的程序和办法,为将来从事和逐步适应日新月异发展的系统科学提供一定的适应能力与基础。
[1]李永全.数字信号处理课程设计的改革与探索[J].实验科学与技术,2008,6(3):101-103.
[2]罗倩.数字信号处理课程设计中创新性实践探索[J].教育教学论坛,2016,6(11):145-146.
[3]刘翠响,王宝珠,王霞.信号处理综合课程设计的教学改革与尝试[J].中国电力教育,2009,32(8):140-141.
[4]朱金秀,张卓,朱昌平.《数字信号处理》课程实验教学研究与实践[J].实验室研究与探索,2008,27(5):96-97.
[5]杨莉,施国勇.基于FPGA的数字信号处理课程设计[J].电气电子教学学报,2010,32(4):77-78.
[6]蒋小燕.《VHDL语言及FPGA设计》与《数字信号处理》课程实验教学融合研究[J].软件导刊,2015,14(7):215-216.
[7]蒋小燕,孙晓薇,胡恒阳,等.基于FPGA的FIR数字滤波器的设计与实现[J].常州工学院学报,2011,24(2):13-16.
G434
A
1673-8454(2017)24-0034-03
(编辑:郭桂真)