基于MATLAB的巴特沃斯低通滤波器的设计_第1页
基于MATLAB的巴特沃斯低通滤波器的设计_第2页
基于MATLAB的巴特沃斯低通滤波器的设计_第3页
基于MATLAB的巴特沃斯低通滤波器的设计_第4页
基于MATLAB的巴特沃斯低通滤波器的设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上姓名: 班级: 学号: 时间:2011年6月 设计题目基于MATLAB的巴特沃斯低通滤波器的设计设计要求1. 通过实验加深对巴特沃斯低通滤波器基本原理的理解。 2学习编写巴特沃斯低通滤波器的MATLAB仿真程序3. 滤波器的性能指标如下:通带截止频率fp=5kHz,通带最大衰减=2dB,阻带截止频率fs=12kHz,阻带最小衰减=30dB设计过程1. 设计原理1.1 巴特沃斯低通滤波器简介:巴特沃斯滤波器是的一种,特点是内的曲线最大限度平坦,没有起伏,而在则逐渐下降为零。这种滤波器最先由斯替芬·巴特沃斯(Stephen Butterworth)在发表在英国无

2、线电工程期刊的一篇论文中提出的,可以构成低通、高通、带通和带阻四种组态,是目前最为流行的一类数字滤波器 ,经过离散化可以作为数字巴特沃思滤波器 ,较模拟滤波器具有精度高、稳定、灵活、不要求阻抗匹配等众多优点 ,因而在自动控制、语音、图像、通信、雷达等众多领域得到了广泛的应用,是一种具有最大平坦幅度响应的低通滤波器。1.2巴特沃斯低通滤波器的设计原理:巴特沃斯低通滤波器的幅度平方函数用下式表示: 其中 N为滤波器的阶数。当=0时,=1;=时,=1/,是3dB截止频率。=时,逐渐增大,幅度下降非常迅速。、N同幅度特性关系如图1.1所示。N决定了幅度下降速度,N越大,通带就越平坦,过渡带也随之变窄,

3、阻带幅度同过渡带下降的速度越迅速,总体010.707N=2N=4N=8频响特性同理想低通滤波器的实际误差越小。图1.1 、N同幅度特性关系用s代替,把幅度平方函数变成s的函数: s=,此公式说明了幅度平方函数有2N个极点,极点可以用下面的公式来表达: k=0,1,2,···,2N-1。2N个极点等间隔分布在半径为的圆上,间隔是/N rad。如图1.2所示:01 图1.2 三阶巴特沃斯滤波器极点分布为形成稳定的滤波器,2N个极点中只取s平面左半平面的N个极点构成,而右半平面的N个极点构成。的表示式为 例如N=3,通过下式可以计算出6个极点,当N=3时,6个极点中位于

4、左半平面的三个分别为:,取s平面左半平面的极点组成: 将对3dB截止频率c 归一化后的表示为: 令,p称为归一化拉氏复变量。 ,称为归一化频率。经过归一化后巴特沃斯滤波器的传输函数为: (1.1)式中,为归一化极点,为位于左半平面的极点用下式表示: 将极点表示式代入(1.1)式,得到的的分母是p的N阶多项式,用下式表示: 下面来确定N:由技术指标, 和确定。在定义 (1.2) (1.3) (1.4) 中,将=和=分别代入(1.4)式中,得到和,再将和代入(1.2)和(1.3)式中,得到: 整理得: (1.5) (1.6)由(1.5)和(1.6)式得到: 令 (1.7) 则N由下式表示: (1.

5、8) 取大于等于N的最小整数。关于3dB截止频率,如果技术指标中没有给出,可以按照(1.7)式或(1.8)式求出, (1.9) (1.10) 由(1.9)式得到: 由(1.10)式得到: 2设计方案 方案一:用冲激响应不变法设计巴特沃斯低通滤波器 冲激响应不变法是使数字滤波器的单位冲激序列h(n)模仿模拟滤波器的单位冲激响应ha(t)。将模拟滤波器的单位冲激响应加以等间隔抽样,使h(n)正好等于ha(t)的抽样值,即满足: h(n)= ha(nT) 其中T是抽样周期。如果令Ha(s)是ha(t)的拉普拉斯变换,H(z)为h(n)的z变换,利用抽样序列的z变换与模拟信号的拉普拉斯变换的关系,得:

