基于matlab的fir数字滤波器设计要点

合集下载

用MATLAB设计FIR数字滤波器

用MATLAB设计FIR数字滤波器

实验八 用MATLAB 设计FIR 数字滤波器(二)一、实验目旳:1、加深对窗函数法设计FIR 数字滤波器旳基本原理旳理解。

2、学习用MATLAB 语言旳窗函数法编写设计FIR 数字滤波器旳程序。

3、理解MATLAB 语言有关窗函数法设计FIR 数字滤波器旳常用函数用法。

二、实验原理:1、用窗函数法设计FIR 数字滤波器 FIR 数字滤波器旳系统函数为N-1-n n=0H(z)=h(n)z ∑这个公式也可以当作是离散LSI 系统旳系统函数M-m -1-2-mmm=0012m N -1-2-k-k12k k k=1bz b +b z +b z ++b z Y(z)b(z)H(z)====X(z)a(z)1+a z +a z ++a z1+a z ∑∑ 分母a 0为1,其他a k 全都为0时旳一种特例。

由于极点所有集中在零点,稳定和线性相位特性是FIR 滤波器旳突出长处,因此在实际中广泛使用。

FIR 滤波器旳设计任务是选择有限长度旳h(n),使传播函数H(e j ω)满足技术规定。

重要设计措施有窗函数法、频率采样法和切比雪夫等波纹逼近法等。

本实验重要简介窗函数法。

用窗函数法设计FIR 数字滤波器旳基本环节如下:(1)根据过渡带和阻带衰减指标选择窗函数旳类型,估算滤波器旳阶数N 。

(2)由数字滤波器旳抱负频率响应H(e j ω)求出其单位脉冲响应h d (n)。

可用自定义函数ideal_lp实现抱负数字低通滤波器单位脉冲响应旳求解。

程序清单如下:function hd=ideal_lp(wc,N) %点0到N-1之间旳抱负脉冲响应%wc=截止频率(弧度)%N=抱负滤波器旳长度tao=(N-1)/2;n=[0:(N-1)];m=n-tao+eps; %加一种小数以避免0作除数hd=sin(wc*m)./(pi*m);其他选频滤波器可以由低通频响特性合成。

如一种通带在ωc1~ωc2之间旳带通滤波器在给定N值旳条件下,可以用下列程序实现:Hd=ideal_lp(wc2,N)-ideal_lp(wc1,N)(3)计算数字滤波器旳单位冲激响应h(n)=w(n)h d(n)。

matlabfir滤波器设计

matlabfir滤波器设计

matlabfir滤波器设计MATLAB是一个高级编程语言和交互式环境,被广泛应用于各种科学和工程问题的数值分析、数据可视化和编程开发等领域。

FIR滤波器是数字信号处理中经常使用的一种滤波器,它是基于有限长冲激响应的滤波器。

在MATLAB平台上,我们可以使用fir1函数来设计FIR滤波器。

一、FIR滤波器设计基础1.1 什么是FIR滤波器FIR滤波器是有限长冲激响应滤波器,由于其具有线性相位特性和可控阶数等优点,在数字信号处理中得到了广泛的应用。

一般来说,FIR滤波器的频率响应特性由滤波器的系数函数确定。

FIR滤波器的设计一般采用窗函数法、最小二乘法、频率抽取法等方法。

窗函数法是最常见的一种方法,大部分情况下选择的是矩形窗、汉宁窗、布莱克曼窗等。

1.3 fir1函数介绍fir1函数是MATLAB中用于FIR滤波器设计的函数,用法为:h = fir1(N, Wn, type)N为滤波器的阶数,Wn是用于指定滤波器截止频率的参数,type指定滤波器类型,可以是低通、高通、带通、带阻等。

二、使用fir1函数设计FIR滤波器2.1 设计要求采样率为300Hz;滤波器阶数为50;截止频率为50Hz。

