利用MATLAB设计巴特沃斯低通数字滤波器

合集下载

利用matlab设计巴特沃斯低通滤波器

利用matlab设计巴特沃斯低通滤波器

三峡大学课程设计报告专业班级 20091421课程数字信号处理课程设计学号 2009142116 学生姓名姜祥奔指导教师王露2012年 5 月平时成绩(20%)报告成绩(40%)答辩成绩(40%)总成绩数字信号处理课程设计实验一:用双线性变换法和脉冲响应不变法设计IIR 数字滤波器采用双线性变换法设计一个巴特沃斯数字低通滤波器,要求:通带截止频率100Hz ,阻带截止频率200Hz ,通带衰减指标Rp 小于2dB ,阻带衰减Rs 大于15dB ,滤波器采样频率Fs=500Hz 。

绘制频率响应曲线。

理论部分:(原理及设计过程)第一步:论ω和f 的关系及数字域性能的公式表示。

模拟频率与数字频率之间为线性关系,T f T fT T s,101,24-===Ω=πω为抽样周期,故 ππω4.0500110021=⨯⨯==c c kHz f 对应于 修正后)2t a n (21c T ω=Ω ππω8.0500120021=⨯⨯==st st kHz f 对应于 修正后)2tan(21st T ω=Ω按衰减的定义2)()(log 204.0010≤πj j e H e H 15)()(log 208.0010≥πj j e H e H 设0=ω处频率响应幅度归一化为1,即1)(0=j e H ,则上两式变成2)(log 204.010-≥πj e H (1)15)(log 208.010-≤πj e H (2)这就是数字滤波器的性能指标的表达式。

2 下面把数字低通滤波器的性能要求转变为“样本”模拟低通滤波器的性能要求。

由T Ω=ω,按修正式)()(Tj H e H a j ωω≈,设没有混叠效应(即混叠效应设计完成后再进行校验) 则有πωωω≤Ω==),()()(j H TjH eH a a j (3)利用(3)式,由(1)、(2)式可写出模拟低通滤波器的指标为2)102(log 20)4.0(log 2021010-≥⨯=ππj H TjH a a …….(4) 15)104(log 20)8.0(log 2021010-≤⨯=ππj H TjH a a …(5) 3 计算“样本”模拟低通滤波器所需的阶数N 及3dB 截止频率C Ω。

基于MATLAB设计巴特沃斯低通滤波器

基于MATLAB设计巴特沃斯低通滤波器

基于MATLAB设计巴特沃斯低通滤波器
李钟慎
【期刊名称】《信息技术》
【年(卷),期】2003(027)003
【摘要】首先分析了巴特沃斯低通滤波器的特性,然后用MATLAB的信号处理工具箱提供的函数设计了巴特沃斯低通滤波器,使得巴特沃斯滤波器的设计变得更加简单、快捷、直观.
【总页数】3页(P49-50,52)
【作者】李钟慎
【作者单位】华侨大学机电及自动化学院,泉州,362011
【正文语种】中文
【中图分类】TP311
【相关文献】
1.基于Matlab的巴特沃斯数字低通滤波器的设计 [J], 张廷尉;陈红;王磊
2.基于Pspice的八阶巴特沃斯低通滤波器设计与优化 [J], 叶榆;贺国权
3.基于EWB的巴特沃斯有源低通滤波器的设计与仿真 [J], 张白莉;郭红英
4.基于WEBENCH的巴特沃斯低通滤波器的设计 [J], 徐志国;杨娟
5.基于CFA的巴特沃斯低通滤波器设计和仿真 [J], 刘宛;董金宁;池思慧;赵柏树因版权原因,仅展示原文概要,查看原文内容请购买。

用MATLAB设计巴特沃斯低通滤波器

用MATLAB设计巴特沃斯低通滤波器

⽤MATLAB设计巴特沃斯低通滤波器⽤MATLAB 设计巴特沃斯低通滤波器1 巴特沃斯低通滤波器的特性⼀个理想低通滤波器的幅频特性如图3-80的阴影部分所⽰。

为了实现这个理想低通特性,需要在从0~ωC 的整个频带内增强增益,在ω>ωC 增益要降到0。

实际上,理想滤波器是不可能实现的。

图3-78是实际滤波器的幅频特性。

但是实际滤波器的特性愈接近理想特性愈好,巴特沃斯(Butterworth )滤波器就是解决这个问题的⽅法之⼀。

巴特沃斯滤波器以巴特沃斯函数来近似滤波器的系统函数,巴特沃斯的低通模平⽅函数为:221|()|1,2,,1(/)NC H j N j j ωωω==+ (3-138)式中以C ω是滤波器的电压-3dB 点或半功率点。

不同阶次的巴特沃斯滤波器特性如图3-79(a)所⽰。

4阶巴特沃斯滤波器的极点分布如图3-79(b)所⽰。

巴特沃斯滤波器幅频响应有以下特点:最⼤平坦性:在0=ω附近⼀段范围内是⾮常平直的,它以原点的最⼤平坦性来逼近理想低通滤波器。

通带、阻带下降的单调性。

这种滤波器具有良好的相频特性。

3dB 的不变性:随着N 的增加,频带边缘下降越陡峭,越接近理想特性。

但不管N 是多少,幅频特性都通过-3dB 点。

极点配置在半径为ωC 的圆上,并且均匀分布。

左半平⾯上的N 个极点是)(s H 的极点,右半平⾯上的N 个极点是)(s H -的极点。

2 巴特沃斯低通滤波器的实现为使巴特沃斯滤波器实⽤,我们必须能够实现它。

⼀个较好的⽅法是将巴特沃斯滤波器函数化成若⼲⼆阶节级联,其中每⼀节实现⼀对共轭复极点。

通过将极点以共轭复数的形式配对,对所有的每⼀个⼆阶节都具有实系数。

1图3-78 低通滤波器的幅频特性图3-80所⽰运算放⼤器电路为实现⼀对共轭极点提供了很好的⽅法。

电路的系统函数为202202121121122121)(1)11(1)(ωωω++=+++=s Qs C C R R s C R C R s C C R R s H (3-139)式中,ω0是S 平⾯原点与极点之间的距离,Q 被称为电路的“品质因数”,它提供了对响应峰值尖锐程度的⼀种度量。

巴特沃斯滤波器matlab实现

巴特沃斯滤波器matlab实现

巴特沃斯滤波器matlab实现巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。

在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。

一阶巴特沃斯滤波器的衰减率为每倍频6分贝,每十倍频20分贝。

二阶巴特沃斯滤波器的衰减率为每倍频12分贝、三阶巴特沃斯滤波器的衰减率为每倍频18分贝、如此类推。

巴特沃斯滤波器的振幅对角频率单调下降,并且也是唯一的无论阶数,振幅对角频率曲线都保持同样的形状的滤波器。

只不过滤波器阶数越高,在阻频带振幅衰减速度越快。

其他滤波器高阶的振幅对角频率图和低级数的振幅对角频率有不同的形状。

设计步骤如设计一个数字低通滤波器,其技术指标为:通带临界频率fp ,通带内衰减小于rp;阻带临界频率fs,阻带内衰减大于s;采样频率为FS1、将指标变为角频率wp=fp*2*pi;ws= fs*2*pi;2、将数字滤波器的频率指标{Wk}由wk=(2/T)tan(Wk/2)转换为模拟滤波器的频率指标{wk},由于是用双线性不变法设计,故先采取预畸变。

3、将高通指标转换为低通指标,进而设计高通的s域模型4、归一化处理由以上三式计算出N,查表可得模拟低通滤波器的阶数,从而由下式确定模拟高通滤波器的参数。

数字域指标变换成模拟域指标其程序为:fp = 400 fs= 300;Rp = 1; Rs = 20;wp =fp*2*pi;ws =fs*2*pi;FS=1000;T=1/FS;程序执行结果为:wp=2.5133e+003 ws=1.8850e+003 与实际计算结果相符。

数字滤波器的设计及其MATLAB实现

数字滤波器的设计及其MATLAB实现

设计低通数字滤波器,要求在通带内频率低于0.2pirad时,允许幅度误差在1dB以内,在频率0.3pi rad~pi rad之间的阻带衰减大于15dB,用脉冲响应不变法设计数字滤波器,T=1: 切比雪夫I型模拟滤波器的设计子程序:function [b,a]=afd_chb1(Omegap,Omegar,Ar)if Omegap<=0error('通带边缘必须大于0')endif(Dt<=0)|(Ar<0)error('通带波动或阻带衰减必须大于0');endep=sqrt(10^(Dt/10)-1);A=10^(Ar/20);OmegaC=Omegap;OmegaR=Omegar/Omegap;g=sqrt(A*A-1)/ep;N=ceil(log10(g+sqrt(g*g-1))/log10(OmegaR+sqrt(OmegaR*OmegaR-1)));fprintf('\n***切比雪夫I型模拟低通滤波器阶数=%2.0f\n',N);[b,a]=u_chblap(N,Dt,OmegaC);设计非归一化切比雪夫I型模拟低通滤波器原型程序:function [b,a]=u_chblap(N,Dt,OmegaC)[z,p,k]=cheb1ap(N,Dt);a=real(poly(p));aNn=a(N+1);p=p*OmegaC;a=real(poly(p));aNu=a(N+1);k=k*aNu/aNn;b0=k;B=real(poly(z));b=k*B;直接形式转换成级联形式子程序:function [C,B,A]=sdir2cas(b,a)Na=length(a)-1;Nb=length(b)-1;b0=b(1);b=b/b0;a0=a(1);a=a/a0;C=b0/a0;p=cplxpair(roots(a));K=floor(Na/2);if K*2==NaA=zeros(K,3);for n=1:2:NaArow=p(n:1:n+1,:);Arow=poly(Arow);A((fix(n+1)/2),:)=real(Arow);elseif Na==1A=[0 real(poly(p))];elseA=zeros(K+1,3);for n=1:2:2*KArow=p(n:1:n+1,:);Arow=poly(Arow);A((fix(n+1)/2),:)=real(Arow);endA(K+1,:)=[0 real(poly(p(Na)))];endz=cplxpair(roots(b));K=floor(Nb/2);if Nb==0B=[0 0 poly(z)];elseif K*2==NbB=zeros(K,3);for n=1:2:NbBrow=z(n:1:n+1,:);Brow=poly(Brow);B((fix(n+1)/2),:)=real(Brow);endelseif Nb==1B=[0 real(poly(z))];elseB=zeros(K+1,3);for n=1:2:2*KBrow=z(n:1:n+1,:);Brow=poly(Brow);B((fix(n+1)/2),:)=real(Brow);endB(K+1,:)=[0 real(poly(z(Nb)))];End计算系统函数的幅度响应和相位响应子程序:function [db,mag,pha,w]=freqs_m(b,a,wmax)w1=0:500;w=w1*wmax/500;h=freqs(b,a,w);mag=abs(h);db=20*log10((mag+eps)/max(mag));pha=angle(h);脉冲响应不变法程序:function [b,a]=imp_invr(c,d,T)[R,p,k]=residue(c,d);p=exp(p*T);[b,a]=residuez(R,p,k);b=real(b).*T;数字滤波器响应子程序:function [db,mag,pha,grd,w]=freqz_m(b,a);[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);grd=grpdelay(b,a,w);直接转换成并联型子程序:function [C,B,A]=dir2par(b,a)M=length(b);N=length(a);[r1,p1,C]=residuez(b,a);p=cplxpair(p1,10000000*eps);x=cplxcomp(p1,p);r=r1(x);K=floor(N/2);B=zeros(K,2);A=zeros(K,3);if K*2==Nfor i=1:2:N-2br=r(i:1:i+1,:);ar=p(i:1:i+1,:);[br,ar]=residuez(br,ar,[]);B((fix(i+1)/2),:)real(br');A((fix(i+1)/2),:)real(ar');end[br,ar]=residuez(r(N-1),p(N-1),[]);B(K,:)=[real(br') 0];A(K,:)=[real(ar') 0];elsefor i=1:2:N-1br=r(i:1:i+1,:);ar=p(i:1:i+1,:);[br,ar]=residuez(br,ar,[]);B((fix(i+1)/2),:)real(br);A((fix(i+1)/2),:)real(ar);endEnd比较两个含同样标量元素但(可能)有不同下标的复数对及其相位留数向量子程序:function I=cplxcomp(p1,p2)I=[];for i=1:length(p2)for j=1:length(p1)if(abs(p1(j)-p2(i))<0.0001)I=[I,j];endendendI=I';双线性变换巴特沃斯低通滤波器设计:巴特沃思模拟滤波器的设计子程序:function [b,a]=afd_butt(wp,ws,Rp,rs)if wp<=0error('通带边缘必须大于0');endif ws<=wperror('阻带边缘必须大于通带边缘');endif(Rp<=0)|(Rs<0)error('通带波动或阻带衰减必须大于0');endN=ceil((log10((10^(Rp/10)-1)/(10^(Rs/10)-1)))/(2*log10(wp/ws))); fprintf('\n***Butterworth Filter Order=%2.0f\n',N);OmegaC=wp/((10^(Rp/10)-1)^(1/(2*N)));[b,a]=u_buttap(N,OmegaC)设计非归一化巴特沃思模拟低通滤波器原型子程序:function [b,a]=u_buttap(N,OmegaC)[z,p,k]=buttap(N);p=p*OmegaC;k=k*OmegaC^N;B=real(poly(z));b0=k;b=k*B;a=real(poly(p));直接型到级联型形式的转换:function [b0,B,A]=dir2cas(b,a)b0=b(1);b=b/b0;a0=a(1);a=a/a0;b0=b0/a0;M=length(b);N=length(a);if N>Mb=[b,zeros(1,N-M)];a=[a,zeros(1,M-N)];elseNM=0;endk=floor(N/2);B=zeros(k,3);A=zeros(k,3);if k*2==Nb=[b,0];a=[a,0];endbroots=cplxpair(roots(b));aroots=cplxpair(roots(a));for i=1:2:2*kbr=broots(i:1:i+1,:);br=real(polt(br));B((fix(i+1)/2),:)=br;ar=aroots(i:1:i+1,:);ar=real(polt(ar));A((fix(i+1)/2),:)=ar;Endfunction [db,mag,pha,grd,w]=freqz_m(b,a)[h,w]=freqz(b,a,1000,'whole');h=(h(1:501))';w=(w(1:501))';mag=abs(h);db=20*log10((mag+eps)/max(mag));pha=angle(h);grd=grdelay(b,a,w);设计一个巴特沃思高通滤波器,要求通带截止频率为0.6pi,通带内衰减不大于1dB,阻带·起始频率为0.4pi,阻带内衰减不小于15dB,T=1:>> wp=0.6*pi;ws=0.4*pi;>> Rp=1;Rs=15;T=1;>> [N,wn]=buttord(wp/pi,ws/pi,Rp,Rs) 计算巴特沃思滤波器阶数和截止频率N =4wn =>> [b,a]=butter(N,wn,'high'); 频率变换法计算巴特沃思高通滤波器>> [C,B,A]=dir2cas(b,a)C =0.0751B =1.0000 -2.0000 1.00001.0000 -2.0000 1.0000A =1.0000 0.1562 0.44881.0000 0.1124 0.0425>> [db,mag,pha,grd,w]=freqz_m(b,a);>> subplot(2,1,1);plot(w/pi,mag);>> subplot(2,1,2);plot(w/pi,db);椭圆带通滤波器的设计--ellip函数的应用:>> ws=[0.3*pi 0.75*pi]; 数字阻带边缘频率>> wp=[0.4*pi 0.6*pi]; 数字通带边缘频率>> Rp=1;Rs=40;>> Ripple=10^(-Rp/20); 通带波动>> Attn=10^(-Rs/20); 阻带衰减>> [N,wn]=ellipord(wp/pi,ws/pi,Rp,Rs) 计算椭圆滤波器参数N =4wn =0.4000 0.6000>> [b,a]=ellip(N,Rp,Rs,wn); 数字椭圆滤波器的设计>> [b0,B,A]=dir2cas(b,a) 级联形式实现b0 =0.0197B =1.0000 1.5066 1.00001.0000 0.9268 1.00001.0000 -0.9268 1.00001.0000 -1.5066 1.0000A =1.0000 0.5963 0.93991.0000 0.2774 0.79291.0000 -0.2774 0.79291.0000 -0.5963 0.9399>> figure(1);>> [db,mag,pha,grd,w]=freqz_m(b,a);>> subplot(2,2,1);plot(w/pi,mag);>> grid on;>> subplot(2,2,3);plot(w/pi,db);grid on;>> subplot(2,2,2);plot(w/pi,pha/pi);grid on;>> subplot(2,2,4);plot(w/pi,grd);设计一个巴特沃思带阻滤波器,要求通带上下截止频率为0.8pi、0.2pi,通带内衰减不大于1dB,阻带上起始频率为0.7pi、0.4pi,阻带内衰减不小于30dB:>> wp=[0.2*pi 0.8*pi];>> ws=[0.4*pi 0.7*pi];>> Rp=1;Rs=30;>> [N,wn]=buttord(wp/pi,ws/pi,Rp,Rs);>> [b,a]=butter(N,wn,'stop');>> [C,B,A]=dir2cas(b,a)C =0.0394B =1.0000 0.3559 0.99941.0000 0.3547 1.00401.0000 0.3522 0.99541.0000 0.3499 1.00461.0000 0.3475 0.99601.0000 0.3463 1.0006A =1.0000 1.3568 0.79281.0000 1.0330 0.46331.0000 0.6180 0.17751.0000 -0.2493 0.11131.0000 -0.6617 0.37551.0000 -0.9782 0.7446>> [db,mag,pha,grd,w]=freqz_m(b,a); >> subplot(2,1,1);plot(w/pi,mag);>> subplot(2,1,2);plot(w/pi);数字低通---数字带阻:function [bz,az]=zmapping(bZ,aZ,Nz,Dz) bzord=(length(bZ)-1)*(length(Nz)-1); azord=(length(aZ)-1)*(length(Dz)-1);bz=zeros(1,bzord+1);for k=0:bzordpln=[1];for i=0:k-1pln=conv(pln,Nz);endpld=[1];for i=0:bzord-k-1pld=conv(pld,Dz);endbz=bz+bZ(k+1)*conv(pln,pld); endfor k=0:azordpln=[1];for i=0:k-1pln=conv(pln,Nz);endpld=[1];for i=0:azord-k-1pld=conv(pld,Dz);endaz=az+aZ(k+1)*conv(pln,pld); endall=az(1);az=az/az1;bz=bz/az1;线性相位FIR滤波器的幅度特性:function pzkplot(num,den)hold on;axis('square');x=-1:0.01:1;y=(1-x.^2).^0.5;y1=-(1-x.^2).^0.5;plot(x,y,'b',x,y1,'b');num1=length(num);den1=length(den);if(num1>1)z=roots(num);elsez=0;endif(den1>1)p=roots(den);elsep=0;endif(num>1&den1>1)r_max_z=max(abs(real(z)));i_max_z=max(abs(imag(z)));a_max_z=max(r_max_z,i_max_z);r_max_p=max(abs(real(p)));i_max_p=max(abs(imag(p)));a_max_p=max(r_max_p,i_max_p);a_max=max(a_max_z,a_max_p);elseif (num1>1)r_max_z=max(abs(real(z)));i_max_z=max(abs(imag(z)));a_max=max(r_max_z,i_max_z);elser_max_p=max(abs(real(p)));i_max_p=max(abs(imag(p)));a_max=max(r_max_p,i_max_p);endaxis([-a_max a_max -a_max a_max]);plot([-a_max a_max],[0 0],'b');plot([0 0],[-a_max a_max],'b');plot([-a_max a_max],[a_max a_max],'b');plot([a_max a_max],[-a_max a_max],'b');Lz=length(z);for i=1:Lz;plot(real(z(i)),imag(z(i)),'bo');endLp=length(p);for j=1:Lpplot(real(p(j)),imag(p(j)),'bx');endtitle('The zeros-pole plot');xlabel('虚部');ylabel('实部');function [Hr,w,a,L]=Hr_Type1(h)M=length(h);L=(M-1)/2;a=[h(L+1) 2*h(L:-1:1)];n=[0:1:L];w=[0:1:500]'*pi/500;Hr=cos(w*n)*a';设计I型线性相位FIR滤波器:>> h=[-4 1 -1 -2 5 6 5 -2 -1 1 -4];>> M=length(h);n=0:M-1;>> [Hr,w,a,L]=Hr_Type1(h);>> amax=max(a)+1;>> amin=min(a)-1;>> subplot(2,2,1);stem(n,h);>> axis([-1 2*L+1 amin amax]);text(2*L+1.5,amin,'n'); >> xlabel('n');ylabel('h(n)');title('脉冲响应');>> subplot(2,2,3);stem(0:L,a);>> axis([-1 2*L+1 amin amax]);>> xlabel('n');ylabel('a(n)');title('a(n) 系数');>> subplot(2,2,2);plot(w/pi,Hr);>> grid on;text(1.05,-20,'频率pi');>> xlabel('频率');ylabel('Hr');title('I 型振幅响应');>> subplot(2,2,4);pzkplot(h,1);>> title('零极点分布');function [hr,w,b,L]=Hr_Type2(h)M=length(h);L=M/2;b=2*h(L:-1:1);n=[1:1:L];n=n-0.5;w=[0:1:500]'*pi/500;hr=cos(w*n)*b';II型线性相位FIR滤波器:>> h=[-4 1 -1 -2 5 6 5 -2 -1 1 -4];>> M=length(h);n=0:M-1;>> [Hr,w,b,L]=Hr_Type2(h);Warning: Integer operands are required for colon operator when used as index. > In Hr_Type2 at 2>> bmax=max(b)+1;bmin=min(b)-1;>> subplot(2,2,1);stem(n,h);axis([-1 2*L+1 bmin bmax]);text(2*L+1.5,bmin,'n');xlabel('n');ylabel('h(n)');title('脉冲响应');>> subplot(2,2,3);stem(1:L,b);axis([-1 2*L+1 bmin bmax]);xlabel('n');ylabel('b(n)');title('b(n) 系数');>> subplot(2,2,2);plot(w/pi,Hr);grid on;text(1.05,-20,'频率pi');xlabel('频率');ylabel('Hr');title('II 型振幅响应');>> subplot(2,2,4);pzkplot(h,1);title('零极点分布');function [hr,w,c,L]=Hr_Type3(h)M=length(h);L=(M-1)/2;b=2*h(L+1:-1:1);n=[1:1:L];w=[0:1:500]'*pi/500;hr=cos(w*n)*c';用MA TLAB编程绘制各种窗函数的形状。

基于MATLAB做巴特沃斯低通滤波器

基于MATLAB做巴特沃斯低通滤波器

基于MATLAB设计巴特沃斯低通滤波器课程设计专业:XXXXXX姓名:XXX学号: XX指导老师:XXX2011年11 月26日通信系统仿真课程设计任务书院(系):电气信息工程学院目录1 绪论 (1)1.1 引言 (1)1.2 数字滤波器的设计原理 (1)1.3 数字滤波器的应用 (2)1.4 MATLAB的介绍 (3)1.5 本文的工作及安排 (3)2 滤波器分类及比较 (4)2.1 滤波器的设计原理 (4)2.2 滤波器分类 (4)2.3 两种类型模拟滤波器的比较 (6)3 巴特沃斯低通滤波器 (7)3.1 巴特沃斯低通滤波器简介 (7)3.2 巴特沃斯低通滤波器的设计原理 (7)4 MATLAB仿真及分析 (11)4.1 MATLAB工具箱函数 (11)4.2 巴特沃斯低通滤波器的MATLAB仿真 (11)另附程序调试运行截图: (13)5.1 总结 (13)5.2 展望 (13)1 绪论1.1 引言凡是有能力进行信号处理的装置都可以称为滤波器。

滤波器在如今的电信设备和各类控制系统里面应用范围最广、技术最为复杂,滤波器的好坏直接决定着产品的优劣。

自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。

使以数字滤波器为主的各种滤波器得到了飞速的发展,到70年代后期,数字滤波器的单片集成已被研制出来并得到应用。

80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。

90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。

当然,对数字滤波器本身的研究仍在不断进行。

[1]滤波器主要分成经典滤波器和数字滤波器两类。

从滤波特性上来看,经典滤波器大致分为低通、高通、带通和带阻等。

本文主要对低通数字滤波器做主要研究。

1.2 数字滤波器的设计原理所谓数字滤波器,是指输入、输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。

简述基于MATLAB设计巴特沃斯低通滤波器

简述基于MATLAB设计巴特沃斯低通滤波器

基于MATLAB 设计巴特沃斯低通滤波器摘 要: 首先分析了巴特沃斯低通滤波器的特性。

然后用MATLAB 的信号处理工具箱提供的函 数设计了巴特沃斯低通滤波器,使得巴特沃斯滤波器的设计变得更加简单、快捷、直观。

巴特沃斯(Butterworth)滤波器是一种具有最大平坦幅度响应的低通滤波器,它在通信领域里已有广应用,在电测中也具有广泛的用途,可以作检测信号的滤波器。

MATLAB 语言是一种面向科学与工程计算的语言。

它编程效率高,测试程序手段丰富,扩展能力强,内涵丰富。

它的信号处理工具箱(Signal Processing Toolbox)提供了设计巴特沃斯滤波器的函数,本文充分利用这些函数,进行了巴特沃斯滤波器的程序设计,并将其作为函数文件保存,可方便地进行调用。

1. 巴特沃斯低通滤波器的特性巴特沃斯低通滤波器的平方幅度响应为: n c j H 22)(11)(ωωω+=其中,n 为滤波器的阶数,ωc 为低通滤波器的截止频率。

该滤波器具有一些特殊的性质:① 对所有的n ,都有当 ω=0时,|H(j0)|2 =1;② 对所有的n ,都有当ω=ωc 时,|H(j ωc )|2 =0.5 ,即在ωc 处有3dB 的衰减;③|H(j ω)|2 是ω的单调递减函数,即不会出现幅度响应的起伏;④ 当n →+∞时,巴特沃斯滤波器趋向于理想的低通滤波器;⑤ 在ω=0处平方幅度响应的各级导数均存在且等于0,因此|H(j ω)|2 在该点上取得最大值,且具有最大平坦特性。

图l 展示了2阶、4阶、8阶巴特沃斯低通滤波器的幅频特性。

可见阶数n 越高,其幅频特性越好,低频检测信号保真度越高。

巴特沃斯与贝塞尔(Besse1)、切比雪夫(Cheby.shev)滤波器的特性差异如图2所示。

从图2可以看出,巴特沃斯滤波器在线性相位、衰减斜率和加载特性三个方面具有特性均衡的优点,因此在实际使用中,巴特沃斯滤波器已被列为首选。

2 .巴特沃斯低通滤波器的MATLAB实现MATLAB的信号处理工具箱提供了有关巴特沃斯滤波器的函数buttap、buttord、butter。

基于MATLAB设计巴特沃斯低通滤波器

基于MATLAB设计巴特沃斯低通滤波器
(下转第 A" 页)
图"
贝塞尔、 契比雪夫、 巴特沃斯滤波器的特性
" 巴 特 沃 斯 低 通 滤 波 器 的 #$%&$’ 实现
#$%&$’ 的信号处理工具箱提供了有关巴特沃 斯滤波器的函数 ()**+,、 ()**-./、 ()**0.。 " 1! 用 ()**+, 函数设计归一化的巴特沃斯低通滤 波器系数 [2, ( 5) 可设计出 ! 阶巴特沃斯低通 ,, 3] 4 (**+, 滤波器原型, 其传递函数为 ( # )4 " $ (") (# 6 % (!) ) (# 6 % (") ) (# 6 % ( !) ) ! 因此实际上 & 为空阵。 上述零极点形式可以化为



[1] 桂峰, 陈海峰 % ’78+9(:/,"+9 ; 应用与开发 [ <] 机械工业 % 北京:
3
*+,-./ 智能旋转打印算法
*+,-./ 智能旋转打印算法由 6 部分组成, 1 个主
模块和 ) 个子模块。) 个子模块分别对应 ) 种页面 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
第 !" 卷 第 # 期 !$$# 年 # 月
信 息 技 术 %&’()*+,%(& ,-./&(0(12
3(04 !" &(4 # *56 4 !$$#
基于 *+,0+7 设计巴特沃斯低通滤波器
李钟慎
(华侨大学机电及自动化学院,泉州 #8!$99)

要:首先分析了巴特沃斯低通滤波器的特性,然后用 *+,0+7 的信号处理工具箱提供的函 数设计了巴特沃斯低通滤波器,使得巴特沃斯滤波器的设计变得更加简单、快捷、直观。 关键词:巴特沃斯低通滤波器;*+,0+7;特性;设计 文献标识码: 7 文章编号: (!$$#) 9$$; < !==! $# < $$>> < $!
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用MATLAB设计巴特沃斯低通数字滤波器
引言
数字滤波器是数字信号处理中的重要组成部分,可以用于去除信号中的噪音和不需要的频率成分。

巴特沃斯滤波器是一种常见的数字滤波器,被广泛应用于信号处理领域。

本文将介绍如何利用MATLAB设计巴特沃斯低通数字滤波器,并给出详细的步骤和示例代码。

设计步骤
利用MATLAB设计巴特沃斯低通数字滤波器主要包括以下步骤:
1.设计滤波器的参数
2.计算滤波器的传递函数
3.绘制滤波器的幅频响应曲线
4.通过频域图像观察滤波器的性能
下面将分别介绍每个步骤的详细操作。

设计滤波器的参数
巴特沃斯低通数字滤波器的参数包括截止频率和阶数。


止频率决定了滤波器的通频带,阶数决定了滤波器的陡峭程度。

通过MATLAB的butter()函数可以方便地设计巴特沃斯
低通数字滤波器。

该函数的参数为滤波器的阶数和截止频率。

示例代码如下:
order = 4; % 阶数
cutoff_freq = 0.4; % 截止频率
[b, a] = butter(order, cutoff_freq);
计算滤波器的传递函数
通过设计参数计算得到滤波器的传递函数。

传递函数是一
个复数,包括了滤波器的频率响应信息。

使用MATLAB的freqz()函数可以计算滤波器的传递函数。

该函数的参数为滤波器的系数b和a,以及频率取样点的数量。

示例代码如下:
freq_points = 512; % 频率取样点数量
[h, w] = freqz(b, a, freq_points);
绘制滤波器的幅频响应曲线
经过计算得到的传递函数能够提供滤波器的幅频响应信息。

通过绘制幅频响应曲线,可以直观地观察滤波器的频率特性。

使用MATLAB的plot()函数可以绘制滤波器的幅频响应
曲线。

该函数的参数为频率点和传递函数的幅值。

示例代码如下:
magnitude = abs(h); % 幅值
plot(w/pi, magnitude);
xlabel('归一化频率');
ylabel('幅值');
title('巴特沃斯低通数字滤波器幅频响应');
通过频域图像观察滤波器的性能
通过绘制滤波器的频域图像,可以直观地观察滤波器对不
同频率的信号的响应情况。

使用MATLAB的fft()函数可以将原始信号变换到频域,通过绘制频域图像可以观察信号的频率成分。

示例代码如下:
% 假设原始信号为x
X = fft(x);
Y = H .* X; % H为滤波器的传递函数
y = ifft(Y); % 反变换得到滤波后的信号
结论
本文介绍了利用MATLAB设计巴特沃斯低通数字滤波器的步骤和示例代码。

通过设计滤波器的参数、计算传递函数、绘制幅频响应曲线和观察频域图像等操作,可以方便地设计和分析巴特沃斯低通数字滤波器的性能。

同时,MATLAB提供了丰富的函数和工具,为数字滤波器的设计和分析提供了便捷的工具。

希望本文对您在利用MATLAB设计巴特沃斯低通数字滤波器的过程中有所帮助!。

相关文档
最新文档