基于MATLAB低通滤波器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
- --
通信系统仿真课程设计任务书
院〔系〕:电气信息工程学院
- -
目录
1 绪论1
1.1 引言1
1.2 数字滤波器的设计原理1
1.3 数字滤波器的应用2
1.4 MATLAB的介绍3
1.5 本文的工作及安排3
2 滤波器分类及比拟5
2.1 滤波器的设计原理错误!未定义书签。
2.2 滤波器分类 (5)
2.3 两种类型模拟滤波器的比拟7
3 巴特沃斯低通滤波器8
3.1 巴特沃斯低通滤波器简介8
3.2 巴特沃斯低通滤波器的设计原理8
4 MATLAB仿真及分析12
4.1 MATLAB工具箱函数12
4.2 巴特沃斯低通滤波器的MATLAB仿真12
另附程序调试运行截图:14
5.1 总结14
5.2 展望错误!未定义书签。
1 绪论
1.1 引言
但凡有能力进展信号处理的装置都可以称为滤波器。
滤波器在如今的电信设备和各类控制系统里面应用范围最广、技术最为复杂,滤波器的好坏直接决定着产品的优劣。
自60年代起由于计算机技术、集成工艺和材料工业的开展,滤波器开展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。
使以数字滤波器为主的各种滤波器得到了飞速的开展,到70年代后期,数字滤波器的单片集成已被研制出来并得到应用。
80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。
90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。
当然,对数字滤波器本身的研究仍在不断进展。
[1]
滤波器主要分成经典滤波器和数字滤波器两类。
从滤波特性上来看,经典滤波器大致分为低通、高通、带通和带阻等。
本文主要对低通数字滤波器做主要研究。
1.2 数字滤波器的设计原理
所谓数字滤波器,是指输入、输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相比照例,或者滤除某些频率成分的数字器件或程序。
因此,数字滤波器的概念和模拟滤波一样,只是信号的形式和现实滤波方法不同。
正因为数字滤波器通过数值运算实现实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。
如果要处理的是模拟信号,可以通过A/DC 和D/AC ,在信号形式上进展匹配转换,同样可以使用数字滤波器对模拟信号进展滤波。
[2]
大多数的数字滤波器都归类于选频滤波器,其频率响应函数)(ωj e H 如下:
)()()(ωθωωj j j e e H e H = 〔1.1〕
式中,)(ωj e H 称为幅频特性函数;称为相频特性函数。
幅频特性反响的是信号从此滤波器通过后各个频率成分的振幅衰减情况,相频特性表示的是经过滤波器之后各个频率成分在时间上的延时情况。
因此,即使两个滤波器幅频特性一样,而相频特性不同,对一样的输入,滤波器输出的信号波形也是不一样的。
通常情况下幅频特性决定了选频滤波器的技术要求,因为巴特沃斯低通滤波器具有固定的相频特性,所以设计时对相频特性根本没有要求。
图1.1低通滤波器的技术要求
图1.1是低通滤波器的幅频特性,p ω和s ω表示通带边界频率和阻带截止频率。
通带频率范围为0≤ω≤p ω,在通带(0,p ω)中要求1)(11≤<-ωδj e H ,阻带频率范围为s ω≤ ω≤π,在阻带(s ω,π)中要求2)(δω≤j e H 。
从p ω到s ω为过渡带,过渡带上的频响一般是单调下降的。
一般情况下用分贝数表示通带及阻带内允许的衰减,通带范围内允许的最大衰减为p α,阻带范围内允许的最小衰减为s α。
p α和s α在低通滤波器里分别用下式定义:
dB H H lg 20p
j 0j p )
()
(ωα = 〔1.2〕 dB H H lg 20s
j 0j s )
()
(ωα = 〔1.3〕 从上式可以看出p α愈小,通带波纹与通带逼近误差愈小;s α愈大,阻带波纹越小与阻带逼近误差愈小;p ω和s ω之间的距离愈小,过渡带也随之变得更加狭窄。
所以通带边界频率p ω、阻带边界频率s ω、通带最大衰减p α、阻带最小衰减s α决定了低通滤波器的设计指标。
1.3 数字滤波器的应用
数字乘法器、加法器及延时单元三者共同构成了数字滤波器。
其功能是对输入离散信号的数字代码进展运算处理,以到达改变信号频谱的目的。
由于电子计算机技术和大规模集成电路的开展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
[3]数字滤波器在很多领域都得到了广泛的应用,如图像信号处理、语言信号处理、医学生物信号处理等等,其中使用最普遍的是线性时不变数字滤波器。
近年来电子技术开展的非常迅速,数字滤波器的使用范围也随之发生了翻天覆地的改变:从家用的收音机、电视机到航天用的测控设备;从矿井用的通信机到巡航导弹;从超市用的报警器到日常生活的手机,由于电子产品门类及使用频段的不断扩展,各种电子设备之间的干扰也日趋严重,因而数
1δ-δ
字滤波器不但是确保电子产品本身正常可靠工作的重要部件,而且是减少相互影响、确保正常工作环境的重要器件,因而,可以毫不夸X地说,在具有特定功能的电子产品中均有滤波器的踪迹可寻。
1.4 MATLAB的介绍
数字信号处理最重要的局部之一就是数字滤波器的设计,MATLAB的工具箱函数里有非常丰富的相关设计指令,掌握其应用后可以大大提高工作的效率。
MATLAB名字由MATrix和LABoratory两词的前三个字母组合而成。
新墨西哥大学计算机科学系主任Cleve Moler教授在20世纪七十年代年后期,为减轻大学生编程压力,用FORTRAN设计出一组使用简单方便的接口用来调用LINPACK和EISPACK库程序,这就是MATLAB的雏形。
经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert 合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。
从此开场采用C语言来编写MATLAB的内核,在原来数值计算能力的根底上还推出了数据图视功能。
MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包〔如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC〕纷纷淘汰,而改以MATLAB为平台加以重建。
在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。
到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头。
在欧美大学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。
这几乎成了九十年代教科书与旧版书籍的区别性标志。
在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的根本工具。
在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。
在许多国际一流学术刊物上,〔尤其是信息科学刊物〕,都可以看到MATLAB的应用。
在设计研究单位和工业部门,MATLAB被认作进展高效研究、开发的首选软件工具。
如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。
又如HP公司的VXI硬件,TM公司的DSP ,Gage公司的各种硬卡、仪器等都承受MATLAB 的支持。
[4]
1.5本文的工作及安排
本文主要工作安排如下:
(1)对巴特沃斯低通滤波器的一些根底理论进展详细阐述;
(2)对巴特沃斯低通滤波器、切比雪夫Ⅰ型和Ⅱ型滤波器、椭圆滤波器四种典型滤波器加以简单的阐述,然后把四种滤波器加以比拟,最后得出巴特沃斯低通滤
波器在实际应用中的种种优点;
(3)通过双线性变换法设计巴特沃思低通滤波器,然后用MATLAB软件对其进展仿
真。
2 滤波器分类及比拟
2.1 滤波器的设计原理
滤波器是使信号中特定的频率成分通过的选频装置,从而到达大幅度衰减其它频率成分的目的。
通过其选频作用,测试装置时就可以分析频谱或滤除干扰噪声。
广义地讲,任何一种信息传输的通道〔媒质〕都可视为是一种滤波器。
因为,任何装置的响应特性都是鼓励频率的函数,都可用频域函数描述其传输特性。
因此,构成测试系统的任何一个环节,诸如机械系统、电气网络、仪器仪表甚至连接导线等等,都将在一定频率范围内,按其频域特性,对所通过的信号进展变换与处理。
2.2 滤波器分类
⒈从选频作用对滤波器分类 ⑴低通滤波器
在0~f 2范围内,幅频特性几乎呈水平 开展,低于f 2的频率几乎不衰减通过, 高于f 2的频率几乎不能通过。
⑵高通滤波器
从f 1~∞,幅频特性几乎呈水平开展。
高于f 1的频率几乎不衰减通过,低于 f 1的频率几乎不能通过。
⑶带通滤波器
在f 1~f 2之间是带通通滤波器的通频带。
高于f 1低于f 2的频率成分几乎不衰减通过,其它成分几乎不能通过。
⑷带阻滤波器
频率f 1~f 2之间是傣族滤波器的阻带。
高于f 1低于f 2的频率几乎不能通过,其余频率几乎不衰减通过。
0 f2
f
图2.1 低通滤波器
0 f1 f
图2.2高通滤波器
0 f1 f2 图2.3带通滤波器
f
图2.4 带阻滤波器
低通滤波器和高通滤波器是组成滤波器最根本的两种形式,剩下的滤波器都能分解演变成这两种滤波器,如:低通滤波器同高通滤波器进展串联可以成为带通滤波器,低通滤波器同高通滤波器进展并联可以成为带阻滤波器。
⒉ 从“最正确逼近特性〞的方面来分类 ⑴巴特沃斯滤波器
从幅频特性提出要求,而不考虑相频特性。
因为巴特沃斯滤波器具有最大平坦幅度的特性,它的幅频响应如下:
n
2/11
H )()(n ωωω+=
(2.1)
图2.5 巴特沃斯滤波器的频响特性
〔2〕椭圆滤波器的设计
在通带和阻带内椭圆滤波器同时具有等波纹幅频响应特性。
因为极点位置与经典场论中的椭圆函数具有一定关联,所以叫做椭圆滤波器。
同时十九世纪三十年代初科学家考尔对椭圆滤波器第一次进展了理论上的证明,它也叫做考尔滤波器。
椭圆滤波器的典型幅频响应特性曲线如图2.7和2.8所示。
由图2.7可见,椭圆滤波器通带和阻带波纹幅度固定时,阶数越高,过渡带越窄;由图2.8可见,当椭圆滤波器阶数固定时,通带和阻带波纹幅度越小,过渡带就越宽。
所以椭圆滤波器的阶数N 由通带边界频率p Ω、阻带边界频率s Ω、通带最大衰减p α和阻带最小衰减s α共同决定。
[5]
它的典型幅频响应特性如图2.7和2.8所示。
(ωH c
ωω/
100-
300-
ω
ϕ
图2.7 椭圆滤波器的典型幅频响应特性曲线
图2.8 椭圆滤波器的典型幅频响应特性曲线
2.3 两种类型模拟滤波器的比拟
图2.9和图2.10是巴特沃思和椭圆滤波器的频响特性曲线。
调用MATLAB滤波器涉设计函数,很容易验证:当阶数一样时,对一样的通带最大衰减和阻带最小衰减,巴特沃斯滤波器具有单调下降的幅频特性,过渡带最宽。
比椭圆滤波器的过渡带宽。
巴特沃斯滤波器的最大平坦幅度特性致使它在实际中应用最为广泛,所以本文主要对巴特沃斯低通滤波器进展研究。
3 巴特沃斯低通滤波器
3.1 巴特沃斯低通滤波器简介
巴特沃斯滤波器是电子滤波器的一种,特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带那么逐渐下降为零。
这种滤波器最先由英国工程师斯替芬·巴特沃斯〔Stephen Butterworth 〕在1930年发表在英国?无线电工程?期刊的一篇论文中提出的,可以构成低通、高通、带通和带阻四种组态,[7]是目前最为流行的一类数字滤波器 ,经过离散化可以作为数字巴特沃思滤波器 ,较模拟滤波器具有精度高、稳定、灵活、不要求阻抗匹配等众多优点 ,因而在自动控制、语音、图像、通信、雷达等众多领域得到了广泛的应用,是一种具有最大平坦幅度响应的低通滤波器。
[8]
3.2 巴特沃斯低通滤波器的设计原理
巴特沃斯低通滤波器的幅度平方函数2
a j H )(Ω用下式表示:
N
2c
2a
11
j H )
()(ΩΩ+=Ω〔3.1〕 N 为滤波器的阶数。
当Ω=0时,)(Ωj H a =1;Ω=c Ω时,)
(Ωj H a =1/2,c Ω是3dB 截止频率。
Ω=c Ω时,Ω逐渐增大,幅度下降非常迅速。
Ω、N 同幅度特性关系如图3.1所示。
N 决定了幅度下降速度,N 越大,通带就越平坦,过渡带也随之变窄,阻带幅度同过渡带下降的速度越迅速,总体频响特性同理想低通滤波器的实际误差越小。
图3.1 Ω、N 同幅度特性关系
用s 代替Ωj ,把幅度平方函数2
a j H )(Ω变成s 的函数:
N
2c
a a j s 11
s -H s H )
()
()(Ω+= 〔3.2〕 s=Ω+j σ,此公式说明了幅度平方函数有2N 个极点,极点k s 可以用下面的公式来表达:
c
Ω1
0.707
)()
()(N
21
k 221j c N 21k 2j 2
j
c N
21k 2j c k j s ++++Ω=Ω=Ω=πππ
π
〔3.3〕
k=0,1,2,···,2N-1。
2N 个极点等间隔分布在半径为c Ω的圆上,间隔是π/N rad 。
如图3.2所示:
图3.2三阶巴特沃斯滤波器极点分布
为形成稳定的滤波器,2N 个极点中只取s 平面左半平面的N 个极点构成)(s H a ,而右半平面的N 个极点构成)
(s H a -。
)(s H a 的表示式为 ∏-=-Ω=10
a )
(s H N k k N c
s s )
( 〔3.4〕 例如N=3,通过下式可以计算出6个极点
π3
2j c 0s
Ω=,π
j c 1s Ω=,π3
4j c 2s
Ω=,π3
5j c 3s
Ω=,π
2j c 4s
Ω=,π3
7j c 5s
Ω=
当N=3时,6个极点中位于左半平面的三个分别为:
π3
2j c 0s
Ω=,c j c 1-s Ω=Ω=π
,π3
4j c 2s
Ω=
取s 平面左半平面的极点210s s s ,,组成)
(s H a : )
)()(()(ππ
32
j -c
32j c c 3c
a -s -s s s H ΩΩΩ+Ω= 〔3.5〕 将∏=ΩΩ=1
-N 0k c k c
a s -s
1
s H )()(对3dB 截止频率Ωc 归一化: 归一化后的)
(s H a 表示为: ∏=ΩΩ=1
-N 0k c k c
a s -s 1
s H )()( 〔3.6〕
令λj j s p c
c =ΩΩ=Ω=
,p 称为归一化拉氏复变量。
c /ΩΩ=λ,λ称为归一化频率。
经过归一化后巴特沃斯滤波器的传输函数为:
∏
==1
-N 0
K k a p -p 1
p H )()( 〔3.7〕 式中,c k k /s p Ω=为归一化极点,k s 为位于左半平面的极点用下式表示:
1-N 1,0k p N
21
k 221j k
,,)
(==++π 〔3.8〕
将极点表示式(3.8)代入(3.7)式,得到的)
(p H a 的分母是p 的N 阶多项式,用下式表示: N N N a p
p b p b p b b p H ++⋅⋅⋅+++=
--1122101
)( 〔3.9〕
下面来确定N
由技术指标p α,p Ωs α和s Ω确定。
在定义
2
p a p j H lg 10-)(Ω=α 〔3.10〕2
p a p j H lg 10-)(Ω=α 〔3.11〕
N
2c
2
a 11
j H )
()(ΩΩ+=
Ω 〔3.12〕 中,将Ω=p Ω和Ω=s Ω分别代入(6.2.6)式中,得到2
p a j H )(Ω和2
a s j H )(
Ω,再将 2
p a j H )(Ω和2
a s j H )(
Ω代入(3.13)和(3.14)式中,得到: ],)(
11
lg[
102N
c
p
p ΩΩ+-=α 〔3.13〕
])
(11
lg[102N c
s s ΩΩ+-=α〔3.14〕
整理得:
10
/p 10
1N 2c
p
α=ΩΩ+)(
〔3.15〕
10/s 101N
2c
s α=ΩΩ+)( 〔3.16〕
由(3.15)和(3.16)式得到:
1
-101-1010/s 10/p N
s p
αα
=ΩΩ)( 〔3.17〕
令
1
101
-10k /10/10
/sp sp s p -=
ΩΩ=ααλ,p s 〔3.18〕
那么N 由下式表示:
sp
sp lg lgk -
N λ= 〔3.19〕
取大于等于N 的最小整数。
关于3dB 截止频率c Ω,如果技术指标中没有给出,可以按照(3.18)式或(3.19)式求出,
10
/N
2c
p p 10
1α=ΩΩ+)(
〔3.20〕
10/N
2c
s s 101α=ΩΩ+)(
〔3.21〕
由(3.20)式得到:
2N
1
-.10p c 1-10
p
)(αΩ=Ω 〔3.22〕
由(3.21)式得到:
2N
1
-.10s c 1-10
s
)
(αΩ=Ω (3.23)
经过总结,巴特沃斯低通滤波器的设计步骤大致为:
①通过p Ω,p α,s Ω和s α的值,用公式sp
sp
lg lgk -N λ=算出滤波器的阶数0N 。
②根据公式1-N 1,0k p N
21
k 221j k ,,)
(==++π,求出归一化极点k p ,将k p 代入
∏
==1
-N 0
k k a p -p 1
p H )()(中,得出归一化传输函数)(p H a 。
③将)(p H a 去归一化。
将p=s/Ωc 代入)(p H a 之中,从而得到实际的滤波器传输函数)
(s H a 。
4 MATLAB 仿真及分析
4.1 MATLAB 工具箱函数
MATLAB 的信号处理工具箱提供了滤波器的函数 buttap 、buttord 、butter 。
由[z,p,k] = buttap(n)函数可设计出n 阶巴特沃斯低通滤波器原型,其传递函数为
))(())2())(1((1
)(n p s p s p s s H -Λ--=
〔4.1〕 所以事实上z 为空阵。
上述零极点形式可以化为:
11
)(b s b s b s k
s H n i n n
++Λ++=-- 〔4.2〕 其中n c b ω=0,令s c /rad 1=ω,得到巴特沃斯滤波器归一化结果,如表1所示。
表1 8~1n =阶的巴特沃斯滤波器系数
buttord 函数可在给定滤波器性能的情况下 ,选巴特沃斯滤波器的阶数 n 和截止频率c ω,从而可用butter 函数设计巴特沃斯滤波器的传递函数。
[9]
[n ,c ω] = buttord (p ω,c ω,Rp ,Rs ,′s′) 可得到足性能的模拟巴特沃斯滤波器的最小阶数 n 及截止频率c ω ,其中p ω为通带的拐角频率,s ω为阻带的拐角频率,p ω和s ω的单位均为rad/s;Rs 为通带区的最大波动系数,Rp 为Rs 阻带区的最小衰减系数, Rs 和Rp 的单位都为dB 。
[b,a] = butter (n,c ω,′s′) 可设计截止频率为c ω的n 阶低通模拟巴特沃斯滤波器,其传递函数为: [10]
)
1()2()
1()2()1()()()(11++Λ++++Λ++==--n a s a s n b s b s b s A s B s H n n n n (4.3)
4.2 巴特沃斯低通滤波器的MATLAB 仿真
由于冲击响应不变法和阶跃响应不变法的缺乏 ,下面以双线性变换法设计一个巴特沃
思低通滤波器。
通过仔细研究MATLAB 软件自带的信号处理工具箱下%:MATLABD IR%\ toolbox \ signal \ signal \ buttord.m 和%MATLABD IR% \toolbox \signal\signal\butter.m ,
可以清楚看到:MATLAB默认采用双线性变换法设计,其实完全可以采用更简洁的方法。
[8]
α=3dB,阻带截止滤波器的性能指标如下:通带截止频率fp=2400Hz,通带最大衰减p
α=25dB
频率fs=5000Hz,阻带最小衰减
s
MATLAB程序如下:
%巴特沃斯低通滤波器
f_N=16000; %采样率
f_p=2400; f_s=5000; R_p=3; R_s=25; %设计要求指标
Ws=f_s/(f_N/2); Wp=f_p/(f_N/2); %计算归一化角频率
[n, Wn]=buttord(Wp,Ws,R_p,R_s); %计算阶数和截止频率
[b,a]=butter(n, Wn); %计算H(z)
freqz(b,a, 1000, 8000) %作出H(z)的幅频相频图, freqz(b,a, 计算点数, 采样率) subplot(2,1,1); axis([0 4000 -30 3])
图4.1假定的输入信号的频谱和滤波器的输出信号的频谱
另附程序调试运行截图:
5.1 总结
首先本文介绍的用MATLAB对数字巴特沃思滤波器设计的方法,在众多方面有很好的应用,本文介绍的简易方法还可以用于其他常用滤波器, [8]例如椭圆(Cauer)滤波器等。
其次利用本文的MATLAB工具箱函数就可以轻而易举地设计出满足性能指标要求的巴特沃斯滤波器的频率特性曲线,使得巴特沃斯滤波器的设计变得更加简单、快捷、直观。
[9]
参考文献
[1]徐明远邵玉斌.MATLAB仿真在通信与电子工程中得应用〔第二版〕.XX电子科技大
学, 2021
[2]互联网,matlab论坛——.ilovematlab./。