2.2 实现步骤(1)计算规范化截止频率规范化截止频率是指在数字滤波器设计中使用的无单位量,通常范围为0到1。

在本例中,我们需要将50Hz的截止频率转化为规范化截止频率。

Wn = 2*50/300 = 1/3根据计算出的规范化截止频率和滤波器阶数,我们可以使用fir1函数来进行滤波器设计。

此处滤波器的阶数为50,规范化截止频率为1/3,类型为低通。

(3)绘制滤波器的幅频响应图为了验证设计的低通FIR滤波器是否符合要求,我们需要绘制其幅频响应图。

freqz(h,1,1024,300)经过上述步骤后,我们就得到了一张低通FIR滤波器的幅频响应图,如下图所示:图1.低通FIR滤波器的幅频响应图三、总结通过上述例子,我们可以看出在MATLAB中与fir1函数可以非常方便的进行FIR滤波器的设计。

基于MATLAB的FIR滤波器的设计及应用(信号去噪)

基于MATLAB的FIR滤波器的设计及应用(信号去噪)

数字信号处理课程设计报告书课题名称基于MATLAB 的FIR 滤波器的设计及应用(信号去噪)姓 名 陈君诚 学 号 20106503 院、系、部 电气工程系 专 业 电子信息工程指导教师刘鑫淼2013年 6月28日※※※※※※※※※ ※※ ※※ ※※※※※※※※※※※2010级数字信号处理 课程设计基于MATLAB 的FIR 滤波器的设计及应用(信号去噪)20106503 陈君诚一、设计目的1.学会MATLAB 的使用,掌握MATLAB 的程序设计方法; 2.掌握数字信号处理的基本概念、基本理论和基本方法; 3. 在MATLAB 环境下产生噪声信号;4.掌握MATLAB 设计FIR 数字滤波器的窗函数设计方法; 5.学会用MATLAB 对信号进行分析和处理。

二、设计要求1.噪声信号的频谱分析2.设计数字滤波器和画出频率响应利用窗函数的方法和最佳逼近法设计FIR 滤波器;最后,利用MATLAB 中的函数freqz 画出各滤波器的频率响应。

3.用滤波器对噪声信号进行滤波4.比较几种滤波器去滤波前后噪声信号的波形及频谱三、设计原理3.1 窗函数设计原理如果所希望的滤波器的理想的频率响应函数为()ωj e H ,则其对应的单位脉冲相应为:()()ωπωωππd e e H n h j j d d ⎰-=21 (3.1) 窗函数设计法的基本原理是用有限长单位脉冲响应序列()n h 逼近()n h d 。

由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到:()()()n n h n h d ω= (3.2)()n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为()()nj N n j en h eH ωω∑-==1(3.3)式中,N 为所选窗函数()n ω的长度。

由此可知,用窗函数法设计的滤波器性能取决于窗函数()n ω的类型及窗口长度N 的取值。

基于MATLAB的FIR滤波器设计

基于MATLAB的FIR滤波器设计

EDA课程设计报告滤波器设计参数:根据要求,要设计一个输入8位,输出8位的17阶线性相位FIR滤波器,所以采用图2(a)的方式,其中输入信号范围为:[±99,0,0,0,±70,0,0,0,±99,0,0,0,±70,…],此滤波器Fs为44kHz,Fc 为10.4kHz。

(一)FIR数字滤波器理论简述有限冲激响应(FIR)数字滤波器和无限冲激响应(IIR)数字滤波器广泛应用于数字信号处理系统中。

IIR数字滤波器方便简单,但它相位的非线性,要求采用全通网络进行相位校正,且稳定性难以保障。

FIR滤波器具有很好的线性相位特性,使得它越来越受到广泛的重视。

