数字信号处理课程的Matlab教学研究

2012-04-29 00:44李娟吴谨杨莘
科教导刊 2012年14期
关键词:冲激响应阻带截止频率

李娟 吴谨 杨莘

摘要数字信号处理是一门理论性很强的课程,针对教学过程中学生对知识点理解困难、学习枯燥无味等问题,将Matlab软件引入课堂教学中,以FIR滤波器的窗函数设计法为教学实例,将相关知识点用图形化演示直观地表示出来。在实验教学中,以Matlab软件为平台,分别按照窗函数设计法的原理编程设计滤波器,采用Matlab信号处理工具箱提供的fir1函数设计滤波器,以及调用滤波器设计和分析工具箱提供的图形用户界面设计滤波器。教学效果表明,将Matlab引入到教学过程中,不仅可以使学生直观地领会和深入地理解数字信号处理的理论知识和分析方法,还可以提高学生的实际动手能力以及分析解决问题的能力,有效提高了教学质量。

关键词数字信号处理FIR滤波器Matlab

0 引言

数字信号处理是电子信息类专业的基础课程。我们将Matlab引入课堂教学中,将抽象的理论以易于理解的可视化形式加以演示,并结合实验教学的模式,帮助学生理解与掌握课程中的基本概念、基本原理和基本分析方法,发挥学生动手实践的主动性和创造性。

Matlab软件以矩阵运算为基础,其功能强大、简单易学、编程效率高。特别是其具有的数字信号处理工具箱,涵盖了经典信号处理理论的大部分内容,很多常用的算法都有对应的函数,可以方便地进行信号分析、处理和设计。

Matlab在教学中的应用主要体现在二个方面,①一是教师在讲解基本概念的同时,可以利用Matlab演示相应知识点的对应结果,能够更加生动直观地揭示其所包含的物理含义;二是让学生利用Matlab软件进行实验,深化学生对基本原理的理解,提高学生应用软件工具的能力。

本文以FIR滤波器的窗函数设计法为教学实例,对Matlab在“数字信号处理”课程中的应用加以探讨。

1 Matlab在课堂教学中的应用

FIR滤波器的窗函数设计法是从单位冲激响应着手,使要设计的FIR滤波器的单位冲激响应(())逼近理想滤波器的单位冲激响应(()),通常表示为:

() = ()()

即用一个有限长的窗函数序列()截取(),因而窗函数序列的形状及长度的选择就很关键。常用的窗函数有矩形窗、三角形窗、汉宁窗、哈明窗、布莱克曼窗等。这些窗函数各有优缺点,所以要根据实际情况合理选择窗函数类型。②笔者利用Matlab演示窗函数类型与窗宽对所设计的滤波器的影响。

1.1 窗函数类型

分别用矩形窗和哈明窗设计一个FIR低通滤波器,假设窗宽和截止频率相同( = 11, = 0.2%i),比较这两种窗函数设计的滤波器的幅频曲线,如图1所示,很容易观察到选择的窗函数对所设计的滤波器的影响。采用矩形窗时,过渡带较窄,阻带最小衰减较小;采用哈明窗时,过渡带较宽,阻带最小衰减较大。

1.2 窗宽

分别用不同窗宽( = 11, = 15)的哈明窗设计一个FIR低通滤波器,假设截止频率相同( = 0.2%i),比较两种不同窗宽设计的滤波器的幅频曲线,如图2所示,很容易观察到窗宽对所设计的滤波器的影响。增加窗宽,使得滤波器的过渡带变陡,但是阻带最小衰减不变。

通过以上Matlab演示,可以更直观地认识到窗函数类型与窗宽对所设计的滤波器的影响,并可归纳出一般性结论:

(1)滤波器的过渡带宽度与所选窗函数有关;而对于一定的窗函数,增加窗函数的长度(或窗宽)可以使过渡带变陡。

(2)通带和阻带内的波动幅度与所选窗函数有关;而对于一定的窗函数,增加窗宽不能改善波动幅度。

(3)阻带最小衰减与过渡带宽这两个性能指标是相互制约的,总不能兼得。

因此,设计FIR滤波器时,选择合适的窗函数尤为关键。其选取原则是在阻带衰减指标满足要求的情况下,选择使过渡带窄的窗函数。表1给出了几种常用窗函数的基本参数。

2 Matlab在实验教学中的应用

