第 27卷 第 3期 延安大学学报 (自然科学版 ) Vol. 27 No. 3
2008年 9月 Journal of Yanan University (Natural Science Edition) Sep12008
基于 MATLAB的巴特沃思数字滤波器设计
黄 同 1 ,王海军 1 ,樊延虎 2 ,苗晓峰 1
( 11延安大学 西安创新学院 理工系 ,陕西 西安 710100; 21延安大学 信息学院 ,陕西 延安 716000)
摘 要 :介绍了巴特沃思 (Butterworth)滤波器的应用、本质、特点、类型和设计实现步骤 ,通过对
MATLAB信号处理工具箱中滤波器实现函数代码
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
,提出了较标准双线性变换法步骤更简便的
数字巴特沃思滤波器设计方法 ,并通过编程仿真实现数据滤波。
关键词 :巴特沃思滤波器 ;数字滤波器 ;MATLAB;无限长冲激响应
中图分类号 : TN911. 72 文献标识码 : A 文章编号 : 10042602X (2008) 0320045204
1 引言
巴特沃思滤波器是 1930年由英国
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
师斯替
芬 ·巴特沃斯 ( Stephen Butterworth)提出的一种经
典模拟滤波器 ,可以构成低通、高通、带通和带阻四
种组态 ,是目前最为流行的一类数字滤波器 ,经过离
散化可以作为数字巴特沃思滤波器 ,较模拟滤波器
具有精度高、稳定、灵活、不
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
阻抗匹配等众多优
点 ,因而在自动控制、语音、图像、通信、雷达等众多
领域得到了广泛的应用。本文介绍使用双线性变换
法设计 IIR巴特沃思数字滤波器的设计原理、步骤
以及在 MATLAB平台的简易仿真实现。
2 数字巴特沃思滤波器的设计
211 巴特沃思滤波器
巴特沃思滤波器 [ 1 ]本质上是按照给定的频率
响应特征 (或参数 )主要有通带截止频率ωp、阻带截
止频率ωs、通带纹波 (最小衰减 )αp、阻带衰减αs 和
截止角频率ωc 寻找到的一种与理想滤波器“逼近 ”
的可以实现的有理函数 H ( s) ,该有理函数一般以模
平 方 即 : H ( jΩ ) 2 给 出 , 目 的 在 于 根 据
| H ( jΩ ) |2 jΩ = 2 = H ( s) H ( - s)的综合的零极点分布
图 ,挑选出满足稳定或最小相位的零极点构成 H
( s) ,而把其他零极点分配给 H ( - s)。
巴特 沃 思 滤 波 器 的 幅 频 特 征 模 平 方 为
H ( jΩ ) 2 = 1 +ΩΩc
2N - 1
,其中 N 为阶数 ;Ωc 为滤
波器的截止角频率 ,又称为滤波器的半功率点或
- 3dB 点。巴特沃思滤波器具有如下特点 : ①最平
响应特性 (最大平坦性 ) ,即巴特沃思滤波器在Ω =
0附近是非常平直的 ,以此逼近理想低通滤波器 ; ②
通带、阻带衰减近似线性 ,这使得该滤波器具有较好
的相位特征 ; ③随着阶数 N 的逐步增大 ,过渡带变
窄 ,即衰减加剧 ,但半功率点不变。
212 IIR数字滤波器的性质
无限长冲激响应 ( IIR )数字滤波器是数字滤波
器的一种 ,数字滤波器根据其冲激响应函数的时域
特性 ,还包括有限长冲激响应 ( F IR )数字滤波器。
IIR数字滤波器的特征是 : ①具有无限持续时间冲
激响应 ; ②需要用递归模型来实现 ,这可以从其差分
方程 y ( n) = ρM
i = 0
bi x ( n - i) - ρN
i = 0
bi y ( n - k)得出 ,也可
以从其系统函数为 : H ( z) =
ρM
i = 0
bi z
- 1
1 - ρN
i = 0
ak z
- 1
得出。
数字巴特沃思滤波器属于 IIR滤波器 ,该类滤
收稿日期 : 2008204215
作者简介 :黄 同 (1980—) ,男 ,河南南阳人 ,延安大学助教 ,硕士。
波器具有特定的性质和设计方法。目前比较成熟的
IIR数字滤波器设计方法有两种 : 1 )直接法 [ 2 ]目前
所用的方法主要是 :零极点累试法、频域幅度平方误
差最小法和时域单位脉冲响应逼近法。直接法的最
大优点在于可以设计任意幅频特征的滤波器。2 )
间接法 [ 3 ] ,目前所用的方法主要是 :冲激响应不变
法、阶跃响应不变法和双线性法。它们都是借助于
已经成熟的现有低通滤波器原型进行设计 ,即对数
字低通数字滤波器 ,先将数字低通滤波器的技术指
标按希望的设计方法转换为模拟低通滤波器的技术
指标 ,再按指定的模拟低通滤波器的类型设计模拟
滤波器 H ( s) , 然后 , 将模拟滤波器的系统函数 H
( s) ,从 S平面转换到 Z平面 ,得到数字低通滤波器
的系统函数 H ( z) ;如所设计的数字滤波器为高通、
带通或带阻滤波器 ,则可借助模拟滤波器的频带变
换转换为低通模拟滤波器。
由于直接法设计巴特沃思滤波器相对复杂 ,在
不需要任意幅频特征的情况下 ,一般采用间接法 ,同
时由于冲激响应不变法和阶跃响应不变法 ,从 S平
面转换到 Z平面的映射为多值映射 ,容易造成频谱
混叠 ,故而本文采用不会产生频谱混叠的双线性变
换法。
213 数字巴特沃思滤波器的双线性变换法设计
设计 IIR滤波器的任务就是寻求一个因果、物
理上可实现的系统函数 H ( z) ,使其频率响应 H ( ejω )
满足所希望得到的频域指标 ,即符合给定的通带截
止频率、阻带截止、通带衰减和阻带衰减等指标。
双线性变换法的基本步骤如下 :
(1)根据任务 ,确定性能指标 :在设计之前 ,首
先根据工程实际的需要确定巴特沃思滤波器的技术
指标 :边界频率 :ωp ,ωs ,ωc;通带最大衰减αp 和阻带
最小衰减αs;
(2)将数字滤波器的技术指标转换成模拟滤波
器指标。双线性变换法的转换关系为 :Ω = 2
T
tan
(ω
2
) ,ω为数字角频率 ,Ω为模拟角频率 , T为取样
周期 ;
(3)用模拟滤波器设计方法得到模拟巴特沃斯
滤波器的传输函数 H ( s) ,这可借助巴特沃思滤波器
相关的严格的设计公式、现成的曲线和图
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
得到 ;
(4)映射实现 :利用双线性变换法关系式 s = 2
T
1 - z- 1
1 + z- 1
将模拟巴特沃思滤波器 H ( s)转换成数字
巴特沃思滤波器 H ( z) ;
(5)用有限精度算法实现这个系统函数 H ( z) ,
同时要确定该滤波器的结构 ,因为如果在硬件上实
现该滤波器必须考虑计算的复杂度、存储容量限制
等因素 ,而用 MATLAB实现无此影响 ;
(6)用合适的软、硬件技术实现该滤波器。
3 数字巴特沃思滤波器的 MATLAB实现
按照传统的方法设计巴特沃思数字滤波器 ,不
论采用何种方法都面临着繁杂的数学计算或反复的
累加试验 ,以验证设计结果是否满足指标要求 ,工作
量巨大、且效率极低。而现代分析信号时 ,使用
MATLAB软件 [ 4 ]是一种高效、简便的设计方法。
311 MATLAB简介
MATLAB是一款高性能数值计算和可视化软
件 ,应用及其广泛。MATLAB软件的诞生 ,尤其是数
字信号处理工具箱 ( Signal Processing Toolbox)和滤
波器设计工具箱 ( Filter Design Toolbox)推出后 ,使
数字信号处理系统的分析与设计问题变得简单了 ,
它为数字信号处理系统的设计与仿真提供了一个强
有力的工具。在设计数字滤波器时 , 通常采用
MATLAB来进行辅助设计和仿真。可方便地分析显
示滤波器系统的幅频、相频特性 ,以及对给定信号经
所设计的滤波器进行滤波前和滤波后的幅频特性。
312 巴特沃思滤波器的 MATLAB设计
由于冲击响应不变法和阶跃响应不变法的不
足 ,下面以双线性变换法设计一个巴特沃思低通滤
波器。这可以严格按照本文 213步骤进行 ,并且有
很多文献 [ 5, 6 ]正是按照这个步骤进行 ,但通过仔细
研究 MATLAB 软件自带的信号处理工具箱下 %
MATLABD IR% \ toolbox \ signal \ signal \ buttord1m
和 %MATLABD IR% \ toolbox \ signal \ signal \ butter1m
等文件 ,可以清楚看到 :MATLAB默认采用双线性变
换法设计 ,因而无需完全严格按照本文 213的步骤进
行 ,完全可以采用更简洁的方法。例如设计如下滤波
器。
滤波器的性能指标如下 :通带截止频率 150
Hz;通带最大衰减αs = 3 dB;阻带最小衰减αs = 60
dB;阻带截止频率 320 Hz。输入信号为混合信号 ,
低频信号 f = 50 Hz,高频信号 f = 400 Hz,取样间隔 T
= 800 - 1 s,实验目的在于从输入信号中滤除掉高频
64 延安大学学报 (自然科学版 ) 第 27卷
信号 ,仅留下低频信号。
MATLAB程序如下 :
clf; clear;
%准备输入信号
FL = 50;
FH = FL3 8;
n = 0: 299;
in1 = cos(23 p i3 FL3 n / (23 FH) ) ;
% in2代码略
in = in1 + in2;
%绘制输入信号
subp lot(2, 2, 2) ;
p lot( n, in) ; axis( [ 0 299 - 2 2 ] ) ;
ylabel(‘幅度 ’) ;
title (‘输入信号 ’) ;
%设计巴特沃思滤波器
Wp = 150 /FH;W s = 320 /FH;
[ n,W n ] = buttord (Wp,W s, 3, 60) ;
[ b, a ] = butter( n,W n) ;
%巴特沃思滤波器频响特征
[ H , w ] = freqz( b, a, FH, 23 FH) ;
% [ H, w ] = freqz( b, a, 256,‘whole’, 1) ;
%求频率响应 ;
H r = abs(H) ; %求幅频 ;
Hphase = angle (H) ; %求相频 ;
Hphase = unwrap (Hphase) ; %解卷绕 ;
subp lot(2, 2, 1)
p lot(w, H r) ; grid on;
sztitle = sp rintf (‘% d阶巴特沃思低通滤波器
频响特征 ’, n) ;
title ( sztitle) ;
ylabel(‘幅频响应 ’)
xlabel(‘归一化频率 ’)
subp lot(2, 2, 3)
p lot(w, Hphase) ; grid on;
ylabel(‘相频响应 ’)
xlabel(‘归一化频率 ’)
%使用设计的滤波器滤波 ,产生输出信号
out = filter( b, a, in) ;
%绘制输出信号
subp lot(2, 2, 4) ;
p lot( n, out) ; axis( [ 0 299 - 2 2 ] ) ;
ylabel(‘幅度 ’) ;
title (‘输出信号 ’) ;
程序运行结果如下。滤波器幅频特征如图 1所
示 ,滤波器相频特征如图 2所示 ,输入信号如图 3所
示 ,输出信号如图 4所示。
图 1 滤波器幅频特征 图 2 滤波器相频特征
74 第 3期 基于 MATLAB的巴特沃思数字滤波器设计
图 3 输入信号 图 4 输出信号
4 结束语
本文介绍的用 MATLAB对数字巴特沃思滤波
器设计的方法 ,在众多方面有很好的应用 ,本文介绍
的简易方法还可以用于其他常用滤波器 ,例如切比
雪夫 (Chebyshev)滤波器、椭圆 (Cauer)滤波器、贝塞
尔 (Besse1)滤波器等。但巴特沃思滤波器的缺陷也
很明显 ,首先其相位不是线性的 ,另外对低通巴特沃
思滤波器来说 ,在通带内的Ω = 0附近非常逼近理
想滤波器 ,但是在Ω =Ωc 附近效果并不好 ,也即它
不是等纹波的逼近理想滤波器。
参考文献 :
[ 1 ]郑君里 1信号与系统 [M ]1高等教育出版社 , 20001 [ 2 ]程佩青 1数字信号处理
教程
人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程
[M ]1清华大学出版 , 20021[ 3 ]A1V1奥本海姆 1数字信号处理 [M ]1北京 :机械工业出版社 119991[ 4 ]飞思科技产品研发中心 1MATLAB7辅助信号处理技术与应用 [M ]1北京 :电子工业出版社 , 20051[ 5 ]陈爱萍 ,胡爱东 1基于 MATLAB的 IIR数字滤波器的设计 [ J ]1湖南工程学院学报 , 2004, 14 (3) : 8 - 101[ 6 ]王冬 ,王华 1基于 MATLAB的 IIR数字滤波器的设计技术 [ J ]1应用能源技术 , 2006, 3: 47 - 501[责任编辑 朱联营 ]
Design Of Butterworth D ig ita l Filter Based on MATLAB
HUANG Tong1 , WANG Hai2jun1 , FAN Yan2hu2 , M IAO Xiao2feng1
(1. Department of Electronics, Innovation College of Yanan University, Xian 710100, China;
2. College of Physics and Electronic Information, Yanan University, Yanan 716000, China)
Abstract: The app lications, essence, characteristics, types, the design and imp lementation step s of the Butterworth
filter were introduced. Through analysis of filter’s function code in the matlab signal p rocessing toolbox, the Butter2
worth filter method simp le than the standard bilinear transform was designed. The data filting was imp lemented by
p rogramm ing and simulation.
Key words: butterworth filter; digital filter; MATLAB; IIR
84 延安大学学报 (自然科学版 ) 第 27卷