有限冲击响应(FIR)滤波器的特点:1 既具有严格的线性相位,又具有任意的幅度;2 FIR滤波器的单位抽样响应是有限长的,因而滤波器性能稳定;3只要经过一定的延时,任何非因果有限长序列都能变成因果的有限长序列,因而能用因果系统来实现;4 FIR滤波器由于单位冲击响应是有限长的,因而可用快速傅里叶变换(FFT)算法来实现过滤信号,可大大提高运算效率。

5 FIR也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。

6 FIR滤波器比较大的缺点就是阶次相对于IIR滤波器来说要大很多。

FIR数字滤波器是一个线性时不变系统(LTI),N阶因果有限冲激响应滤波器可以用传输函数H(z)来描述,0()()N k k H z h k z -==∑(0.1)在时域中,上述有限冲激响应滤波器的输入输出关系如下:0[][][][][]N k y n x n h n x k h n k ==*=-∑(0.2)其中,x [n ]和y [n ]分别是输入和输出序列。

N 阶有限冲激响应滤波器要用N +1个系数描述,通常要用N+1个乘法器和N 个两输入加法器来实现。

乘法器的系数正好是传递函数的系数,因此这种结构称为直接型结构,可通过式(1.2)来实现,如图1。

基于matlab的fir数字滤波器的设计

基于matlab的fir数字滤波器的设计

一、引言数字滤波器是数字信号处理中至关重要的组成部分,它能够对数字信号进行滤波处理,去除噪音和干扰,提取信号中的有效信息。

其中,fir数字滤波器作为一种常见的数字滤波器类型,具有稳定性强、相位响应线性等特点,在数字信号处理领域得到了广泛的应用。

本文将基于matlab软件,探讨fir数字滤波器的设计原理、方法和实现过程,以期能够全面、系统地了解fir数字滤波器的设计流程。

二、fir数字滤波器的基本原理fir数字滤波器是一种有限长冲激响应(finite impulse response, FIR)的数字滤波器,其基本原理是利用线性相位特性的滤波器来实现对数字信号的筛选和处理。

fir数字滤波器的表达式为:$$y(n) = \sum_{k=0}^{M}h(k)x(n-k)$$其中,y(n)为输出信号,x(n)为输入信号,h(k)为滤波器的系数,M为滤波器的长度。

fir数字滤波器的频率响应特性由其系数h(k)决定,通过设计合适的系数,可以实现对不同频率成分的滤波效果。

三、fir数字滤波器的设计方法fir数字滤波器的设计方法主要包括窗函数法、频率抽样法、最小最大法等。

在matlab中,可以通过信号处理工具箱提供的fir1函数和firls函数等来实现fir数字滤波器的设计。

下面将分别介绍这两种设计方法的基本原理及实现步骤。

1. 窗函数法窗函数法是fir数字滤波器设计中最为常见的方法之一,其基本原理是通过对理想滤波器的频率响应进行窗函数加权来满足设计要求。

在matlab中,可以使用fir1函数实现fir数字滤波器的设计,其调用格式为:h = fir1(N, Wn, type)其中,N为滤波器的阶数,Wn为滤波器的截止频率,type为窗函数的类型。

通过调用fir1函数,可以灵活地设计出满足特定要求的fir数字滤波器。

2. 频率抽样法频率抽样法是fir数字滤波器设计中的另一种重要方法,其基本原理是在频域上对理想滤波器的频率响应进行抽样,并拟合出一个最优的滤波器。

基于MATLAB设计FIR滤波器

基于MATLAB设计FIR滤波器

基于MATLAB设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种数字滤波器,它具有有限的冲激响应长度。

基于MATLAB设计FIR滤波器可以使用signal工具箱中的fir1函数。

fir1函数的语法如下:b = fir1(N, Wn, window)其中,N是滤波器的阶数,Wn是截止频率,window是窗函数。

要设计一个FIR低通滤波器,可以按照以下步骤进行:步骤1:确定滤波器的阶数。

阶数决定了滤波器的截止频率的陡峭程度。

一般情况下,阶数越高,滤波器的陡峭度越高,但计算复杂度也会增加。

