7.5 MATLAB 滤波器设计工具(FDATool) 
FDATool(Filter Design and Analysis Tool)是 MATLAB 信号处理工具箱提供的一种综合、
简便的图形用户工具。通过该工具提供的先进可视化滤波器集成设计环境,用户可以方便地
设计几乎所有的常规滤波器,包括 FIR 和 IIR 的各种设计方法。本节主要介绍 FDATool 的
各项功能以及设计一款滤波器的关键步骤。 
7.5.1 FDATool 快速入门 
1.  FDATool 启动 
在 MATLAB 命令窗口下,执行“FDATool”命令,按“回车”调出 FDATool 用户图形
界面,如图 7-4-1 所示。 
图 7-4-1 FDATool 启动界面 
2.  FDATool 菜单主要功能介绍 
FDATool 窗口的命令菜单包括 File、Edit、Analysis、Targets、View,下面简要介绍这些
 
 
菜单的意义与功能。 
(1)  File 菜单     
使用菜单【File/Export】可导出或保存设计结果。可以选择导出的是滤波器的系数向量
还是整个滤波器对象(把设计结果导出为滤波器对象 qfilt 时,系统应安装有滤波器设计工
具箱),可以选择把导出结果保存为 MATLAB 工作空间中的变量、文本文件或.MAT 文件。
  
使用菜单【File/Export to C Header File】可以把滤波器系数保存为 C 语言格式的头文件,
其中系数变量的数据类型可以选择。 
使用菜单【File/Export to SPtool】可以把滤波器导出到信号处理工具 SPtool 中。 
使用菜单【File】中与 Session 有关的子菜单,可以把整个设计保存为一个.fda 文件,
或调入一个已有的设计文件,继续进行设计。 
(2)  Edit 菜单 
使用菜单【Edit/Convert】可转换当前滤波器的实现结构。所有滤波器都能在直接Ⅰ型、
直接Ⅱ型、转置直接Ⅰ型、转置直接Ⅱ型、状态空间模型和格形结构之间直接转换。此外,
系统安装滤波器设计工具箱后将有更多的结构形式可供转换。  
使用菜单【Edit/Convert to Second—order Sections】或【Edit/Convert to Single Section】
实现滤波器级联结构与直接型结构之间的转换。  
Analysis 菜单 
使用【Analysis】菜单可以对滤波器设计规格及各项性能进行分析。设计规格包括滤波
器的阶次、通带频率、阻带频率、阻带、采样频率、通带衰减、阻带衰减等。 
滤波器性能指标分析选项包括滤波器幅度响应、相位响应、群延迟响应、相位延迟、脉
冲响应、阶跃响应、零极点图等。FDATool 工具条上的各按钮与【Analysis】菜单中的选项
一一对应(如图 7-4-2 所示)。  
 
图 7-4-2 FDATool 窗口界面快捷工具栏 
(3)  Targets 菜单 
使用菜单【Targets/Generate M-file】菜单可以生成滤波器的 MATLAB 脚步文件。 
使用菜单【Targets/Simulink Model】菜单可以建立 Simulink 模型。 
使用菜单【Targets/XILINX Coefficient (.COE) File】可以生成滤波器的 XILINX 系数文
件。 
使用菜单【Targets/Code Composer Studio (R) IDE】可以将滤波器输出到该代码生成生成
集成开发环境,并可以下载到 DSP 芯片。 
(4)  View 菜单 
View 菜单包括的命令主要有指定滤波器名称,图形放大,全屏显示等。 
3.  FDATool 用户界面介绍 
FDATool 的界面分上、下两个部分:上面部分显示有关滤波器的信息,下面部分用来指
定设计指标参数。 
  在 Response type 下可以选择滤波器类型,包括低通、高通、带通、带阻、微分器、
Hilbert 变换器、多带、任意频率响应、升余弦等(如果安装了滤波器设计工具箱,
则会有更多选项)。 
  在 Design Method 下可以选择设计 IIR 或 FIR 滤波器,每种滤波器又 
