谭 勇
长江师范学院 重庆 408003
数字信号处理是电子信息类专业的重要专业理论课,具有很强的理论性,在教学实践中为了减轻学生学习难度,通常要使用一些辅助手段对理论知识进行演示和说明,让学生更易理解和掌握相关知识点。当前,我国高校中主要应用的是Matlab软件,它采用较为直观的数学语言进行问题的描述和求解,具有适应面广、较容易学习和使用的特点。但在教学中,我们感到使用Matlab时尚存在如下问题:
(1)在提供图形用户界面(GUI)方面能力较弱。虽然伴随着版本的提高,提供了GUI工具,但使用繁琐,要完全掌握和应用仍然有一定难度。
(2)Matlab语言仍是文本式语言,抽象性较强。在求解较为复杂问题时,需要编写逻辑关系程序段,要花费较多时间和精力,降低了教学效率。
(3)Matlab动态演示功能较差,缺乏对数值运算过程直观形象的反映,表现力不够强。
针对以上问题,我们在教学中用好Matlab的同时,尝试将虚拟仪器领域广泛应用的LabVIEW引入该课程辅助教学中,取得了较好的效果。
LabVIEW的程序设计与传统文本程序设计语言如C,Pascal或Matlab显著不同,它使用的是图形化语言,通过使用功能节点结合图形化的程序流程控制结构来实现程序功能,程序设计过程形象直观,并且最大程度简化了如内存分配、程序调试、多线程等程序设计细节,使得用户能在最大程度上将精力放到解决问题上。
在程序结构上,LabVIEW将一个完整的程序分为前面板和程序框图,通过向前面板拖入图形控件就能简单快速地实现美观的程序界面。对于其中的显示控件,进行简单设置即可实现丰富的曲线、图形与图像的显示。因而LabVIEW在GUI和程序设计过程中的形象化上较Matlab有很大优势。
LabVIEW为实现测量与自动化应用中的数据分析提供了功能强大的数字信号处理函数节点,并按信号生成、信号运算、窗、滤波器、谱分析、变换功能及提供,方便了查找和应用。这些功能对于教学是完善的,而且易于使用。
进入课程教学阶段,为了说明信号在实际生活中是无处不在的,我们在LabVIEW中应用Acquire Sound.vi(如图1所示),通过简单设计,就可利用PC的声卡和麦克风实现在教室现场的声音采集,并立即在投影仪上显示出来。由于采集的是实际信号并连续动态地实时显示,学生能够直观看到信号的形态特征,认识到信号在生活中是无所不在的,激发起学生学习研究信号的兴趣。
图1 声音信号的采集
在学习了典型的IIR滤波器之后,要对它们的性能如通带波纹、阻带波纹、过渡带宽度、线性相位等进行比较,要实现这个目标,在Matlab中常常要编写较长的程序,仅仅为了将各滤波器的幅频响应写在一个图中显示出来,就必须用到好多图形控制选项。而在LabVIEW下,无需任何图形控制命令,直接从函数选板中选出相应的滤波器函数节点,给予其冲击激励信号后再对输出信号作傅立叶变换即可得到各滤波器的频率传输特性曲线,然后在GRAPH控件中显示即可(如图2所示)。
图2 几类典型IIR滤波器的性能比较
我系2004和2005级电子信息科学与技术专业(A专业)及应用电子技术专业(B专业)学生在第五学期安排了数字信号处理基础理论课程,在教学中采用的是Matlab,这样初步培养了学生应用Matlab理解和解决数字信号处理理论问题的基本能力。接着在第七学期安排了LabVIEW基础课程,并将应用LabVIEW分析采集到的数据即应用数字信号处理理论知识作为学习的重点,这样学生就实现了对两种语言的学习和对相同理论知识的应用。为了了解学生对Matlab和LabVIEW应用特点的认知,作了简要的问卷调查,问卷内容主要包含3个问题,问题及数据见表1。
表1 对Matlab与 LabVIEW偏好性
图3 A专业学生在三种答案上的累计人次
图4 B专业学生在三种答案上的累计人次
对表1中累计人次栏数据按专业、年级进行统计,分别得到两专业下两个年级选择“Matlab”“LabVIEW”“差不多/都行”的柱状图(如图3和图4所示)。由图可见,尽管专业、年级不同,在回答的倾向性上是相似的,即认为LabVIEW更容易学习且效率更高的学生人次大致是选择Matlab的3~4倍,可见学生从总体上来讲对LabVIEW的接受度较高,偏好性较强。同时,有较多学生选择了Matlab,这些学生的理由基本为Matlab已是事实上的标准平台,没有必要再去使用LabVIEW, 何况Matlab在解决自己目前遇到的问题上使用起来还是比较方便的。回答“差不多/都行”的学生则认为使用何种工具并不是关键,最重要的是要理解所用的理论知识。对于后两者的学生,虽然在调查时没有倾向LabVIEW,但仍然认为LabVIEW的图形界面设计与G语言编程给自己留下了深刻的印象。
LabVIEW提供的图形化程序设计方式、大量的图形控件和信号处理函数节点,为数字信号处理的教学过程提供了动态、形象直观的阐述相关数字信号处理理论知识的能力,一定程度上克服了Matlab的GUI能力缺陷和程序设计过程较为抽象的不足。因此,在数字信号处理课程中引入LabVIEW作为辅助工具是有益的。
[1] 王川.基于LabView的远程电子技术实验系统应用研究[J].现代电子技术,2007(12):14-16.
[2] National Instruments. LabVIEW User Manual[Z].Texas National Instruments, 2003.
[3] 程佩清.数字信号处理教程[M].北京:清华大学出版社,1995.
[4] 陈锡辉,张银鸿.LabVIEW 8.20程序设计从入门到精通[M]. 北京:清华大学出版社,2007.
[5] 康泼,侯建民.虚拟仪器在高校实验室建设中的应用探讨[J].测控技术,2001,20(3):64-66.