步骤2:确定滤波器的截止频率。

截止频率是指在滤波器中将信号的频率限制在一定范围内的频率。

根据应用的需求,可以选择适当的截止频率。

步骤3:选择窗函数。

窗函数是为了在时域上窗口函数中心增加频率衰减因子而使用的函数。

常用的窗函数有Hamming、Hanning等。

窗函数可以用来控制滤波器的幅度响应特性,使得它更平滑。

步骤4:使用fir1函数设计滤波器。

根据以上步骤确定滤波器的阶数、截止频率和窗函数,可以使用fir1函数设计FIR滤波器。

具体代码如下:N=50;%设定阶数Wn=0.5;%设定截止频率window = hanning(N + 1); % 使用Hanning窗函数步骤5:使用filter函数对信号进行滤波。

设计好FIR滤波器后,可以使用filter函数对信号进行滤波。

具体代码如下:filtered_signal = filter(b, 1, input_signal);其中,input_signal是输入信号,filtered_signal是滤波后的信号。

以上,便是基于MATLAB设计FIR滤波器的简要步骤和代码示例。

根据具体需求和信号特性,可以进行相应的调整和优化。

基于MATLAB的FIR和IIR数字滤波器的设计

基于MATLAB的FIR和IIR数字滤波器的设计

基于MATLAB的FIR和IIR数字滤波器的设计一、本文概述随着数字信号处理技术的飞速发展,数字滤波器作为其中的核心组件,已经广泛应用于通信、音频处理、图像处理、生物医学工程等诸多领域。

在数字滤波器中,有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器是最常见的两种类型。

它们各自具有独特的优点和适用场景,因此,对这两种滤波器的深入理解和设计掌握是工程师和研究人员必备的技能。

本文旨在通过MATLAB这一强大的工程计算工具,详细介绍FIR 和IIR数字滤波器的设计原理、实现方法以及对比分析。

我们将简要回顾数字滤波器的基本概念和分类,然后重点阐述FIR和IIR滤波器的设计理论,包括窗函数法、频率采样法、最小均方误差法等多种设计方法。

接下来,我们将通过MATLAB编程实现这些设计方法,并展示如何根据实际应用需求调整滤波器参数以达到最佳性能。

本文还将对FIR和IIR滤波器进行性能对比,分析它们在不同应用场景下的优缺点,并提供一些实用的设计建议。

我们将通过几个典型的应用案例,展示如何在MATLAB中灵活应用FIR和IIR滤波器解决实际问题。

通过阅读本文,读者将能够深入理解FIR和IIR数字滤波器的设计原理和实现方法,掌握MATLAB在数字滤波器设计中的应用技巧,为未来的工程实践和研究工作打下坚实的基础。

二、FIR滤波器设计有限脉冲响应(FIR)滤波器是一种数字滤波器,其特点是其脉冲响应在有限的时间后为零。

因此,FIR滤波器是非递归的,没有反馈路径,从而保证了系统的稳定性。

在设计FIR滤波器时,我们主要关注的是滤波器的阶数、截止频率和窗函数的选择。

在MATLAB中,有多种方法可以用来设计FIR滤波器。

其中,最常用的方法是使用fir1函数,该函数可以设计一个线性相位FIR滤波器。

该函数的基本语法是b = fir1(n, Wn),其中n是滤波器的阶数,Wn是归一化截止频率,以π为单位。

该函数返回一个长度为n+1的滤波器系数向量b。

用MAtlab实现FIR数字滤波器的设计

用MAtlab实现FIR数字滤波器的设计

设计方法
• 一、窗函数设计法 • 二、频率抽样设计法 • 三、最小二乘逼近设计法
FIR 数 字 滤 波 器 的 文 件
一、fir1.m
• 本文件采用窗函数法设计FIR数字滤波器,其调用格式是
• 1)b=fir1(N ,W c)
• 2)b=fir1(N,W c ,’high’) • 3)b=fir1(N,W c ,’stop’)
实践课题
FIR 数 字 滤 波 器 的 设 计
实践目的