可以选择不同的设计方法(例如,IIR 滤波器的设计方法包括巴特沃斯、切比雪夫、
椭圆滤波器、最大扁平、最小 P 阶范数等;FIR 滤波器的设计方法包括等波纹、最
小均方、窗函数、最大扁平、最小 P 阶范数等)。 
  在 Filter  Order 下可以选择滤波器阶数,可以使用满足要求的最小滤波器阶数或直
接指定滤波器的阶数。 
  根据前面两步中选择的设计方法,Options 下会显示与该方法对应的可调节参数。
例如选择 FIR 等波纹设计法时,Options 面板的 Window 中可设置密度系数的大小。 
  选择滤波器的类型、设计方法和滤波器阶数时,相应的设计指标及其含义会在 Filter 
Specifications 中用图形直观地显示出来以供设计参考。这些设计指标的具体参数需
要在 Frequency Specifications 和 Magnitude Specifications 下明确指定。 
指定所有的设计指标后,单击 FDATool 最下面的 Design Filter 按钮即可完成滤波器设计。
(设计完成后 Design Filter 按钮变为不可用,除非再次修改了设计指标)。 
7.5.2  滤波器设计 
1.FIR 滤波器设计 
FIR 滤波器设计时的参数设置主要包括响应类型、滤波器阶次、频率参数、幅度参数及
密度因子等其他选项。 
(1)  响应类型 
在滤波器设计与分析工具 FDATool 中 FIR 滤波器响应类型可以设置为低通、 
高通、带阻、微分器、Hilbert 变换器、多带滤波器、任意幅度响应、升余弦、任意群延迟、
半带低通、半带高通、奈奎斯特、逆 sinc 低通或逆 sinc 高通滤波器。 
(2)  设计方法 
FIR 滤波器的设计方法可以选择为等波纹、最小均方、窗函数、最大扁平、最小 P 阶范
数或约束等波纹。 
(3)  滤波器阶次 
FIR 滤波器的阶次可以由用户指定,也可以选择最小滤波器阶次。 
(4)  频率参数 
频率参数设置包括频率单位、采样频率、带通频率、带阻频率等。其中采 
样频率,带通频率,带阻频率可以由用户根据实际制定,而频率单位可以通过面板上的频率
单位下拉框进行选择,主要包括归一化频率(0-1)、Hz、kHz、MHz 和 GHz 五种选项。 
(5)  幅度参数 
设计低通、高通滤波器时,需要指定通带、阻带频率;设计带通滤波器时,需要指定阻
带 1、通带、阻带 2 的频率;设计带阻滤波器时,需要指定通带 1、阻带、通带 2 的频率。 
例 1: 
设计一个 FIR 低通滤波器,要求:通带衰减 1dB,阻带衰减 40dB,通带截止频率 550Hz,
带阻截止频率 650Hz,采样频率为 2000Hz。 
利用 FDATool 设计滤波器基本步骤如下: 
1)  在 MATLAB 命令窗口下输入“fdatool”命令,“回车”调出滤波器设计界面; 
2)  在 Respone Type 中选择低通滤波器(Lowpass); 
3)  在 Design  Method 中选择 FIR,同时在滤波器设计方法下拉框中选择等波纹
(Equiripple)设计方法; 
4)  在 Filter Order 中选择最小滤波器阶次(Minimum Order); 
5)  Options 中 Desity Factor 默认值为 20; 
6)  在 Frequency  Specification 中指定采样频率 Fs=2000Hz,带通频率 Fpass=650Hz,
带阻频率 Fstop=550Hz; 
7)  在 Magnitude Specification 中指定 Apass=1dB,Astop=40dB; 
8)  单击“Design Filter”即可完成滤波器设计。 
9)  最后,使用菜单【File/Export】可导出或保存滤波器系数 h(n)。 
 
