MATLAB在数字信号处理教学中的应用与实践
马如坡
摘 ?要 数字信号处理课程是面向电子信息学科的专业基础课,由于该课程理论性强、概念抽象、公式繁多,在教学过程中学生难以理解和掌握。结合MATLAB软件的特点与优势,将其引入数字信号处理课程教学,能够改变传统教学形式,丰富教学内容,有效促进教学。介绍MATLAB软件特点优势和数字信号处理课程教学思路,将MATLAB软件融入数字信号处理课程教学全过程,可增强学生学习兴趣,提升教学质量。
关键词 MATLAB;数字信号处理;FDATool
中图分类号:G642 ? ?文献标识码:B
文章编号:1671-489X(2019)18-0025-03
Application and Practice of MATLAB Software in Digital Signal Processing Teaching//MA Rupo
Abstract Digital signal processing course is a professional basic
course for electronic information subject. Due to its strong theoreti-cal nature, abstract concepts and various formulas, it is difficult for students to understand and master the teaching process. Combining the characteristics and advantages of MATLAB software, the intro-duction of digital signal processing course teaching can change the traditional teaching form, enrich the teaching content and effectively promote teaching. This paper introduces the characteristics and advantages of MATLAB software and teaching ideas of digital signal
processing course. Integrating MATLAB software into the whole teaching process of digital signal processing course can enhance stu-
dents interest in learning and improve the teaching effect.
Key words MATLAB; digital signal processing; FDATool
1 引言
數字信号处理是当前科学和工程领域最为热门的技术之一,随着信息技术的发展,数字信号处理技术已广泛应用于通信、图像处理、人工智能、物联网、生物医学等许多领域。很多高校的计算机、通信、自动化等学科都开设了数字信号处理课程,该课程重点研究利用计算机实现信号处理的基本理论和方法。教学内容主要包括时域离散信号与系统、时域离散信号与系统的频域分析、数字滤波器的设计等[1-2]。由于这些课程内容的理论性强,概念比较抽象,学生学习过程中不容易理解和记忆。MATLAB软件操作使用简单,人机界面友好,仿真得到的图像通俗易懂,便于理解,可以很好地弥补数字信号处理课程教学中的困难和不足。
2 MATLAB软件及特点
MATLAB是美国MathWorks公司研发的一款商业数学软件,主要应用于算法开发、数值计算、数据可视化、数字信号处理等方面。它将矩阵计算、数值分析、系统建模仿真等功能集成于可视化窗口中,为信号分析、图像处理、控制设计、工程计算等众多科学领域提供了一种交互式编程模式。其主要优势特点如下[3]。
高效的数值计算能力 ?MATLAB包含大量函数和算法,可以方便地实现各种计算功能。具体函数包括基本函数、矩阵、特征向量、快速傅里叶变换等,采用的算法都是经过优化和容错处理的最新研究成果。利用其高效的数值计算和符号计算等功能,可以帮助用户摆脱繁杂的数学运算和分析过程,大大减少编程的工作量。
完备的图形处理功能 ?MATLAB软件具有可视化的数据处理功能,可以方便地将所要计算的矩阵和向量用图形直观呈现出来。另外,其还能够实现高层次的作图,包括二维、三维、四维数据的可视化、图像处理、动画和表达式作图,极大方便了科学计算和工程绘图。
友好的人机交互界面 ?MATLAB软件具有友好的图形用户界面,如命令窗口、编辑器、调试器、工作空间等功能模块,操作起来易学易懂。MATLAB软件编程采用近似数学表达式的自然化语言,用户学习和掌握也很快捷。MATLAB软件编程环境非常友好,编辑的程序可直接运行调试,出现编程错误能够及时报告,并给出错误原因分析,大大提升了编程效率。
丰富的应用工具箱 ?MATLAB软件拥有数百个内部函数,对许多专门的领域(如信号处理工具箱、通信工具箱等)都开发了功能强大的模块集和工具箱,用户可以直接使用工具箱进行学习、应用和评估。此外,用户还可以对这些工具箱进行修改或加入自己编写的程序,以构造新的专用工具包。
3 数字信号处理教学思路
在数字信号处理课程教学过程中,通过与学生以及同行教师的沟通交流,感到该课程的教学主要存在两个方面的困扰。
一是课程理论性强,知识点比较抽象。该课程的基本定义、原理比较抽象,难以用物理概念或具体模型予以展示,使得学生理解和掌握起来比较困难。
二是课程知识涉及面广,对数学基础要求较高。数字信号处理课程内容复杂,涉及很多学科知识,如傅里叶变换、Z变换等理论推导过程,要用到很多微积分、复变函数等高等数学知识,且计算过程复杂,学生学习有一定难度。
对此,根据数字信号处理课程的特点,教学实施过程中从以下几个方面进行改进。
MATLAB辅助教学全过程 ?在数字信号处理课程讲授过程中,穿插介绍MATLAB软件的相关知识。根据课程进度,在讲解每个章节知识点的同时,运用MATLAB软件演示相应的程序和结果。如讲解模拟信号离散化时,展示数字化后的图形特点并与模拟信号进行对比分析,加深学生对该知识点的理解。在每个章节内容讲完之后,综合章节内容利用MATLAB软件开发、设计相关实验,带领学生动手进行编程,增强学生直观体验和学习获得感,提升学习兴趣,巩固学习效果。
合理設置教学内容 ?数字信号处理课程概念公式多、涉及知识面广,有限的学时内,结合本科阶段教学要求和专业特点,对课程内容的重难点进行删减,侧重基本概念、理论以及结论的讲解,突出应用和课程思想,弱化公式推导过程。如课程中的快速傅里叶变换部分,虽然该知识点非常重要,但其原理和公式相对复杂,而MATLAB软件中简单调用fft命令就可以方便地进行快速傅里叶变换。因此,侧重讲清快速傅里叶变换的概念、特点以及如何调用fft命令解决问题即可,确保重要知识点学生听会弄懂、消化吸收。
注重理论联系实践 ?以生活中数字信号处理实际应用案例展开教学。比如讲解奈奎斯特采样定理时,以随机获取的图像和声音为例,选取不同的采样频率进行离散化处理,让学生直观感受处理效果的差异,增强课堂吸引力。教学中摒弃纯粹理论讲解和公式推导,穿插动手实践环节,采取例题辨析、课堂练习等多种形式进行互动交流,如把基本的程序给学生,让学生自己动手调试参数,获得不同的信号处理效果,充分调动学生学习的积极性。
4 MATLAB在教学中的具体应用
数字信号处理课程教学的目的是使学生不但掌握数字信号处理的基本理论和基本概念,更重要的是训练和提高学生运用所学理论和方法分析问题、解决问题的能力。本文以线性时不变系统卷积、离散信号和系统的频域分析、滤波器设计为例,说明如何有效利用MATLAB软件进行教学。
线性时不变离散系统 ?线性时不变离散系统是指具有线性和时不变特性的离散时间系统[1]。该部分的一个重要知识点就是系统输入与输出之间的卷积关系,即系统的输出等于输入序列与系统单位抽样响应的卷积。卷积作为一种积分变换的数学方法,在很多方面得到广泛应用。在数字信号处理中,卷积与傅里叶变换有着密切的关系,如两个函数傅里叶变换后的乘积等于它们卷积后的傅里叶变换,通过这种变换可以简化傅里叶分析中的许多问题。
讲解该部分时为了对卷积这一抽象概念进行说明,先从卷积原理入手,简要介绍卷积计算的图解法和解析法,然后引入MATLAB信号处理工具箱中的卷积函数conv,重点讲解其定义及调用格式,并以实际数据为例计算结果,利用绘图命令subplot进行呈现,使结果清晰明了,促进学生对该知识点的理解和掌握。
离散信号系统频域分析 ?现实世界中的信号多以时域形态呈现,以时间轴为坐标参数分析信号特征的方法称为时域分析。其实,信号都具有一定的频域特性,以频率轴为参数分析信号特征的方法为频域分析。傅立叶变换就是从时域分析转换到频域分析的一个有效桥梁。采用傅立叶变换将时域信号x(t)变换为频域信号X(f),可以从另外一个角度了解信号的特征,从而更加全面地分析和理解信号。
为了对离散系统的频域进行分析,首先利用MATLAB命令逐渐叠加从低频到高频的正弦波以形成方波,并绘图显示合成的波形,使学生能够直观感受通过叠加正弦波逼近方波的理论,从而促进对时域和频域的认识和理解。然后对傅里叶变换和快速傅里叶变换的算法进行讲解,重点突出两种变换的MATLAB命令及其应用举例,加深学生理解记忆。进行离散系统频域特性分析时,重点讲解采用MATLAB软件的freqz命令绘制频率响应曲线,zplane命令绘制系统函数的零极点分布,结合图形加深学生对离散信号系统频率响应特性知识的理解。
滤波器设计 ?滤波器设计是数字信号处理课程中非常重要的内容。数字滤波器按通带特性可分为低通滤波器、高通滤波器、带通滤波器和带阻滤波器;按单位脉冲响应可分为无限长单位冲激响应滤波器(IIR数字滤波器)和有限长单位冲激响应滤波器(FIR数字滤波器)[4]。IIR数字滤波器可借助成熟的模拟滤波器理论及设计图表进行设计,FIR数字滤波器通过选择有限长的单位脉冲响应h(n)来满足技术指标。由于滤波器概念比较抽象,其设计原理及过程比较复杂,学生理解起来比较吃力。因此,该部分内容重点结合MATLAB命令和FDATool(Filter Design and Analysis Tool)进行讲解。
FDATool是具有强大功能的滤波器设计与分析工具,涵盖了信号处理工具箱中所有滤波器的设计方法,利用其设计滤波器可大大简化编程过程,使得滤波器设计简捷易用[5-6]。以FIR带阻滤波器设计为例,首先根据设计指标调用remezord和remez函数设计FIR带阻滤波器,然后在MATLAB命令窗中运行FDATool,在界面中设定指标参数,绘制滤波器图形,并与上述结果进行对比,通过对比分析加深学生对滤波器设计的理解和认识。
5 结语
数字信号处理课程是面向电子信息学科的一门专业基础课,它的基本概念和分析方法已经渗透到信息与通信工程、动力工程、电气工程等各个领域。随着高速数字计算机、超大规模集成电路以及新算法的出现,数字信号处理将成为人工智能、物联网、自动驾驶等方向的研究热点,因此,数字信号处理课程得到各类高校的高度重视。然而由于该课程理论比较抽象,公式推导繁多,在教学过程中导致学生对数字信号处理的相关知识难以理解和掌握。而MATLAB软件在数字信号处理方面具有较好的特点和优势,在教学过程中充分利用MATLAB软件资源,可将枯燥的原理公式变换为图像形式,易于学生理解和接受。实践证明,采用MATLAB软件用于数字信号处理教学,丰富了课程教学形式,提高了学生学习兴趣。同时,学生在学习专业知识之余,又掌握了一款应用广泛的科学计算软件,为今后发展奠定了一定的基础。
参考文献
[1]高西全,丁玉美.数字信号处理[M].西安:西安电子科技大学出版社,2016.
[2]江志红.学以致用:深入浅出数字信号处理[M].北京:北京航空航天大学出版社,2012.
[3]徐明远,刘增力.MATLAB仿真在信号处理中的应用[M].西安:西安电子科技大学出版社,2007.
[4]胡广书.数字信号处理:理论、算法与实现[M].北京:清华大学出版社,2012:226-319.
[5]燕丽红,张乐芳,马小青.基于图形可视化Wintool和
FDAtool的FIR滤波器设计[J].现代电子技术,2015,38(24):
4-6,11.
[6]刘畅,刘学良,等.数字信号处理课程中FIR滤波器设计的教学探讨[J].现代电子技术,2015(24):4-6,11.