通过实践加深对Matlab软件的认识。 能熟练应用并基本掌握Matlab软件, 通过实践对课本以外的内容有初步的 了解。 通过设计FIR数字滤波器,对滤波器 的功能和原理有初步的认识和了解。
实践课题简介
在数字信号处理的许多领域中, 如图像处理、数字通信等领域,常 常要求滤波器具有线性相位。FIR数 字滤波器的最大优点就是容易设计 成线性相位特性,而且它的单位冲 激响应是有限长的,所以它永远是 稳定的。

Hale Waihona Puke 上式中N为滤波器的阶次,W c是通带截止频率,其值在0~1之间, 1对应采样频率的一半,b是设计好的滤波器系数(单位冲激响应序 列)其长度为N+1。
对于格式(1)若W c是一标量,则可用来设计低通滤波器;若W c 是 的向量,则用来设计带通滤波器。 格式(2)用来设计高通滤波器。 格式(3)用来设计带阻滤波器。
部分滤波器的例子(频率抽样法)

部分滤波器的例子(最小二乘逼近设计法)

Fircls1设计的低通滤波器,归一化截止频率 为0.3,通带波纹为0.02,阻带波纹为0.008。
实践总结

通过这次实践课题的设计与制作,使我 对Matlab这个软件有了进一步的了解,并且 加深了课本上的知识。与此同时,使我对 滤波器有了初步的认识。提高了我的理解 以及分析能力,理论和实践相结合,不仅 巩固了我的理论知识,同时更提高了我的 实践能力,使我受益匪浅。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于matlab的fir数字滤波器设计sea(湖南涉外经济学院湖南长沙421000)摘要:介绍了应用Matlab语言设计FIR数字滤波器时采用直接程序设计法。

同时介绍了FIR数字滤波器几种设计方法的函数调用格式;通过实例,给出了程序设计法的详细步骤,并在Matlab的Simulink环境下,对所设计的滤波器进行了仿真。

关键词:数字滤波器;MatlabAbstract: It Introduced the application of Matlab language when designing FIR digital filter with direct procedures. At the same time it introduced several formats of function calls when designing FIR digital filter; through some examples of programming method it gives the detail steps of Simulink in Matlab environment, and to simulate the designed filter.Keywords: digital filter MATLAB引言1. MATLAB的特点MATLAB(Matrix Laboratory)机矩阵实验室是由美国MathWorks公司推出的一款集数值分析、矩阵计算、信号处理和图形显示于一体的工具软件。

它的命令语句功能非常强大,包含了大量高度集成的可直接调用的函数,高效简洁;另一方面,它又是一个开放系统,针对不同的学科,推出了不同的工具箱。

自1984年推向市场以来,经过十几年的发展和竞争,现已成为国际认可(IEEE)的最优化的科技应用软件一。

正是由于MATLAB具有良好的扩展性以及强大的数据分析和处理能力,现已广泛应用于矩阵代数、数值计算、数字信号处理、振动理论、神经网络控制、动态仿真等领域。

MATLAB是用M语言编程,尽管不能在M文件中直接调用C语言程序,但可以通过MATLAB提供的应用编程接口(API)来与外部接口,在MATLAB环境中调用C语言或Fortran程序、输入或输出数据以及与其他软件程序建立客户/服务器关系。

在MATLAB中调用C语言程序,必须通过MEX文件来实现。

2. FIR 数字滤波器滤波就是有选择性地提取或去掉(或削弱)某一段或某几段频率范围内的信号,数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到选频目的。

数字滤波器可分为IIR (无限冲激响应)和FIR (有限冲激响应)两种结构。

随着计算机技术和集成电路技术的发展,数字信号处理以其方便、灵活的特点,越来越引起人们的重视。

数字滤波器是数字信号处理的重要内容,数字滤波器的设计已成为数字信号处理研究中的热点一。