图 7-4-3 设计好的 FIR 低通滤波器参数 
 
7.5.3  滤波器性能分析 
FDATool 不仅提供了滤波器设计工具,而且还提供了滤波器时域与频域的特性分析工
具。本节将对例 1 设计的滤波器的幅度响应、相位响应、群延迟响应、相位延迟、脉冲响应、
阶跃响应、零极点图、滤波器系数,以及滤波器信息等进行分析。 
1.  幅度响应 
单击 FDATool 窗口界面快捷工具栏的【Magnitude  Response】按钮,或者选择菜单栏
【Analysis/Magnitude Response】选项,就可以得到图 7-4-4 所示该型滤波器的幅度响应曲线。 
Magnitude Response (dB)
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Frequency (kHz)
 
图 7-4-4  滤波器的幅度响应曲线 
 
)
B
d
(
 
e
d
u
t
i
n
g
a
M
20
0
-20
-40
-60
-80
-100
0
2.  相位响应 
单击 FDATool 窗口界面快捷工具栏的【Phase  Response】按钮,或者选择菜单栏
【Analysis/Phase Response】选项,就可以得到图 7-4-5 所示该型滤波器的相位响应曲线。 
)
s
e
e
r
g
e
d
(
 
e
s
a
h
P
0
-200
-400
-600
-800
-1000
-1200
-1400
-1600
-1800
0
Phase Response
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Frequency (kHz)
 
图 7-4-5  滤波器的相位响应曲线 
 
3.  幅度与相位响应 
单击 FDATool 窗口界面快捷工具栏的【Magnitude and Phase Responses】按钮,或者选
择菜单栏【Analysis/Magnitude  and  Phase  Response】选项,就可以得到图 7-4-6 所示该型滤
波器的幅度与相位响应曲线。 
)
B
d
(
 
e
d
u
t
i
n
g
a
M
20
-4
-28
-52
-76
-100
0
4.  群延迟 
Magnitude (dB) and Phase Responses
0
-360
-720
)
s
e
e
r
g
e
d
(
 
e
s
a
h
P
-1080
-1440
-1800
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Frequency (kHz)
图 7-4-6  滤波器的幅度与相位响应曲线 
 
单击 FDATool 窗口界面快捷工具栏的【Group Delay Response】按钮,或者选择菜单栏
【Analysis/ Group Delay Response】选项,就可以得到图 7-4-7 所示该型滤波器的群延迟曲线。 
l
)
s
e
p
m
a
s
 
n
i
(
 
y
a
e
d
p
u
o
r
 
l
G
Group Delay
15
14.8
14.6
14.4
14.2
14
13.8
13.6
13.4
13.2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Frequency (kHz)
图 7-4-7  滤波器的群延迟曲线 
5.  相位延迟 
 
单 击 FDATool 窗 口 界 面 快 捷 工 具 栏 的 【 Phase  Delay 】 按 钮 , 或 者 选 择 菜 单 栏
【Analysis/Phase Delay】选项,就可以得到图 7-4-8 所示该型滤波器的相位延迟曲线。 
Phase Delay
2.8
2.6
2.4
2.2
2
1.8
1.6
1.4
)
z
H
/
s
e
e
r
g
e
d
(
 
y
a
e
D
 
e
s
a
h
P
l
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Frequency (kHz)
 
6.  冲击响应 
图 7-4-8  滤波器的相位延迟曲线 
 
单击 FDATool 窗口界面快捷工具栏的【Impulse  Response】按钮,或者选择菜单栏
【Analysis/Impulse Response】选项,就可以得到图 7-4-9 所示该型滤波器的冲击响应曲线。 
e
d
u
t
i
l
p
m
A
Impulse Response
0.6
0.5
0.4
0.3
0.2
0.1
0
-0.1
0
2
4
6
8
Time (mseconds)
10
12
14
图 7-4-9  滤波器的冲击响应曲线