6、 可看出,脉冲响应不变法将模拟滤波器的S平面变换成数字滤波器的Z平面,这个从s到z的变换z=esT是从S平面变换到Z平面的标准变换关系式。冲激响应不变法使得数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,也就是时域逼近良好,而且模拟频率和数字频率之间呈线性关系=T。但是此方法有一个明显的缺点就是有频率响应的混叠效应,所以,脉冲响应不变法只适用于限带的模拟滤波器(例如,衰减特性很好的低通或带通滤波器),而且高频衰减越快,混叠效应越小。 方案二:双线性变换法设计IIR数字滤波器双线性变换法是使数字滤波器的频率响应与模拟滤波器的频率响应相似的一种变换方法。为了克服多值映射的缺点,采用把整个

7、s平面频率压缩方法,将整个频率轴上的频率范围压缩到-/T/T之间,再用z=esT转换到Z平面上。也就是说,第一步先将整个S平面压缩映射到S1平面的-/T/T一条横带里;第二步再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1.3所示。图1.3双线性变换的映射关系为了将S平面的整个虚轴j压缩到S1平面j1轴上的-/T到/T段上,可以通过以下的正切变换实现T是采样间隔。当1由-/T经过0变化到/T时,由-经过0变化到+,也即映射了整个j轴。将式(1-5)写成将此关系解析延拓到整个S平面

8、和S1平面,令j=s,j1=s1,则得再将S1平面通过以下标准变换关系映射到Z平面z=es1T从而得到S平面和Z平面的单值映射关系为: (2-1) (2-2)式(2-1)与式(2-2)是S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换。双线性变换法与冲激响应不变法相比,其主要的优点是避免了频率响应的混叠现象,虽然在线性方面有些欠缺,但是可以通过频率的预畸来加以校正且计算比冲激响应不变法方便,实现起来比较容易,所以,本设计选择用双线性变换法设计巴特沃斯低通滤波器。 3设计步骤由于冲击响应不变法的不足 ,下面以双线性变换法设计一个巴特沃思低通滤波器。通过仔细研究M

9、ATLAB软件自带的信号处理工具箱下%:MATLABD IR% toolbox signal signal buttord.m和%MATLABD IR% toolbox signalsignalbutter.m ,可以清楚看到:MATLAB默认采用双线性变换法设计,其实完全可以采用更简洁的方法。8滤波器的性能指标如下:通带截止频率fp=5kHz,通带最大衰减=2dB,阻带截止频率fs=12kHz,阻带最小衰减=30dB3.1MATLAB中所需函数ATLAB的信号处理工具箱提供了滤波器的函数 buttap、buttord、butter。由z,p,k = buttap(n)函数可设计出n阶巴特沃斯

10、低通滤波器原型,其传递函数为 所以事实上z为空阵。上述零极点形式可以化为: 其中,令,得到巴特沃斯滤波器归一化结果,如表1所示。表1 阶的巴特沃斯滤波器系数n b7 b6 b5 b4 b3 b2 b1 b01 1.00002 1.4142 1.0000 3 2.0000 2.0000 1.0000 4 2.6131 3.4142 2.6131 1.0000 5 3.2361 5.2361 5.2361 3.2361 1.0000 6 3.8637 7.4641 9.1416 7.4641 3.8637 1.0000 7 4.4940 10.0978 14.5918 14.5918 10.097

