《MATLAB仿真及其应用》专业论文题目:基于MTLAB的FIR滤波器设计专业:班级:姓名:学号:指导教师:目录1绪论.....................................................................................................................31.1课题研究的背景......................................................................................31.2课题研究现状..........................................................................................31.3本课题研究的实施方案..........................................................................42FIR滤波器.........................................................................................................42.1FIR滤波器的概念..................................................................................42.2FIR滤波器的原理和结构......................................................................42.3FIR滤波器的特点..................................................................................52.4FIR滤波器的设计..................................................................................63仿真软件MATLAB简介..................................................................................63.1MATLAB的概况....................................................................................63.2MATLAB的产生历史背景....................................................................73.3MATLAB的语言特色............................................................................84FIR滤波器的MATLAB实现.........................................................................104.1程序设计法...........................................................................................104.2FDATool设计法....................................................................................124.2.1带通滤波器设计........................................................................124.2.2Simulink仿真.............................................................................125总结..................................................................................................................13参考文献:..........................................................................................................131绪论1.1课题研究的背景数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。1.2课题研究现状早在20世纪40年代末期,就有人讨论过数字滤波器的可能性问题,在50年代也有人在研究讨论过数字滤波的问题。但直到60年代中期,才开始形成关于数字滤波器的一整套完整的正规理论。在这一时期,提出了各种各样的数字滤波器结构,有的以运算误差最小为特点,有的则以运算速度高见长,而有的则二者兼而有之;出现了数字滤波器的各种逼近方法和实现方法,对递归和非递归两类滤波器作了全面的比较,统一了数字滤波器的基本概念和理论。数字滤波器领域的一个重要发展是对有限冲激响应(FIR)和无限冲激响应(IIR)关系的认识的转化。在初期,一般认为IIR滤波器比FIR滤波器具有更高的运算效率,因而明显地倾向于前者,但当人们提出用快速傅立叶变换(FFT)实现卷积运算的概念之后,发现高阶FIR滤波器也可以用很高的运算效率来实现,这就促使人们对高性能FIR滤波器的设计方法和数字滤波器的频域设计方法进行了大量的研究,从而出现了此后数字滤波器设计中频域方法和时域方法并驾齐驱的局面。70年代科学技术蓬勃发展,数字信号处理开始与大规模和超大规模集成电路技术,微处理器技术、高速数字算术单元、双极型高密度半导体存储器、电荷转移器件等新技术、新工艺结合了起来,并且引进了计算机辅助设计方法,它使数字滤波器的设计仅仅是对相应模拟滤波器的逼近。现在,数字信号处理技术,包括数字滤波在内,正以惊人的速度向纵深和高级的方向发展,估计这种趋势还要连续一个较长的时期,未来的发展可能会比过去的进程更为激动人心,必将引起某些领域的飞跃性转折。1.3本课题研究的实施方案MATLAB是一个功能强大的软件,是由MATHWORKS公司于1984年推出的一种面向科学于工程的计算软件。Matlab语言是一种简单、高效的高级语言,是一种内容丰富、功能强大的分析工具,包含了600多个用于数学计算、统计和工程处理的函数。它的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析一级计算生物学等总舵应用领域。在信号处理的工具箱中,Matlab包含了滤波器分析、滤波器设计、IIR数字滤波器设计、FIR滤波器设计、IIR数字滤波器阶次设计等函数命令。Simulink是用来动态系统和嵌入式系统的多领域仿真于基于模型的设计工具,对各种师太系统,提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。利用Matlab/Simulink设计一个FIR滤波器。2FIR滤波器2.1FIR滤波器的概念FIR(FiniteImpulseResponse)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。2.2FIR滤波器的原理和结构一个截止频率为ωc(rad/s)的理想数字低通滤波器,其传递函数表达式是:0)(jjdeeH(1-1)相应的单位取样响应hd(n)为:Hd(n)=dedeeHccnjnjjd21)(21nnc)sin((1-2)由式2-1和2-2可以看出,这个滤波器在物理上是不可实现的,因为冲激响应具有无限性和因果性。为了产生有限长度的冲激响应函数,我们取样响应为h(n),长度为N,其系数函数为H(z):nnnznhzH10)()((1-3)用h(n)表示截取hd(n)后冲激响应,即:式子中W(n)为窗函数,长度为N。当τ=(N-1)/2时,截取的一段h(n)对(N-1)/2对称,可保证所设计的滤波器具有线性相位。一般来说,FIR数字滤波器输出y(n)的Z变换形式Y(z)与输入x(n)的Z变换形式之间的关系如下:)())()1()0(()()()(1zXznhzhhzXzHZYn(1-4)实现结构如图1所示。图1FIR滤波器结构图从上面的Z变换和结构图可以很容易得出FIR滤波器的差分方程表示形式。对式1-4进行反Z变换,可得:)1()()1()2()()1()(xnhnxhnxhnY(1-5)式1-5为FIR数字滤波器的时域表示方法,其中x(n)是在时间n的滤波器的输入抽样值。根据式1-5即可对滤波器进行设计。2.3FIR滤波器的特点有限长单位冲激响应(FIR)滤波器有以下特点:(1)系统的单位冲激响应h(n)在有限个n值处不为零(2)系统函数H(z)在|z|0处收敛,极点全部在z=0处(因果系统)(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。设FIR滤波器的单位冲激响应h(n)为一个N点序列,0≤n≤N—1,则滤波器的系统函数为H(z)=∑h(n)*z^-n就是说,它有(N—1)阶极点在z=0处,有(N—1)个零点位于有限z平面的任何位置。2.4FIR滤波器的设计FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:(1)通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。(2)由性能指标确定窗函数W(n)和窗口长度N。(3)求得实际滤波器的单位脉冲响应h(n),h(n)即为所设计FIR滤波器系数向量b(n)。(4)检验滤波器性能。本文将针对一个含有5Hz、15Hz和30Hz的混和正弦波信号,设计一个FIR带通滤波器,给出利用MATLAB实现的三种方法:程序设计法、FDATool设计法设计法。参数要求:采样频率fs=100Hz,通带下限截止频率fc1=10Hz,通带上限截止频率fc2=20Hz,过渡带宽6Hz,通阻带波动0.01,采用凯塞窗设计。3仿真软件MATLAB简介3.1MATLAB的概况MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制