应用Matlab 语言可以快捷地设计出由软件组成的数字滤波器,很容易通过对参数的修改进行性能的优化。

FIR 滤波器(即有限长冲击响应滤波器, Finite Imp ulse Response Digital Filter)最大的优点就是在满足幅频特性的同时,还可以获得严格的线性相位特性,这使它在语音处理、图像处理等要求高保真的数字信号处理中显得十分重要。

FIR 数字滤波器的设计原理 1. FIR 滤波器设计原理由于FIR 滤波器冲击响应h[n]是有限长序列,因此这种结构可用非递归结构来实现[1]。

FIR 数字滤波器系统函数一般形式为:10()()N kn H z h k z --==∑。

FIR 滤波器数学表达式可用差分方程来表示:10()()()N k y n h k x n k -==-∑。

式中:y (n )输出序列;h (k )滤波器系数;n 滤波器阶数;x (k )输入序列。

应用Matlab 设计FIR 滤波器的主要任务就是根据给定的性能指标,设计一个H (z ) ,使其逼近这一指标,进而计算并确定滤波器的系数b(n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化。

FIR 滤波器的主要设计方法有窗函数法、最优化设计法及约束最小二乘逼近法[2]。

在滤波器传统设计中,要得到其幅频和相频响应特性,需要根据这些方法进行大量的计算,这使得滤波器的设计缓慢,周期变长,不利于设计的优化。

Matlab 信号处理工具箱中提供了基于滤波器设计方法的工具函数,编程中可根据设计要求直接调用相应的函数,方便快捷,见表1 。

2. 用窗函数法设计FIR 数字滤波器窗函数设计[3]技术是FIR 滤波器设计的主要方法之一,由于其运算简单、精度高,已成为工程中应用最广泛的设计方法。

设计滤波器的基本思想是让待设计的实际滤波器逼近理想特性。

理想低通滤波器的频率特性应为:振幅特性在通带内为1,阻带内为0;在通带内的相位特性与w 成线性关系,即⎪⎩⎪⎨⎧≤<≤⨯=-..,1)(,0πw w w w w e e H c c c jwn jwd 它对应的理想单位冲激相应hd(n)为.)()](sin[21)(000n n n n w dw een h c w w jwnjwn d nc--==⎰--ππ可见,理想低通滤波器的单位冲激响应hd (n)是无限长的非因果序列。

而我们要设计的是FIR 滤波器,其h( n)必然是有限长的,为了构造物理上可以实现的长度为N 的因果线性相位滤波器,必须将hd( n) 截取长度为N 的一段,或者说用一个有限长度的窗口函数序列w ( n) 来截取hd ( n),即h( n) = w ( n) hd ( n),因而窗函数序列的形状及长度的选择就是关键。

工程实际中常用的窗函数有6种,即矩形窗、三角形窗、汉宁(Hanning)窗、哈明(Hamming)窗、布莱克曼(Blackman) 窗和凯泽( Kaiser) 窗。

它们之间的性能比较如表2所示。

实际的FIR 数字滤波器的频率响应H(jwe ) 逼近理想滤波器频率响应Hd(jwe )的好坏,取决于窗函数的频率特性W( w)。

表2 6种窗函数的特性3. 窗函数法设计步骤3.1用窗函数设计FIR 滤波器的步骤为:(1)选择窗函数类型能够和长度,写出窗函数w (n )表达式。

根据阻带最小衰减选择窗函数w(n)的类型,再根据过渡带宽确定所选窗函数的长度N 。

(2)构造希望逼近的频率响应函数)(jwd e H 。

根据设计需要,一般选择相应的线性相位理想滤波器(理想低通,理想高通,理想带通,理想带阻)。

应当注意,理想滤波器的截止频率wc 点(对低通滤波器)0(21g g H H ≈)近似为最终设计的FIRDFD 的-6dB 频率。

(3)计算:dw e e H n h jwn jw d d )(21)(⎰-=πππ(4)加窗得到设计结果:)()()(n w n h n h d =3.2实际设计时,一般采用MATLAB 工具箱函数实现。

步骤(1)由设计者根据设计指标完成,步骤(2)-(4)的解题过程可调用设计函数fir1来实现。

Fir1时用窗函数法设计线性相位FIRDF 的工具箱函数,调用格式如下:hn=fir1(N,wc,’ftype ’,window) fir 实现线性相位FIR 滤波器的标准窗函数法设计。

“标准”时指再设计低通、高通、带通、带阻FIR 滤波器时,)(jwde H 分别取相应的理想低通、高通、带通、带阻滤波器,故而设计的滤波器的频率响应称为标注频率响应。

hn=fir1(N,wc)可得到6dB 截至频率为wc 的N 阶(单位脉冲响应h(n)长度为N+1)FIR 低通滤波器,默认(缺省参数windows )选用hammiing 窗。

其单位脉冲响应h(n)为:h(n)=h(n+1),n=0,1,2,…,N而且满足线性相位条件:h(n)=h(N-1-n)其中wc 为对π归一化的数字频率,0≤wc ≤1。

hn=fir1(N,wc,’ftype ’)可设计高通和带阻滤波器。

·当ftype=high 时,设计高通FIR 滤波器;·当ftype=stop 时,设计带阻FIR 滤波器。

hn=fir1(N,wc,’ftype ’,window)通过选择wc 、ftype 和window 参数,可以设计各种加窗滤波器。

Fir2可以指定任何形状的Hd (jwe ),用help 命令查阅其调用格式。

4.用Matlab 对FIR 数字滤波器进行仿真设计4.1 编写流程[4]我们以低通数字滤波器设计为例,来介绍用MATLAB 对FIR 数字滤波器进行仿真过程: 设计55阶低通滤波器,截止频率在0.3,并用滤波器对信号sin(2*pi*15*t)+0.5*sin(2*pi*90*t)+0.2*sin(2*pi*300*t)滤波(信号采样频率为600Hz)。

1)用RLS设计数字低通滤波器B=fircls1(n,wo,dp,ds)函数返回长度为n+1 线性相位低通FIR滤波器,截止频率为wo,取值0-1之间。

通带幅度偏离1.0最大值为dp,阻带偏离0最大值为ds,n为滤波器阶数。

2)建立新的M文件选择“File”菜单项,单击“New M-file”按钮,便建立一个M 文件[5]。

