模拟滤波器设计演示的软件实现.
数字信号课程设计
课程名称数字信号处理课程设计
实验项目模拟滤波器设计演示的软件实现实验仪器计算机
学院/系别通信工程
班级/学号
学生姓名
实验日期
成绩
指导教师
题目四模拟滤波器设计演示的软件实现
一.设计目的
①熟悉和巩固模拟滤波器的设计方法和原理;
②熟练掌握MATLAB工具软件在工程设计中的使用;
③熟练掌握模拟滤波器的设计及由ALPF到各型模拟滤波器的幅频特性对比。二.设计内容
①动态演示由ALPF到模拟各型滤波器幅度特性曲线;
②分析并说明由冲击响应不变法设计BSF和HPF加保护滤波器的必要性。
三、设计要求
①理论分析B型ALPF的设计及由ALPF到模拟各型滤波器的设计过程;
②动态演示由ALPF到模拟各型滤波器幅度特性曲线;
③通带、过渡带和阻带分别用不同的颜色;
④分析并说明由冲击响应不变法设计BSF和HPF加保护滤波器的必要性。
四、实验仪器
计算机1台,安装MATLAB软件
五、实验步骤
①设计过程详见教材相关内容;
②使用巴特沃斯滤波器,其阶数N应该根据实际参数计算(计算公式和方法如教材所述),为方便作图,这里指定阶数为N=5,并假定通带截止频率ωp=1rad,阻带截止频ωs=2 rad,;
③分别用不同颜色曲线绘制通带、过渡带和阻带。要求根据变换关系动态
演示低通滤波器和目标滤波器的幅度特性。
④简要说明采用冲击响应不变法对AHPF和ABSF数字化时保护滤波器的作用。
摘要
MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,是一种科学计算软件,主要适用于矩阵运算及控制和信息处理领域的分析设计,它使用方便,输入简捷,运算高效,内容丰富。
本课题在设计模拟滤波器的过程中,首先对设计的原理及方法做了非常详细的分析,特别是在设计高通滤波器的过程中,利用现有低通滤波器的系统函数,在经过简单的转化之后,可以直接设计出这种滤波器,但在实际手工计算中特别麻烦,所以本实验全是利用MATLAB的中设计滤波器专用工具箱,在对低通的技术指标确定之后,通过调用buttord、butter等函数,实现了对巴特沃斯模拟低通滤波器的设计,通过调用lp2hp、lp2bp、lp2bs等函数实现了从模拟低通到高通的转化,并对图形做了对比分析
关键词:MATLAB;滤波器;巴特沃斯;系统函数
目录
1 课题描述 (5)
2模拟滤波器的设计 (6)
2.1模拟低通滤波器的设计指标及逼近方法 (6)
2.2 巴特沃斯低通滤波器的设计 (7)
2.3 模拟滤波器的转化原理 (10)
2.4低通到高通的频率转换 (11)
3设计过程 (11)
3.1软件介绍 (11)
3.2设计内容 (12)
3.3设计步骤 (12)
4程序运行结果及分析 (14)
总结 (15)
参考文献 (16)
1 课题描述
滤波器(filter),是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到某些特定频率或消除某些特定频率。滤波器分为模拟滤波器和数字滤波器,尽管数字滤波器有很多的优势,但设计数字滤波器滤波器的基础很多都是应用模拟滤波器而设计的。
模拟滤波器按幅度特性可分为低通,高通,带通和带阻滤波器,但我们设计滤波器时,总是先设计低通滤波器,再通过频率变换将低通滤波器转波换成希望的滤器。模拟滤波器的理论和设计方法已发展的相当成熟。且有若干典型的模拟滤波器供我们选择,如巴特沃斯(Butterworth)滤波器,切比雪夫(Chebyshev)滤波器,椭圆(Ellipse)滤波器,贝塞尔(Bessel)滤波器等,这几种滤波器各有特点,巴特沃斯滤波器具有单调下降的幅频特性;切比雪夫滤波器的幅频特性在通带或阻带有波动,可以提高选择性;贝塞尔滤波器通带内有较好的线性相位特性;椭圆滤波器的选择性相对前三种是最好的。
本课题正是在设计好低通滤波器的基础上在逐步转变为高通滤波器的,由于在设计的过程中运算相当大,所以在设计中使用了MATLAB软件,MATLAB是MATrix LABoratory的缩写,早期主要用于现代控制中复杂的矩阵、向量的各种运算。MATLAB以矩阵作为基本编程单元,它提供了各种矩阵的运算与操作,并有较强的绘图功能。本课题利用了MATLAB在设计滤波器上的强大功能,通过设置参通过设置参数和调用工具箱函数butter,cheby,cheby2等可以直接计算出模拟滤波器,并画出其幅频特性,实现了从模拟低通滤波器到模拟高通的幅度特性对比演示,清晰地比较了这两种滤波器的功能及用途。
2模拟滤波器的设计
2.1模拟低通滤波器的设计指标及逼近方法
在本课题中,分别用)
(t h a 、)
(s H a 、)
(Ωj H a 表示模拟滤波器的单位冲击响应、
系统函数、频率响应函数,三者的关系如下:
dt
e t h t h LT s H st a a a ?∞
∞--==)()]([)( (2.1.1)
dt
e t h t h FT j H t j a a a ?∞
∞
-Ω-==Ω)()]([)( (2.1.2)
可以用
)
(t h a 、
)
(s H a 、
)
(Ωj H a 中任意一个描述模拟滤波器,也可以在线性厂系
数微分方程描述模拟滤波器。但是设计模拟滤波器时,设计指标一般有幅频相应函数
)
(Ωj H a 给出,而模拟滤波器设计就是根据设计指标,求系统函数
)
(s H a 。
工程实际中通常用所谓的损耗函数(也称为衰减函数))(ΩA 来描述滤波器的幅频响应特性,对归一化幅频响应函数,)(ΩA 定义如下(其单位是分贝,用dB 表示):
dB
j H j H A a a 2
)(lg 10)(lg 20)(Ω-=Ω-=Ω (2.1.3)
模拟低通滤波器的设计指标参数有
p
α、
p
Ω、
s α和s Ω。其中p Ω和s Ω分别表示
通带边界频率和阻带截止频率,p α称为通带最大衰减,s α称为最带最小衰减,p α和
s α的单位为dB 。
模拟滤波器的技术指标给定后,需要设计一个系统函数)
(s H a ,希望其幅度
平方函数满足给定的指标。一般滤波器的单位脉冲响应为实函数,因此
)
()(|)()()(*
2
ΩΩ=-=ΩΩ=j H j H s H s H j H a a j s a a a (2.1.4)
如果能由
p
α、
p
Ω、
s
α和
s
Ω求出
2
)
(Ωj H a ,那么就可以求出)
()(s H s H a a -,由
此可求出所需要的
)
(s H a 。)
(s H a 必须是因果平稳的,因此极点必须落在s 平面的
左半平面,相应的)
(s H a -的极点必然落在右半平面。这就是由
)
()(s H s H a a -求所
需求的
)
(s H a 的具体原则,即模拟低通滤波器的逼近方法。因此幅度平方函数在
模拟滤波器的设计中起着很重要的作用。
2.2 巴特沃斯低通滤波器的设计
巴特沃斯低通滤波器的幅度平方函数
2
)
(Ωj H a 用下式表示:
N
c a j H 22
11)(???
?
??ΩΩ+=
Ω (2.2.1)
式中,N 为滤波器的阶数。当0=Ω,
1
)(=Ωj H a ;c
Ω=Ω时,
21)(=
Ωj H a ,
c
Ω是3dB 截止频率。以s 替换Ωj ,将幅度平方函数2
)
(Ωj H a 写成s 的函数:
N
c a a s H s H 211)()(???
?
??ΩΩ+=
- (2.2.2)
复变量Ω+=j s σ,此式表明幅度平方函数有2N 个极点,极点k s
用下式表示:
)
21221(c c 21)(j )
1(N
k j N
k e
s ++Ω=Ω-=π (2.2.3)
式中,12,,2,1,0-=N k ΛΛ。N 2个极点等间隔分布在半径为c Ω
的圆上(该圆成
为巴特沃斯园),间隔是rad
N
π
。
为形成因果稳定的滤波器,N 2个极点中只取s 平面左半平面的N 个极点构成
)
(s H a ,而右半平面的N 个极点构成
)
(s H a -。
)
(s H a 的表达式为:
()
∏-=-Ω=
10
)(N k k
N
c
a S S s H (2.2.4)
设N=3,极点有6个,它们分别为:
ππππ3
1543133
2213
20,,,,j c c j c j c c j c e
s s e
s e s s e
s Ω=Ω=Ω=Ω=Ω-=Ω=-- (2.2.5)
取s 平面左半平面的极点
2
10s s s 、、组成系统函数
)
(s H a ,即:
()?
??? ??Ω-???? ??Ω-Ω+Ω=
-ππ32323(s)j c j c c c
a e s e s s H (2.2.6)
由于不同的技术指标对应的边界频率和滤波器幅频特性不同,为使设计公式和图表统一,将频率归一化。巴特沃斯滤波器采用对dB 3截止频率c
Ω归一化,
归一化以后的系统函数为:
∏-=???
? ??Ω-Ω=Ω1
01)(
N k c k c c
a s s s G (2.2.7)
式中,c c j s ΩΩ=Ω,令
c ΩΩ=λ,λ称为归一化频率;令c s
j p Ω=
+=λη,p 称为归一化复变量,这样巴特沃斯滤波器的归一化低通原型系统函数为:
()
∏-=-=
10
1
)(N k k
a p p p G (2.2.8)
式中,
c k
k s p Ω=
,k p 为归一化极点,用下式表示:
)
21221(N
k j k e
p ++=π 1,,1,0-=N k Λ (2.2.9)
将极点展开可得到的
)
(p G a 的分母p 的N 阶多项式,用下式表示:
022111
)(b p b p b p p G N N N N N a ++++=
----Λ (2.2.10)
归一化原型系统函数
)(p G a )
(p H a 的系数
k
b ,以及极点
k
p ,可由下表得到:
巴特沃斯归一化低通滤波器分母多项式的因式分解
所以只要求出巴特沃斯滤波器的阶数N 和dB 3截止频率c
Ω,就可以求出滤
波器的系统函数
)
(s H a 。所以巴特沃斯滤波器的设计实质上就是根据设计指标求
阶数N 和dB 3截止频率c
Ω的过程。下面介绍确定N 的方法。
确定技术指标:
p
α、
p
Ω、
s α和s Ω。将c Ω=Ω代入幅度平方函数中得:
10
2101p
N
c
p α=?????
? ??ΩΩΩ+ (2.2.11)
同理可得:
10
2101s
N
c s
α=?????
? ??ΩΩΩ+ (2.2.12)
由以上两式可得:
1101101010--=?
??? ??ΩΩP s
N
p s αα (2.2.13)
令:
p
s ΩΩ=
sp λ ,
1101
101010--=
P
s
sp k αα (2.2.14)
则N 由下式表示:
sp
lg
λsp
k N = (2.2.15)
用上式求出的N 可能有小数部分,应该取大于或等于N 的最小整数。关于
dB 3截止频率c Ω,如果技术指标中没有给出,可以有式求出得:
(
)
N
p c P
211.01
10
-
-Ω=Ωα (2.2.16)
(
)
N
S c S
211.01
10
-
-Ω=Ωα (2.2.17)
根据阶数N 直接查上表可得
)
(p H a ,再将
)
(p H a 去归一化,将
c s
p Ω=
代入
)
(p H a 得到实际的滤波器系统函数:
c
s p a a p H s H Ω==|
)()( (2.2.18)
这里的
c
Ω为dB 3截止频率。
2.3 模拟滤波器的转化原理
首先介绍各种频率变化公式。从p 域到s 域映射的可逆变换记为()S F p =。
低通系统函数)(p Q 与
()
s H d 之间的转换关系为
()()
S F p d p Q s H ==|)( (2.3.1)
()()
p F s d s H p Q 1|)(-== (2.3.2)
2.4 低通到高通的频率转换
从低通到高通滤波器的映射关系为:
s
p ph
Ω=
p λ (2.3.3)
在虚轴上该映射关系简化为如下频率变换公式:
Ω
Ω-
=ph
p λλ (2.3.4) 其中,
ph
Ω为希望设计的高通滤波器
()
s H Hp 的通带边界频率。所以只要将式
带如式,就可以将通带边界频率p
λ的低通滤波器的系统函数)(p Q 转换成通带边
界频率为
ph
Ω的高通滤波器系统函数:
()s
p a Hp ph
p H s H Ω=
=p |
)(λ (2.3.5)
3设计过程
3.1软件介绍
3.1.1 MATLAB 特点
MATLAB 是一种科学计算软件,适用于工程应用个领域的分析设计与复杂计算,它使用方便,输入简捷,运算高效且内容丰富,很容易由用户自行扩展。因此,当前已成为美国和其他发达国家大学教学和科学研究中最常用且必不可少的工具。
MATLAB 以矩阵作为基本编程单元,它提供了各种矩阵的运算与操作,并有较强的绘图功能。MATLAB 集科学计算、图像处理、声音处理于一身,是一个高度的集成系统,有良好的用户界面,并有良好的帮助功能。MATLAB 不仅流行于控制界,在机械工程、生物工程、语音处理、图像处理、信号分析、计算
机技术等各行各业中都有极广泛的应用。MATLAB语言的特点1.编程效率高2.用户使用方便3.扩充能力强4.语句简单,内涵丰富5.高效方便的矩阵和数组运算6.方便的绘图功能
数字信号处理的主要对象是数字信号,且是采用运算的方法达到处理目的,因此,其实现方法不同于模拟信号的实现方法,基本上可以分为两种实现方法,即软件实现方法和硬件实现的方法。而硬件实现指的是选用合适的DSP芯片,配有适合芯片语言及任务要求的软件,实现某种信号处理功能的一种方法。数字信号处理的特点1.灵活性2.高精度和高稳定性3.便于大规模集成4.对数字信号可以存储、运算;系统可以获得高性能指标
3.2设计内容
模拟滤波器设计演示——从模拟低通滤波器到模拟高通的幅度特性对比演示。
使用巴特沃斯滤波器,其阶数N应该根据实际参数计算(计算公式和方法如教材所述),为方便作图,这里指定阶数为N=5,并假定通带截止频率Ωp=1rad,阻带截止频率Ωs=2 rad,;
3.3设计步骤
根据要求首先设计模拟低通滤波器,由于题中没给通带的最大衰减和阻带的最小衰减,所以在本题中先设出这两个技术指标,但最后计算N仍然为题目所要
的5,进过几次试验,得出合适的值分别为αp=2dB,αs=30dB。利用巴特沃斯设计的模拟滤波器的程序如下:
低通滤波器的程序:
wp=1,ws=2;rp=2, as=30;%设置滤波器的参数
[n,wc]=buttord(wp,ws,rp,as,'s') %计算滤波器阶数n和2dB截止频率wc
[b,a]=butter(n,wc,'s'); %计算滤波器系统函数分子分母多项式系数f=0:1/100:0.5;wk=2*pi*f;
hk=freqs(b,a,wk);
plot(f,abs(hk));grid on
xlabel('频率(Hz)');ylabel('幅度')
低通到高通的转化程序:
wp=1,ws=2;rp=2,as=30; %设置滤波器的参数
[n,wc]=buttord(wp,ws,rp,as,'s') %计算滤波器阶数n和3dB截止频率wc [b,a]=butter(n,wc,'s'); %计算滤波器系统函数分子分母多项式系数[bh,ah]=lp2hp(b,a,2);%低通到高通的转化
f=0:1/100:0.5;wk=2*pi*f;
hk=freqs(bh,ah,wk);
plot(f,abs(hk));grid on
xlabel('频率(Hz)');ylabel('幅度')
综合绘图程序:
wp=1,ws=2;rp=2,as=30; %设置滤波器的参数
[n,wc]=buttord(wp,ws,rp,as,'s'); %计算滤波器阶数n和3dB截止频率wc [b,a]=butter(n,wc,'s'); %计算滤波器系统函数分子分母多项式系数f=0:1/1000:1;wk=2*pi*f;
hk=freqs(b,a,wk)
n1=ceil(wp/(2*pi)/0.001);
n2=ceil((ws-wp)/(2*pi)/0.001);
n3=1/0.001-n1-n2;
subplot(2,1,1)
n11=[1/1000:1/1000:n1/1000]
plot(n11,abs(hk(1:n1)),'y-');
hold on
n12=[(n1+1)/1000:1/1000:(n1+n2)/1000];
plot(n12,abs(hk((n1+1):(n1+n2))),'g-');
hold on
n13=[(n1+n2+1)/1000:1/1000:(n1+n2+n3)/1000];
plot(n13,abs(hk((n1+n2+1):(n1+n2+n3))),'b-');
xlabel('频率(Hz)');ylabel('幅度');axis([0,0.6,0,1.2])
title('低通滤波器');grid on
[bh,ah]=lp2hp(b,a,2); %低通到高通的转化
f=0:1/1000:1;wk=2*pi*f;
hk=freqs(bh,ah,wk);
subplot(2,1,2)
n11=[1/1000:1/1000:n1/1000];
plot(n11,abs(hk(1:n1)),'y-');
hold on
n12=[(n1+1)/1000:1/1000:(n1+n2)/1000];
plot(n12,abs(hk((n1+1):(n1+n2))),'g-');
hold on
n13=[(n1+n2+1)/1000:1/1000:(n1+n2+n3)/1000];
plot(n13,abs(hk((n1+n2+1):(n1+n2+n3))),'b-');
xlabel('频率(Hz)');ylabel('幅度');axis([0,0.6,0,1.2])
title('高通滤波器');grid on
4程序运行结果及分析
由以上程序可得低通、高通滤波器的幅度图如下,运行结果如下图所示:
图中我们可以清晰地看出各种滤波器的幅频特性且用不同颜色表示出各种滤波器的通带和阻带,在低通滤波器中,可以看出通带的截止频率的阻带的截止频率,同时通过简单的转化得出了高通滤波器的幅频特性,结果与要求一致,效果理想。总结
就这门课程的设计需要另外的一门课程做辅助,现在的辅助工具是MATLAB,在设计的过程中让我更好的学好,和对它也有了比较深的体会。通过这次课程设计,我掌握了编译程序的原理以及步骤,还有编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,构造工具及其相关的技术。
在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。做完这个设计,和同学也聊过,有同学认为,这个过程中走了不少的弯路。但是我认为,每个软件,每个语言对于同一结果的实验都是有不同的方案可以选择,不同的路径可以走,那是毫无疑问的。我知道虽然我做完了这个设计,但是我的程序,绝对不是最优的,但是,经过这次我已经入门,相信在以后学习的过程的中,我会比较轻松的掌握好MATALB和数字信号处理的模拟,以及MATLAB在其他数字信号方面的运用。在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
在此感谢我们的王缓缓老师,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。
参考文献
[1]《数字信号处理》(第三版),丁玉美,高西全.西安电子科技大学出版社,2000.
[2]《MATLAB及在电子信息课程中的应用》,陈怀堔,吴大正,高西全.电子工业出版社,2006.
[3]《MATLAB 7.0从入门到精通》,求是科技.人民邮电出版社,2006.
[4]《数字信号处理(第三版)》学习指导,高西全,丁玉美.西安科技大学出版社,2001.