FIR数字滤波器设计及MATLAB使用【重点】
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滤波器的设计。
FIR数字滤波器的设计与matlab实现

W
(e
j
)
{0.5WR
()
0.25[WR
(
2 )
N 1
WR
(
2
)]}e N 1
j(
N 1) 2
W ()e ja
W
()
0.5WR
()
0.25[WR
(
2 )
N 1
WR
(
2 )]
N 1
(6-2-12b)
W () 是三项矩形窗的幅度响应 WR() 的移位加权和,
n0
即
H (z) z(N1)H (z1)
则有
H (z) 1 [H (z) z(N1)H (z1)] 2
1
N 1
h(n)[ z n
z (N 1) z n ]
2 n0
z ( N 1) / 2
N 1
h(n)
1
(n N 1)
[z 2
(n N 1)
❖ 滤波器设计任务的中心就是求得系统函数。 数字滤波器的系统函数最主要的特征有三个: 幅度平方响应、相位响应和群延迟。
❖ IIR滤波器可以用较少的阶数获得较好的幅度响应, 但由于其结构存在反馈,可能造成系统的不稳定, 其优异幅度响应一般是以相位的非线性为代价的, 非线性相位会引起频率色散。
❖ 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滤波器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数字滤波器的设计

设计方法
• 一、窗函数设计法 • 二、频率抽样设计法 • 三、最小二乘逼近设计法
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这个软件有了进一步的了解,并且 加深了课本上的知识。与此同时,使我对 滤波器有了初步的认识。提高了我的理解 以及分析能力,理论和实践相结合,不仅 巩固了我的理论知识,同时更提高了我的 实践能力,使我受益匪浅。
FIR滤波器的MATLAB设计与实现

FIR滤波器的MATLAB设计与实现FIR滤波器(Finite Impulse Response Filter)是一种数字滤波器,其特点是其响应仅由有限长度的序列决定。
在MATLAB中,我们可以使用信号处理工具箱中的函数来设计和实现FIR滤波器。
首先,需要明确FIR滤波器的设计目标,包括滤波器类型(低通、高通、带通、带阻)、通带和阻带的频率范围、通带和阻带的增益等。
这些目标将决定滤波器的系数及其顺序。
在MATLAB中,我们可以使用`fir1`函数来设计FIR滤波器。
该函数的使用方式如下:```matlabh = fir1(N, Wn, type);```其中,`N`是滤波器长度,`Wn`是通带边缘频率(0到0.5之间),`type`是滤波器的类型('low'低通、'high'高通、'bandpass'带通、'stop'带阻)。
该函数会返回一个长度为`N+1`的滤波器系数向量`h`。
例如,如果要设计一个采样频率为10kHz的低通滤波器,通带截止频率为2kHz,阻带频率为3kHz,可以使用以下代码:```matlabfc = 2000; % 通带截止频率h = fir1(50, fc/(fs/2), 'low');```上述代码中,`50`表示滤波器的长度。
注意,滤波器的长度越大,滤波器的频率响应越陡峭,但计算成本也更高。
在设计完成后,可以使用`freqz`函数来分析滤波器的频率响应。
例如,可以绘制滤波器的幅度响应和相位响应曲线:```matlabfreqz(h);```除了使用`fir1`函数外,MATLAB还提供了其他函数来设计FIR滤波器,如`fir2`、`firpm`、`firls`等,具体使用方式可以参考MATLAB的文档。
在实际应用中,我们可以将FIR滤波器应用于音频处理、图像处理、信号降噪等方面。
例如,可以使用FIR滤波器对音频信号进行去噪处理,或者对图像进行锐化处理等。
FIR数字滤波器的设计与matlab实现知识讲解

zn
]
2 n0
z( N1) / 2
N1
h(n)
1
(n
[z
N1) 2
(n N 1)
z 2]
n0
2
频响:
H(ej)H(z)|zej
ej(N21)N1h(n)cos[(nN1)]
n0
2
其求和项全为实数
将H(ej)表示成相位 ( 函 )和 数 幅度函H数 ()的形,式 即
H (ej)H ( )ej()
下表给出了上述4种类型的线性相位滤 波器的相位响应、时域幅度响应和频域幅 度响应的示意图。
第三部分:线性相位FIR DF的设计方法
窗函数设计法 频率取样设计法 FIR DF的计算机辅助设计(优化设计)
FIR滤波器的设计问题在于寻求一系
N1
统函数 H(z) h(n)zn ,使其频率 n0
响应 H(ej)H(z)|zej 逼近滤波器要求的 理想频率响应 Hd (ej) 。
则
H()
N1
h(n)cos[(n
N1)]
n0
2
() (N1)
2
其中 幅度函数是标量函数,可正可负;
相位函数是的线性函数,且通过原点,即:具有严 格的线性相位特性。
如图所示
2.线性相位FIR滤波器的幅频特性
对于
H()N1h(n)cos(n[N1)]
n0
2
中的各项相对于 (N1)/2对称的项相等。
将相等项合并,因N为奇数,余中间项 h( N 1)
2
故
H()N1h(n)co s[(nN1)]
n0
2
h(N1)(N3)/22h(n)co s[(nN1)]
2
n0
MATLAB在FIR滤波器中的应用

