姓名:班级:学号:时间:2011年6月设计题目基于MATLAB的巴特沃斯低通滤波器的设计设计要求1.通过实验加深对巴特沃斯低通滤波器基本原理的理解。2.学习编写巴特沃斯低通滤波器的MATLAB仿真程序3.滤波器的性能指标如下:通带截止频率fp=5kHz,通带最大衰减p=2dB,阻带截止频率fs=12kHz,阻带最小衰减s=30dB设计过程1.设计原理1.1巴特沃斯低通滤波器简介:巴特沃斯滤波器是电子滤波器的一种,特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。这种滤波器最先由英国工程师斯替芬·巴特沃斯(StephenButterworth)在1930年发表在英国《无线电工程》期刊的一篇论文中提出的,可以构成低通、高通、带通和带阻四种组态,是目前最为流行的一类数字滤波器,经过离散化可以作为数字巴特沃思滤波器,较模拟滤波器具有精度高、稳定、灵活、不要求阻抗匹配等众多优点,因而在自动控制、语音、图像、通信、雷达等众多领域得到了广泛的应用,是一种具有最大平坦幅度响应的低通滤波器。1.2巴特沃斯低通滤波器的设计原理:巴特沃斯低通滤波器的幅度平方函数2ajH)(用下式表示:N2c2a11jH)()(其中N为滤波器的阶数。当=0时,)(jHa=1;=c时,)(jHa=1/2,c是3dB截止频率。=c时,逐渐增大,幅度下降非常迅速。、N同幅度特性关系如图1.1所示。N决定了幅度下降速度,N越大,通带就越平坦,过渡带也随之变窄,阻带幅度同过渡带下降的速度越迅速,总体频响特性同理想低通滤波器的实际误差越小。图1.1、N同幅度特性关系用s代替j,把幅度平方函数2ajH)(变成s的函数:N2caajs11s-HsH)()()(s=j,此公式说明了幅度平方函数有2N个极点,极点ks可以用下面的公式来表达:)()()(N21k221jcN21k2j2jcN21k2jckjseeee)(jHa0c10.707N=2N=4N=8k=0,1,2,···,2N-1。2N个极点等间隔分布在半径为c的圆上,间隔是/Nrad。如图1.2所示:图1.2三阶巴特沃斯滤波器极点分布为形成稳定的滤波器,2N个极点中只取s平面左半平面的N个极点构成)(sHa,而右半平面的N个极点构成)(sHa。)(sHa的表示式为10a)(sHNkkNcss)(例如N=3,通过下式可以计算出6个极点32jc0se,jc1se,34jc2se,35jc3se,2jc4se,37jc5se当N=3时,6个极点中位于左半平面的三个分别为:32jc0se,cjc1-se,34jc2se取s平面左半平面的极点210sss,,组成)(sHa:))()(()(32j-c32jcc3ca-s-sssH将1-N0kckcas-s1sH)()(对3dB截止频率Ωc归一化后的)(sHa表示为:1-N0kckcas-s1sH)()(令jjspcc,p称为归一化拉氏复变量。c/,称为归一化频率。经过归一化后巴特沃斯滤波器的传输函数为:01j1s0s2s5s3s4s1-N0Kkap-p1pH)()((1.1)式中,ckk/sp为归一化极点,ks为位于左半平面的极点用下式表示:1-N1,0kpN21k221jk,,)(e将极点表示式代入(1.1)式,得到的)(pHa的分母是p的N阶多项式,用下式表示:NNNappbpbpbbpH1122101)(下面来确定N:由技术指标p,ps和s确定。在定义2papjHlg10-)((1.2)2asjHlg10-s)((1.3)N2c2a11jH)()((1.4)中,将Ω=p和Ω=s分别代入(1.4)式中,得到2pajH)(和2asjH)(,再将2pajH)(和2asjH)(代入(1.2)和(1.3)式中,得到:],)(11lg[102Ncpp])(11lg[102Ncss整理得:10/p101N2cp)((1.5)10/s101N2cs)((1.6)由(1.5)和(1.6)式得到:1-101-1010/s10/pNsp)(令1101-10k/10/10/spspsp,ps(1.7)则N由下式表示:spsplglgk-N(1.8)取大于等于N的最小整数。关于3dB截止频率c,如果技术指标中没有给出,可以按照(1.7)式或(1.8)式求出,10/N2cpp101)((1.9)10/N2css101)((1.10)由(1.9)式得到:2N1-.10pc1-10p)(由(1.10)式得到:2N1-.10sc1-10s)(2设计方案方案一:用冲激响应不变法设计巴特沃斯低通滤波器冲激响应不变法是使数字滤波器的单位冲激序列h(n)模仿模拟滤波器的单位冲激响应ha(t)。将模拟滤波器的单位冲激响应加以等间隔抽样,使h(n)正好等于ha(t)的抽样值,即满足:h(n)=ha(nT)其中T是抽样周期。如果令Ha(s)是ha(t)的拉普拉斯变换,H(z)为h(n)的z变换,利用抽样序列的z变换与模拟信号的拉普拉斯变换的关系,得:可看出,脉冲响应不变法将模拟滤波器的S平面变换成数字滤波器的Z平面,这个从s到z的变换z=esT是从S平面变换到Z平面的标准变换关系式。冲激响应不变法使得数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,也就是时域逼近良好,而且模拟频率Ω和数字频率ω之间呈线性关系ω=ΩT。但是此方法有一个明显的缺点就是有频率响应的混叠效应,所以,脉冲响应不变法只适用于限带的模拟滤波器(例如,衰减特性很好的低通或带通滤波器),而且高频衰减越快,混叠效应越小。方案二:双线性变换法设计IIR数字滤波器双线性变换法是使数字滤波器的频率响应与模拟滤波器的频率响应相似的一种变换方法。为了克服多值映射的缺点,采用把整个s平面频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=esT转换到Z平面上。也就是说,第一步先将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;第二步再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1.3所示。kTjsXTjksXTzXkaskaezsT21)(1)(o-11Z平面jIm[z]Re[z]/Tj11-/TS1平面S平面joo图1.3双线性变换的映射关系为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现2tan21TTT是采样间隔。当Ω1由-π/T经过0变化到π/T时,Ω由-∞经过0变化到+∞,也即映射了整个jΩ轴。将式(1-5)写成2/2/2/2/11112TjTjTjTjeeeeTj将此关系解析延拓到整个S平面和S1平面,令jΩ=s,jΩ1=s1,则得TsTsTsTsTsTseeTTsTeeeeTs1111111122tanh2212/2/2/2/再将S1平面通过以下标准变换关系映射到Z平面z=es1T从而得到S平面和Z平面的单值映射关系为:11112zzTs(2-1)sTsTsTsTz222121(2-2)式(2-1)与式(2-2)是S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换。双线性变换法与冲激响应不变法相比,其主要的优点是避免了频率响应的混叠现象,虽然在线性方面有些欠缺,但是可以通过频率的预畸来加以校正且计算比冲激响应不变法方便,实现起来比较容易,所以,本设计选择用双线性变换法设计巴特沃斯低通滤波器。3设计步骤由于冲击响应不变法的不足,下面以双线性变换法设计一个巴特沃思低通滤波器。通过仔细研究MATLAB软件自带的信号处理工具箱下%:MATLABDIR%\toolbox\signal\signal\buttord.m和%MATLABDIR%\toolbox\signal\signal\butter.m,可以清楚看到:MATLAB默认采用双线性变换法设计,其实完全可以采用更简洁的方法。[8]滤波器的性能指标如下:通带截止频率fp=5kHz,通带最大衰减p=2dB,阻带截止频率fs=12kHz,阻带最小衰减s=30dB3.1MATLAB中所需函数ATLAB的信号处理工具箱提供了滤波器的函数buttap、buttord、butter。由[z,p,k]=buttap(n)函数可设计出n阶巴特沃斯低通滤波器原型,其传递函数为))(())2())(1((1)(npspspssH所以事实上z为空阵。上述零极点形式可以化为:011)(bsbsbsksHninn其中ncb0,令sc/rad1,得到巴特沃斯滤波器归一化结果,如表1所示。表18~1n阶的巴特沃斯滤波器系数nb7b6b5b4b3b2b1b011.000021.41421.000032.00002.00001.000042.61313.41422.61311.000053.23615.23615.23613.23611.000063.86377.46419.14167.46413.86371.000074.494010.097814.591814.591810.09784.49401.000085.125813.137121.846225.846221.846213.13715.12581.0000buttord函数可在给定滤波器性能的情况下,选巴特沃斯滤波器的阶数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()()()(11nasasnbsbsbsAsBsHnnnn3.2具体设计步骤经过总结,巴特沃斯低通滤波器的设计步骤大致为:(1)通过p,p,s和s的值,用公式spsplglgk-N算出滤波器的阶数0N。(2)根据公式1-N1,0kpN21k221jk,,)(,求出归一化极点kp,将kp代入1-N0kkap-p1pH)()(中,得出归一化传输函数)(pHa。(3)将)(pHa去归一化。将p=s/Ωc代入)(pHa之中,从而得到实际的滤波器传输函数)(sHa。3.3MATLAB程序MATLAB程序如下:(1).输入信号的时域波形和频谱的设计:closeall;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);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)输出的巴特沃斯低通滤波器的