3)编写程序,调试程序,在MATLAB 平台上得出实验结果编写完程序,单击“Debug”按钮,即可观察到所设计滤波器幅频特性和滤波前后的波形。

4.2 实例下面给出两个实例说明用MATLAB设计FIR滤波器的优点,及滤波器的滤波特性。

先用最优化设计法设计一个滤波器:例1:设计一个最小阶数的低通滤波器,采样频率fs=2000 Hz,通带截止频率为500Hz,阻带的截至频率为600Hz,阻带最小衰减为40dB,通带的最大衰减为3dB。

在设计之前应先确定用说明方法设计,本例可选择等波纹的最优化设计法。

程序如下:fs=2000; %采样频率rp=3; %通带波纹rs=40; %阻带波纹f=[500 600]; %截止频率a=[1 0]; %期望的幅度dev=[(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)];[n,fo,ao,w]=remezord(f,a,dev,fs);b=remez(n,fo,ao,w); %调用最优设计法中remez 函数freqz(b,1,1024,fs)程序运行后,计算机输出该滤波器的幅频及相频响应特性,如图1所示。

图1 滤波器输出的幅频及相频响应特性上图中幅频特性曲线从500Hz开始向下折,这是因为题设中通带截止频率为500Hz,同样图中幅频曲线在600Hz降为最低,是因为题设中阻带的截至频率为600Hz。

相关文档
最新文档