在实验教学中,我们采用了三种手段来设计一个FIR滤波器。④第一种手段按照窗函数设计法的理论分析步骤,用Matlab语言编程实现。第二种手段直接调用Matlab信号处理工具箱提供的 fir1函数设计滤波器。第三种手段调用滤波器设计和分析工具箱提供的图形用户界面设计滤波器。

[设计实例] 设计一个线性相位FIR低通滤波器,要求通带截止频率为 = 0.2%i,阻带截止频率为 = 0.4%i,阻带最小衰减为 = 50。

2.1 理论分析步骤法

窗函数法的理论分析步骤如下:(1)给定理想低通滤波器的频率响应,并求出理想低通滤波器的截止频率;(2)求理想的单位冲激响应;(3)查表1,根据窗函数的选取原则,确定合适的窗函数;(4)根据过渡带宽确定窗宽,并确定保证滤波器线性相位的相关参数;(5)求所设计的FIR滤波器的单位冲激响应;(6)求所设计的FIR滤波器的频率响应,检验是否满足设计要求。

对本文的设计实例,按照上述理论分析步骤,用Matlab语言编程实现,得到的滤波器幅频曲线如图3所示,可见满足设计要求。

2.2fir1函数调用法

上述设计计算复杂,学生容易陷于繁琐的编程。选定窗函数的形状和长度后,FIR滤波器设计可简化为调用fir1函数。

fir1函数的调用格式如下:

b = fir1(N,Wc,''''ftype'''',Window)

其中,N为滤波器的阶数;Wc是截止频率,其取值在0~1之间,它是以%i为基准频率的标称值,设计低通和高通滤波器时,Wc是标量,设计带通和带阻滤波器时,Wc是1?的向量;设计低通和带通滤波器时,无需 ''''ftype'''',当ftype = high时,设计高通滤波器,当ftype = stop时,设计带阻滤波器;Window表示设计滤波器所采用的窗函数类型,Window的长度为N+1,若Window缺省,则fir1默认使用哈明窗;b对应设计好的滤波器的系数h(n),即单位冲激响应,h(n)的长度为N+1。

对本文的设计实例,调用fir1函数,得到的滤波器幅频曲线如图4所示,可见满足设计要求。

2.3 Fdatool图形用户界面法

滤波器设计和分析工具箱Fdatool(Filter Design and Analysis Tool)是快速设计和分析滤波器的图形用户界面。Fdatool可以设计几乎所有的常规滤波器,包括IIR滤波器和FIR滤波器的各种设计方法。它操作简单,方便灵活。

Fdatool界面总共分两大部分,一部分是design filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。

对本文的设计实例,采用Fdatool图形用户界面法,得到的滤波器幅频曲线如图5的窗口上方所示:

比较上述三种设计手段,第一种手段并没有发挥Matlab强大的信号处理能力,但可以加深学生对窗函数法设计思路的理解。第二种手段需要充分掌握滤波器设计参数,并能够正确的调用函数。第三种手段在设计过程中,可以对比滤波器频率特性和设计要求,随时调整参数和滤波器类型,有利于滤波器设计的最优化,并且使得滤波器的设计变得更加直观简便,极大地减轻了工作量。

3 结束语

本文以FIR滤波器的窗函数设计法为教学实例,利用Matlab软件将相关知识点用图形化演示直观地表示出来,使学生易于理解相关理论知识。此外,实验教学中Matlab的应用可以加深学生对基本概念的进一步理解,并且锻炼了学生的动手能力和灵活运用数字信号处理知识的能力。

1、湖北省高等学校省级教学研究项目(厚基础强能力的创新人才培养模式研究与实践)

2、湖北省高等学校省级教学研究项目(新时期地方综合性大学电气信息类专业建设研究与探索)

3、武汉科技大学校级重点教研项目(《图像处理》课程的实验教学改革探究)

猜你喜欢
冲激响应阻带截止频率
冲激响应时域测量电路设计与应用
基于规范图像的光电成像系统采样响应研究
一种新型可调双阻带滤波器设计
基于稀疏系统辨识的改进的零吸引LMS算法*
基于超声Lamb波截止频率的双层薄板各层厚度表征
运动中人体信道数学模型研究
低频射频识别系统中的RC放大器电路性能分析与研究
一种改进的最大信杂比MTD滤波器设计算法
梯度饱和多孔材料中弹性波的截止频率
一种基于互补环缝谐振器抑制SSN的新方法