一、基本窗函数 二、窗函数法设计FIR滤波器 三、频率抽样法设计FIR滤波器
基本窗函数
• 1、矩形窗(Rectanglar Window) W=boxcar(n) n-窗函数的长度 example
n=50; y=boxcar(n); [h,w]=freqz(y,1); subplot(2,1,1); stem(y); subplot(2,1,2); plot(w/pi,20*log(abs(h)/abs(h(1))))
• • • •
6、凯塞窗 w=kaiser(n,beta) n-窗函数的长度, beta-用于控制旁瓣的高度,n一定, beta越大,其旁瓣就越小。
二、利用窗函数法设计FIR滤波器
• 1、Fir1函数:设计具有标准频率响应的FIR
• • • • • • (1) b=fir1(n,wn) b=fir1(n,wn,’high’) b=fir1(n,wn,’low’) b=fir1(n,wn,’bandpass’) b=fir1(n,wn,’stop’)
• • • • • •
2、三角窗 w=triang(n) 3、汉宁窗函数 w=hanning(n) w=hanning(n,’symmetric’) w=hanning(n,’periodic’)
• 4、海明窗函数 w=hamming(n) w=hamming(n,sflag) 5、布莱克曼窗函数 w=blackman(n) w=blackman(n,sflag)
三、频率抽取法设计FIR数字滤波器
• 1、Remez函数:通过最佳逼近法设计 FIR滤波器 • b=remez(n,f,a) • 通过最大误差最小化原则,设计一个由f 和a指定幅频响应和实线性相位对称的n 阶FIR数字滤波器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cheng《数字信号处理》课程设计报告FIR数字滤波器设计及MATLAB实现专业:通信工程班级:通信1101班组次:第9组姓名及学号:姓名及学号:目录一、设计目的 (3)二、设计任务 (3)三、设计原理 (3)3.1窗函数法 (3)3.2频率采样法 (4)3.3最优化设计 (5)3.3.1等波纹切比雪夫逼近准则 (5)3.3.2仿真函数 (6)四、设计过程 (7)五、收获与体会 (13)参考文献 (13)FIR 数字滤波器设计及MATLAB 实现一、设计目的FIR 滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
滤波器设计是根据给定滤波器的频率特性,求得满足该特性的传输函数。
二、设计任务FIR 滤波器设计的任务是选择有限长度的()h n ,使传输函数()jw H e 满足一定的幅度特性和线性相位要求。
由于FIR 滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。
设计过程一般包括以下三个基本问题:(1) 根据实际要求确定数字滤波器性能指标;(2) 用一个因果稳定的系统函数去逼近这个理想性能指标;(3) 用一个有限精度的运算去实现这个传输函数。
三、设计原理FIR 滤波器设计的任务是选择有限长度的()h n ,使传输函数()jw H e 满足一定的幅度特性和线性相位要求。
由于FIR 滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。
设计过程一般包括以下三个基本问题:(1) 根据实际要求确定数字滤波器性能指标;(2) 用一个因果稳定的系统函数去逼近这个理想性能指标;(3) 用一个有限精度的运算去实现这个传输函数。
3.1窗函数法设计FIR 数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。
FIR 数字滤波器的设计首先给出要求的理想滤波器的频率响应()jw d H e ,设计一个FIR 数字滤波器频率响应()jw H e ,去逼近理想的滤波响应()jw d H e 。
然而,窗函数法设计FIR 数字滤波器是在时域进行的,因而必须由理想的频率响应()jw d H e 推导出对应的单位取样响应()d h n ,再设计一个FIR 数字滤波器的单位取样响应()h n 去逼近()d h n 。
设计过程如下:*()()()()()IDTFFT w n DTFT j j d d H e h n h n H e ωω−−−→−−−→−−−→(3-1) 加窗的作用是通过把理想滤波器的无限长脉冲响应()d h n 乘以窗函数()w n 来产生一个被截断的脉冲响应,即()()()d h n h n w n =并且对频率响应进行平滑。
MATLAB 工具箱提供的窗函数有:矩形窗(Rectangularwindow)、三角窗(Triangular window)、布拉克曼窗(Blackman window)、汉宁窗(Hanningwindow)、海明窗(Hamming window)、凯塞窗(Kaiser window)、切比雪夫窗(Chebyshev window)。
窗函数主要用来减少序列因截断而产生的Gibbs 效应。
但当这个窗函数为矩形时,得到的FIR 滤波器幅频响应会有明显的Gibbs 效应,并且任意增加窗函数的长度(即FIR 滤波器的抽头数)Gibbs 效应也不能得到改善。
为了克服这种现象,窗函数应该使设计的滤波器:(1) 频率特性的主瓣宽度应尽量窄,且尽可能将能量集中在主瓣内;(2) 窗函数频率特性的旁瓣ω趋于π 的过程中,其能量迅速减小为零。
3.2频率采样法频率采样法是从频域出发,根据频域采样定理,对给定的理想滤波器的频率响应()jw H e 加以等间隔的抽样 ,得到()d h k :(2)()()k N jw d d w H k H e π== k=0,1,…,N -1 (3-2)再利用()d H k 可求得FIR 滤波器的系统函数()H Z 及频率响应()jw H e 。
而在各采样点间的频率响应则是其的加权内插函数延伸叠加的结果。
但对于一个无限长的序列,用频率采样法必然有一定的逼近误差,误差的大小取决于理想频响曲线的形状, 理想频响特性变换越平缓, 则内插函数值越接近理想值,误差越小。
为了提高逼近的质量,可以通过在频率相应的过渡带内插入比较连续的采样点,扩展过渡带使其比较连续,从而使得通带和阻带之间变换比较缓慢,以达到减少逼近误差的目的。
选取w ∈[0,2π]内N 个采样点的约束条件为:{()()()()H k H N k m N m ϕϕ=-=- 01k N ≤≤- (3-3)(1)增大阻带衰减三种方法:1)加宽过渡带宽,以牺牲过渡带换取阻带衰减的增加。
2)过渡带的优化设计利用线性最优化的方法确定过渡带采样点的值,得到要求的滤波器的最佳逼近(而不是盲目地设定一个过渡带值)。
3)增大N 。
如果要进一步增加阻带衰减,但又不增加过渡带宽,可增加采样点数N 。
代价是滤波器阶数增加,运算量增加。
直接从频域进行设计,物理概念清楚,直观方便;适合于窄带滤波器设计,这时频率响应只有少数几个非零值,但是截止频率难以控制。
典型应用:用一串窄带滤波器组成多卜勒雷达接收机,覆盖不同的频段,多卜勒频偏可反映被测目标的运动速度;3.3最优化设计最优化设计方法是指采用最优化准则来设计的方法。
在 FIR DF 的最优化设计中 ,最优化准则有均方误差最小化准则和等波纹切比雪夫逼近(也称最大误差最小化)准则两种。
实际设计中 ,只有采用窗函数法中的矩形窗 才能满足前一种最优化准则 ,但由于吉布斯 (Gibbs )效应的存在,使其根本不能满足设计的要求。
为了满足设计的要求 ,可以采用其它的窗函数来消除吉布斯效应 ,但此时的设计已经不能满足该最优化准则了。
因此 ,要完成 FIR DF 的最优化设计 ,只能采用后一种优化准则来实现。
3.3.1 等波纹切比雪夫逼近准则在滤波器的设计中 ,通常情况下通带和阻带的误差要求是不一样的。
等波纹切比雪夫逼近准则就是通过对通带和阻带使用不同的加权函数 ,实现在不同频段(通常指的是通带和阻带)的加权误差最大值相同 ,从而实现其最大误差在满足性能指标的条件下达到最小值。
尽管窗函数法与频率采样法在FIR 数滤波器的设计中有着广泛的应用, 但两者不是最优化的设计 。
通常线性相位滤波在不同的频带内逼近的最大容许误差要求不同。
等波纹切比雪夫逼近准则就是通过通带和阻带使用不同的加权函数,实现在不同频段(通常指的是通带和阻带) 的加权误差最大值相同,从而实现其最大误差在满足性能指标的条件下达到最小值,即使得()jw d H e 和()jw H e 之间的最大绝对误差最小。
等波纹切比雪夫逼近是采用加权逼近误差()jw E e ,它可以表示为:()()(()())jw jw jw jw d E e W e H e H e =-(3-4)其中,()jw W e 为逼近误差加权函数在误差要求高的频段上,可以取较大的加权值,否则,应当取较小的加权值。
尽管按照 FIR 数字滤波器单位取样响应 h(n)的对称性和 N 的奇、偶性,FIR 数字滤波器可以分为 4 种类型,但滤波器的频率响应可以写成统一的形式:(1)22()()()j N w j k jw H e e e H w π--= (3-5)其中,k ∈{0 ,1} , H (ω)为幅度函数,且是一个纯实数,表达式也可以写成统一的形式:()()()jw d H e Q P ωω= (3-6) 其中,()Q ω为ω的固定函数,()P ω为M 个余弦函数的线性组合。
3.3.2仿真函数利用数字信号处理工具箱中的 remezord 和 remez 函数可以实现 FIRDF 的最优化设计。
在此先介绍这两个函数:(1)n ,fo ,ao ,weights =remezordf ,a ,dev功能:利用 remezord 函数可以通过估算得到滤波器的近似阶数 n ,归一化频率带边界fo ,频带内幅值ao 及各个频带内的加权系数weights 。
输入参数f 为频带边缘频率 ,a 为各个频带所期望的幅度值 ,dev 是各个频带允许的最大波动。
(2)h =remez(n ,fo ,ao ,weights‘, ftype’)功能:利用 remez 函数可以得到最优化设计的FIR DF 的()h n 系数 ,输入参数 n 是滤波器的阶数 ,fo ,ao ,weights 参数含义说明同 (1)。
ftype 是所设计的滤波器类型 ,它除了可以设计普通的滤波器外 ,它还可以设计数字希尔钞特变换器以及数字微分器。
实际设计中 ,由于 remezord 函数可跑高估或低估滤波器的阶数 n ,因此在得到滤波器的系数后 ,必须检查其阻带最小衰减是否满足设计要求。
如果此时的技术指标不能满足设计要求 ,则必须提高滤波器的阶数到 n +1 ,n +2等。
故等波纹切比雪夫逼近法设计FIR 数字滤波器的步骤是:①给出所需的频率响应()jw d H e ,加权函数()jw W e 和滤波器的单位取样响应 ()h n 的长度N 。
②由①中给定的参数来形成所需的()W ω、()d H ω和()P ω的表达式。
③根据Remez 算法,求解逼近问题。
④利用傅立叶逆变换计算出单位取样响应()h n 。
四.程序实现1.窗函数实现程序:passrad=0.4*pi;w1=boxcar(61);w2=hamming(61)n=1:1:61;hd=sin(passrad*(n-31))./(pi*(n-31));hd(31)=passrad/pi;h1=hd.*rot90(w1);h2=hd.*rot90(w2);[mag1,rad]=freqz(h1);[mag2,rad]=freqz(h2);subplot(2,2,1);plot(rad,20*log10(abs(mag1)));grid on;title('designed by Rectangular window');subplot(2,2,2);plot(rad,20*log10(abs(mag2)));grid on;title('designed by Hamming window');[h1,w1]=freqz(h1,1,100,2);subplot(2,2,3);plot(w1,unwrap(angle(h1)));grid on;[h2,w2]=freqz(h2,1,100,2);subplot(2,2,4);plot(w2,unwrap(angle(h2)));grid on;图1 窗函数设计的FIR低通滤波器频率响应结果分析:可以看出,采用特殊的窗函数如Hamming窗,可以减小Gibbs效应,但同时也会使滤波器的过度带变宽。