设计要求:
IIR 高通、带通和带阻数字滤波器设计
巴特沃思数字高通滤波器设计:
抽样频率为 10kHZ,,通带截止频率为 2.5 kHZ,通带衰减不大于 2dB,阻带上限
截止频率 1.5kHZ ,阻带衰减不小于 15 dB
巴特沃思数字带通滤波器设计:
抽样频率为 10kHZ,,通带范围是 1.5 kHZ 到 2.5 kHZ,通带衰减不大于 3dB,在
1kHZ 和 4kHZ 处衰减不小于 20 dB
巴特沃思数字带阻滤波器设计:
抽样频率为 10kHZ,,在-2 dB 衰减处的边带频率是 1.5 kHZ,4 kHZ, 在-13dB 衰
减处频率是 2kHZ 和 3kHZ
分别绘制这三种数字滤波器的幅度响应曲线和相位响应曲线;
采用切比雪夫Ⅰ型滤波器为原型重新设计上述三种数字滤波器;
分别绘制这三种数字滤波器的幅度响应曲线和相位响应曲线;
对两种滤波器原型的设计结果进行比较
课 程 设 计 学 生 日 志
时间
2010.07.03
2010.07.05
2010.07.06
2010.07.07
2010.07.08
2010.07.09
设计内容
在书上和上网查阅相关资料,确定方案
根据设计需要,详细查阅学习相关知识
根据需要编写函数和相应程序
整理程序,并进行调试
检查指标并分析结果
书写程序设计报告
课 程 设 计 考 勤 表
周
星期一
星期二
星期三
星期四
星期五
课 程 设 计 评 语 表
指导教师评语:
成绩:
指导教师:
年 月 日
IIR 高通、带通和带阻数字滤波器设计
一、 设计目的和意义
随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现集成电
路技术与计算机技术结合在一起, 使得对数字信号处理系统功能的要求越来越强。
DSP 技术就是基于 VLSI 技术和计算机技术发展起来的一门重要技术,DSP 技术已在
通信、控制 信号处理、仪器仪表、医疗、家电等很多领域得到了越来越广泛的应用.在
数字信号处理中数字滤波占有极其重要的地位。数字滤波在语音信号、图象处理模式识
别和谱分析等领域中的一个基本的处理技术。数字滤波与模拟滤波相比数字滤波具有很
多突出的优点,主要是因为数字滤波器是过滤时间离散信号的数字系统,它可以用软件
(计算机程序)或用硬件来实现,而且在两种情况下都可以用来过滤实时信号或非实时
信号。尽管数字滤波器这个名称一直到六十年代中期才出现,但是随着科学技术的发展
及计算机的更新普及,数字滤波器有着很好的发展前景,在各个领域中越用越广乏。
二、 设计原理
㈠、数字滤波器的工作原理
在数字滤波中,我们主要讨论离散时间序列。如图 1 所示。设输入序列为 nx ,离散或数字滤
波器对单位抽样序列 n 的响应为 nh 。因 n 在时域离散信号和系统中所起的作用相当于单位
冲激函数在时域连续信号和系统中所起的作用。
nx
zx
数 字 滤 波 器
nh
,H(z)
图 1 数字滤波器原理
ny
zy
数字滤波器的序列 ny 将是这两个序列的离散卷积,即
ny
k
knxkh
同样,两个序列卷积的 z 变换等于个自 z 变换的乘积,即
zY
zXzH
用
z
Tje
代入上式,其中 T 为抽样周期,则得到
(1.4)
(1.5)
Tj
Tj
eH
eX
eY
TjeX 和
Tj
TjeY 分别为数字滤波器输入序列和输出序列的频谱,而
TjeX 经过滤波后,变为
eH
TjeH 使的滤波后的
eH
式中
列响应 nh 的频谱。由此可见,输入序列的频谱
照
TjeX 的特点和我们处理信号的目的,选取适当的
(1.6)
Tj
Tj
TjeH 为单位抽样序
eX
eX
Tj
Tj
,按
符合
我们的要求。
按信号通过系统时的特性(主要是幅频特性)来分类:可以有低通、高通、带通和带阻四种基
本类型。
①低通数字滤波器:图 1.3 所示
)
(
j
eH
c
0
c
(
eH
j
)
|H(ejω)|
-2π
-fs
-π
-fs/2
-ωc
-fc
ωc
fc
π
fs/2
π
2π
fs
f
图 1.3 低通数字滤波器的频谱
② 高通数字滤波器:图 1.4 所示
(
eH
j
)
j
(
)
eH
0
c
c
|H(ejω)|
-2π
-π
-ωc
ωc
π
2π
图 1.4 高通数字滤波器的频谱
③ 带通数字滤波器:图 1.5 所示
(
eH
j
)
j
)
(
eH
2
0
,
0|
|
2
1
1
|H(ejω)|
-2π
-π
-ω1
-ω2
ω2
ω1
π
2π
图 1.5 带通数字滤波器的频谱
④带阻数字滤波器:图 1.6 所示
(
eH
j
)
j
(
)
0|
eH
1
0
2
|
,
1
2
|H(ejω)|
-2π
-π
-ω1
-ω2
ω2
π
ω1
2π
图 1.6 带阻数字滤波器的频谱
其他较复杂的特性可以由基本滤波器组合。
㈡、IIR 滤波器设计
IIR 数字滤波器采用下面的主要步骤:
1、 冲击响应不变法
冲激响应不变法的设计原理是利用数字滤波器的单位抽样响应序列 H(z)来逼近
模拟滤波器的冲激响应 g(t)。
按照冲激响应不变法的原理,通过模拟滤波器的系统传递函数 G(s),可以直接求得数字
滤波器的系统函数 H(z),其转换步骤如下:
1) 利用ω=ΩT(可由关系式
推导出),将 , 转换成 ,Ω,而 , 不变;
2) 求解低通模拟滤波器的传递函数 G(s);
3) 将模拟滤波器的传递函数 G(s)转换为数字滤波器的传递函数 H(z)。
尽管通过冲激响应不变法求取数字滤波器的系统传递函数比较方便,并具有良好的时域
逼近特性,但若 G(s)不是带限的,或是抽样频率不高,那么在
中将发生混叠失
真,数字滤波器的频率响应不能重现模拟滤波器的频率响应。只有当模拟滤波器的频率
响应在超过折叠频率后的衰减很大时,混叠失真才很小,此时采样脉冲响应不变法设计
的数字滤波器才能满足设计的要求,这是冲激响应不变法的一个严重的缺点。
的频率映射关系是根据
由于
推导的,所以使 jΩ轴每隔 2π/Ts便映射到单位
圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为
了克服这一问题,需要找到由 s平面到 z平面的另外的映射关系,这种关系应保证:
1) s平面的整个 jΩ轴仅映射为 z平面单位圆上的一周;
2) 若 G(s)是稳定的,由 G(s)映射得到的 H(z)也应该是稳定的;
3) 这种映射是可逆的,既能由 G(s)得到 H(z),也能由 H(z)得到 G(s);
4) 如果 G(j0)=1,那么
。
双线性 Z变换满足以上 4 个条件的映射关系,其变换公式为
(4-10)
双线性 Z变换的基本思路是:首先将整个 s平面压缩到一条从–π/Ts到π/Ts的带宽为
2π/Ts的横带里,然后通过标准的变换关系
将横带变换成整个 z平面上去,这样
就得到 s平面与 z平面间的一一对应的单值关系。
在 MATLAB 中,双线性 Z变换可以通过 bilinear 函数实现,其调用格式为:
[Bz,Az]=bilinear(B,A,Fs);
其中 B,A 为模拟滤波器传递函数 G(s)的分子分母多项式的系数向量,而 Bz,Az 为数字
滤波器的传递函数 H(z)的分子分母多项式的系数向量。
的频率映射关系是根据
由于
推导的,所以使 jΩ轴每隔 2π/Ts便映射到单位
圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为
了克服这一问题,需要找到由 s平面到 z平面的另外的映射关系,这种关系应保证:
1) s平面的整个 jΩ轴仅映射为 z平面单位圆上的一周;
2) 若 G(s)是稳定的,由 G(s)映射得到的 H(z)也应该是稳定的;
3) 这种映射是可逆的,既能由 G(s)得到 H(z),也能由 H(z)得到 G(s);
4) 如果 G(j0)=1,那么
。
双线性 Z变换满足以上 4 个条件的映射关系,其变换公式为
(4-10)
双线性 Z变换的基本思路是:首先将整个 s平面压缩到一条从–π/Ts到π/Ts的带宽为
2π/Ts的横带里,然后通过标准的变换关系
将横带变换成整个 z平面上去,这样
就得到 s平面与 z平面间的一一对应的单值关系。
在 MATLAB 中,双线性 Z变换可以通过 bilinear 函数实现,其调用格式为:
[Bz,Az]=bilinear(B,A,Fs);
其中 B,A 为模拟滤波器传递函数 G(s)的分子分母多项式的系数向量,而 Bz,Az 为数字
滤波器的传递函数 H(z)的分子分母多项式的系数向量。
IIR 数字滤波器经典设计法的一般步骤是:
(1)根据给定的性能指标和方法不同,首先对设计性能指标中的频率指标进行转
换,转换后的频率指标作为模拟滤波器原型设计性能指标。
(2)估计模拟低通滤波器最小阶数和边界频率,利用 MATLAB 工具函数 buttord、
cheb1ord 等。
(3)设计模拟低通滤波器原型,利用 MATLAB 工具函数 buttap、cheb1ap 等。
(4)由模拟低通原型经频率变换获得模拟滤波器(低通、高通、带通、带阻),利
用 MATLAB 工具函数 lp2lp、lp2hp、lp2bp、lp2bs。
(5)将模拟滤波器离散化获得 IIR 数字滤波器,利用 MATLAB 工具函数 bilinear。
设计 IIR 滤波器时,给出的性能指标通常分为数字指标和模拟指标两种。
数字性能指标给出通带截止频率 p ,阻带截止频率 s ,通带衰减 pR ,阻带衰减 sR
等。数字频率 p 和 s 的取值范围为 0~π,单位:弧度,而 MATLAB 工具函数常采用
标准化频率, p 和 s 的取值范围为 0~1。
MATLAB 使用[n,Wn]=buttword(Wp,Ws,Rp,Rs); [n,Wn]=buttword(Wp,Ws,Rp,Rs,’s’),来计
算滤波器所需的最小阶数。参数如下:(频率单位为 rad/s)
Wp:通带截至频率
Ws:阻带截至频率
Rp:通带允许的最大衰减
Rs:阻带应达到的最小衰减
N:滤波器所需最小阶数
Wn:滤波器的截至频率(3DB 带宽截至频率)
对模拟滤波器阶数计算必须指定 s,数字滤波器无需指定。
在确定了模拟滤波器的阶数后,就进行模拟低通滤波器的原型设计。
函数 BUTTER 用于 Butterworth 滤波器设计,调用格式:
[b,a]=butter(n,
n ,’s’)
[b,a]=butter(n,
n ,’ftype’,’s’)
其中,n 为滤波器阶数; n 为滤波器截止频率,‘s’为模拟滤波器,确省时为数字
滤波器。
‘ftype’滤波器类型:
‘high’为高通滤波器,截止频率 n ;
2
‘stop’为带阻滤波器, n =
1
(
1 );
2
‘ftype’缺省时为低通或带通滤波器。
三、 详细设计步骤
1. 数字高通滤波器设计
抽样频率为 10KHZ,通带截止频率为 2.5KHZ,通带衰减不大于 2dB,阻带上限截止频
率为 1.5KHZ,阻带衰减不小于 15 dB。程序及波形:
巴特沃斯:
%计算巴特沃斯滤波器阶次
%频率变换法设计
Ap=2;As=15;
Nn=1000;
Fs=10000;
wp=2500*2/Fs; ws=1500*2/Fs;
[N,wn]=buttord(wp,ws,Ap,As);
和截止频率
[b,a]=butter(N,wn,'high');
巴特沃斯高通滤波器
[db,mag,pha,grd,w]=freqz_m(b,a);
subplot(2,1,1)
plot(w/pi,mag);
xlabel('w/pi');
ylabel('幅度/dB');
title('高通巴特沃斯滤波器')
grid on;
subplot(2,1,2);
plot(w/pi,180/pi*unwrap(pha));