11、8 4.4940 1.0000 8 5.1258 13.1371 21.8462 25.8462 21.8462 13.1371 5.1258 1.0000buttord函数可在给定滤波器性能的情况下 ,选巴特沃斯滤波器的阶数 n 和截止频率,从而可用butter函数设计巴特沃斯滤波器的传递函数。9n , = buttord (,s) 可得到足性能的模拟巴特沃斯滤波器的最小阶数 n及截止频率 ,其中为通带的拐角频率, 为阻带的拐角频率, 和的单位均为rad/s; 为通带区的最大波动系数,为阻带区的最小衰减系数, 和的单位都为dB。b,a = butter (n,s) 可设计截止频率为的n 阶低

12、通模拟巴特沃斯滤波器,其传递函数为: 103.2具体设计步骤经过总结,巴特沃斯低通滤波器的设计步骤大致为:(1)通过,和的值,用公式算出滤波器的阶数。(2)根据公式,求出归一化极点,将代入 中,得出归一化传输函数。(3)将去归一化。将p=s/c代入之中,从而得到实际的滤波器传输函数。3.3 MATLAB程序MATLAB 程序如下:(1).输入信号的时域波形和频谱的设计:close all;N=256;t=linspace(0,1,N);dt=t(2)-t(1);xt=cos(2*pi*4*t)+cos(2*pi*10*t)+cos(2*pi*20*t);f=(0:(N/2-1)/(dt*N);

13、Xt=fft(xt,N);subplot(2,1,1),plot(t(1:128),xt(1:128);subplot(2,1,2),plot(f(1:64),abs(Xt(1:64),xlabel('f(kHz)')(2)输出的巴特沃斯低通滤波器的波特图的设计Qc=5.2775;b0=1;b1=3.2361;b2=5.2361;b3=b2;b4=b1;Q=f %Q=linspace(0,25,N);Ha=Qc5./(j*Q).5+b4*Qc*(j*Q).4+b3*Qc2*(j*Q).3+b2*Qc3*(j*Q).2+b1*Qc4*(j*Q)+b0*Qc5);L=length(

14、Ha)Has=20*log10(abs(Ha);figure,plot(Q(1:64),Has(1:64),Q,-30,'r*',12,Has,'*',5,Has,'*'),axis(0 30 -70 2),xlabel('f(kHz)'),ylabel('20lg(abs(H_a(jOmega)(dB)');(3)巴特沃斯低通滤波后的时域波形和频谱的设计Yt=Xt(1:L).*Ha ;yt=ifft(Yt);figure,subplot(2,1,1),plot(t(1:128),abs(yt(1:128),sub

15、plot(2,1,2),plot(f(1:64),abs(Yt(1:64);xlabel('f(kHz)')4运行结果及分析4.1图形结果显示:图4.1输入信号的时域波形和频谱图 4.2 输出的巴特沃斯低通滤波器的波特图 图4.3 进行巴特沃斯低通滤波后的时域波形和频谱4.2结果分析(1)由图4.1与图4.3的比较可知:经过巴特沃斯低通滤波器后,当信号频率大于10Hz时可以被滤除,起到良好的低通滤波效果,而且可以将输入信号的波形经过滤波后的波形比原波形的振幅有所减小,去除了很多由于噪声或其他因素所产生的干扰,且通带和阻带都有平坦的幅度响应。(2)从如图4.2中看出设计出的巴特沃

16、斯低通滤波器的幅度特性与理想的巴特沃斯低通滤波器特性曲线一致,满足预订指标。5实验总结与心得经过本次课程设计,让我熟悉了数字信号处理的基本知识和MATLAB的m语言,把课上的理论知识运用到实际中去,更近一步地巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。因为学过数字信号处理这门课,但这只是理论知识,通过实验我们才能真正理解其意义。经过这次的课程设计,让我有机会将自己学到的理论知识运用到实际中,提高了自己的动手能力和思维能力。在课程设计中发现自己的不足,所以在今后的学习和生活中我们要更加努力,学习好我们的专业知识并要能运用到实际。参考书目1 蒋志凯. 数字滤波与卡尔曼滤波M.北京:技术出版社,19932 施阳等MATLAB语言工具箱M.西安:西北工业大学出版社,19993 楼顺天、李博菡. 基于MATLAB的系统与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论