利用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设计巴特沃斯低通滤波器
李钟慎
【期刊名称】《信息技术》
【年(卷),期】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 设计巴特沃斯低通滤波器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实现巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。
在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。
一阶巴特沃斯滤波器的衰减率为每倍频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实现
设计低通数字滤波器,要求在通带内频率低于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设计巴特沃斯低通滤波器课程设计专业: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 的信号处理工具箱提供的函 数设计了巴特沃斯低通滤波器,使得巴特沃斯滤波器的设计变得更加简单、快捷、直观。
巴特沃斯(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设计巴特沃斯低通滤波器
图"
贝塞尔、 契比雪夫、 巴特沃斯滤波器的特性
" 巴 特 沃 斯 低 通 滤 波 器 的 #$%&$’ 实现
#$%&$’ 的信号处理工具箱提供了有关巴特沃 斯滤波器的函数 ()**+,、 ()**-./、 ()**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$$; < !==! $# < $$>> < $!
MATLAB-巴特沃斯滤波器
fp=0.2*pi;fs=0.3*pi;Rp=1;Rs=15;Fs=1000;Wp=2*pi*fp;Ws=2*pi*fs;Nn=256;n=(0:100-1);[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s'); [b,a]=butter(N,Wn,'s');w=linspace(1,300,100)*2*pi;H=freqs(b,a,w);figure(1);plot(w/(2*pi),20*log10(abs(H)));title('巴特沃斯模拟滤低通波器幅频特性'); xlabel('频率/Hz');ylabel('幅度/db');[bz,az]=impinvar(b,a,Fs);figure(2);zplane(bz,az);title('冲击响应不变法零极点分布图') figure(3)Subplot(2,1,1);freqz(bz,az,Nn,Fs);grid on;title('巴特沃斯数字滤波器幅频特性'); xlabel('幅度/Hz');ylabel('频率/db'); Subplot(2,1,2);title('巴特沃斯数字滤波器相频特性'); xlabel('幅度/Hz');ylabel('频率/db');grid on;ws1=0.2*pi;wp1 = 0.35*pi;wp2 = 0.65*pi;wc = [wp1/pi,wp2/pi];B=wp1-ws1;N = ceil(8/0.15);n=0:N-1;%%rectangle窗window=rectwin(N);[h1,w]=freqz(window,1);subplot(121);stem(window);xlabel('n');title('rectangle窗函数');hn = fir1(N-1,wc,Boxcar(N));[h2,w]=freqz(hn,1,512);figure(1)subplot(122);plot(w/pi,20*log(abs(h2)/abs(h2(1)))); grid;xlabel('w/pi');ylabel('幅度(dB)');title('rectangle滤波器的幅度特性'); ;%%blackman窗window=hamming(N);[h1,w]=freqz(window,1);figure(2)subplot(121);stem(window);xlabel('n');title('hamming窗函数');hn = fir1(N-1,wc,hamming(N));[h2,w]=freqz(hn,1,512);subplot(122);plot(w/pi,20*log(abs(h2)/abs(h2(1)))); grid;xlabel('w/pi');ylabel('幅度(dB)');title('hamming滤波器幅度特性'); %%hanning窗window=hanning(N);[h1,w]=freqz(window,1);figure(3)subplot(121);stem(window);xlabel('n');title('blackman窗函数');hn = fir1(N-1,wc,hanning(N));[h2,w]=freqz(hn,1,512);subplot(122);plot(w/pi,20*log(abs(h2)/abs(h2(1))));grid;xlabel('w/pi');ylabel('幅度(dB)');title('hanning滤波器的幅度特性'); %%blackman窗window=blackman(N);[h1,w]=freqz(window,1);figure(4)subplot(121);stem(window);xlabel('n');title('blackman窗函数');hn = fir1(N-1,wc,blackman(N));[h2,w]=freqz(hn,1,512);subplot(122);plot(w/pi,20*log(abs(h2)/abs(h2(1)))); grid;xlabel('w/pi');ylabel('幅度(dB)');title('blackman滤波器的幅度特性'); 第四题第五题。
巴特沃斯滤波器matlab自定义函数 -回复
巴特沃斯滤波器matlab自定义函数-回复巴特沃斯滤波器是一种常用的频域滤波器,用于设计数字滤波器的一种方法。
巴特沃斯滤波器的特点是在通带内具有平坦的频率响应,同时在截止频率附近实现更陡的滚降特性。
在Matlab中,我们可以使用自定义函数来实现巴特沃斯滤波器。
在本篇文章中,我将一步一步介绍如何在Matlab中自定义巴特沃斯滤波器函数,并给出一些示例以帮助读者更好地理解和应用。
第一步:了解巴特沃斯滤波器在开始编写自定义函数之前,我们需要先了解一下巴特沃斯滤波器的原理和特点。
巴特沃斯滤波器是一种最优近似滤波器,它具有等波纹的通带和截止频率附近的更陡滚降。
巴特沃斯滤波器的传输函数可以用以下公式表示:H(s) = \frac{1}{{1 + (\frac{s}{\omega_c})^{2n}}}其中,\omega_c 为截止频率,n 为滤波器的阶数。
第二步:编写Matlab函数在Matlab中,我们可以使用function关键字来自定义一个函数。
下面是一个实现巴特沃斯滤波器的Matlab自定义函数的示例:matlabfunction filteredSignal = butterworthFilter(signal, cutoff, order, samplingRate)normalizedCutoff = cutoff / (samplingRate / 2);[b, a] = butter(order, normalizedCutoff);filteredSignal = filter(b, a, signal);end在上述函数中,我们接收输入信号`signal`、截止频率`cutoff`、滤波器的阶数`order`和采样率`samplingRate`作为参数。
首先,我们将截止频率归一化为介于0和1之间的值。
然后,使用`butter`函数通过指定的阶数和归一化截止频率计算滤波器的系数`b`和`a`。
巴特沃斯滤波器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的IIR Butterworth低通数字滤波器设计
问题:信号滤波是一个非常重要的信号处理手段,大量的信号处理系统中,信号滤波的质量将直接影响到系统整体性能。
现在有家医院向你提出一个问题,她们的心电图信号记录仪器由于受到了比较严重的电源干扰(50Hz附近),记录到的心电图ECG波形有较大的畸变,请问如何设计一个干扰滤除系统,让记录下的ECG数据继续可以进行疾病诊断。
(ECG的波形信息非常重要,设计滤波器需要注意这一点)基于Matlab的IIR Butterworth低通数字滤波器设计0 引言心电信号是心脏电活动在人体体表的表现,它一般比较微弱,其频率为0.05Hz~ 100Hz(能量集中在0. 05Hz~ 44Hz),幅度为几百微伏至几毫伏。
因此,在心电信号的采集过程中,极易受到内、外界环境的干扰,其中50Hz的工频干扰尤为突出。
心电图信号的干扰对心电图数据分析和压缩有一定影响。
如何消除50Hz工频干扰,成为处理心电信号的首要任务。
为了消除ECG数据中的主要干扰,保留有用信号或者从干扰中“抽取”有用信号,人们提出了许多方法,诸如,平滑滤波,中心频率固定的带阻滤波器,自适应滤波,低通数字滤波等等。
这些信号处理方法各有优缺点,平滑滤波算法简单,处理速度快,滤波效果较好,但存在一定的削峰作用;中心频率固定的带阻滤波器原理简单,能较大程度地抑制50Hz工频干扰,但存在“群延时”现象;自适应滤波器的中心频率能够跟随工频信号的频率幅度变化而自动调节并抵消工频干扰,但需要附加参考信号通道,算法相对复杂,难以用于实时处理。
考虑到工频干扰是50Hz的低频信号,假设要处理的ECG信号为0.05HZ~44HZ段信号,且Matlab软件中有一个数字滤波器软件包,可以直接进行调用处理信号,所以本文设计IIR巴特沃斯(Butterworth)低通数字滤波器来实现人体ECG信号的滤波。
1 数字滤波器介绍数字滤波器是一种用来过滤时间离散信号的数字系统,它可以用软件(计算机程序)或用硬件来实现,而且在两种情况下都可以用来过滤实时信号或非实时信号(记录信号)。
基于MATLAB的巴特沃斯低通滤波器的设计
H (s)
1
(s p(1))( s p(2))(s p(n))
所以事实上 z 为空阵。上述零极点形式可以化为:
H (s)
sn
k bni s n1
b1s b0
其中 b0
n c
,令
c
1rad / s ,得到巴特沃斯滤波器归一化结果,如表
1
所示。
表 1 n 1 ~ 8阶的巴特沃斯滤波器系数
h(n)= ha(nT) 其中 T 是抽样周期。 如果令 Ha(s)是 ha(t)的拉普拉斯变换,H(z)为 h(n)的 z 变换,利用 抽样序列的 z 变换与模拟信号的拉普拉斯变换的关系,得:
X (z) zesT
1 T
Xa
k
(s
jks )
1 T
k
X
a
s
姓名: 班级: 学号: 时间:2011 年 6 月
设计题目
基于 MATLAB 的巴特沃斯低通滤波器的设计
设计要求
1. 通过实验加深对巴特沃斯低通滤波器基本原理的理解。 2.学习编写巴特沃斯低通滤波器的 MATLAB 仿真程序 3. 滤波器的性能指标如下:通带截止频率 fp=5kHz,通带最大衰减 p =2dB,阻带截止频率 fs=12kHz,阻带最小衰减 s =30dB
滤波器的性能指标如下:通带截止频率 fp=5kHz,通带最大衰减 p =2dB,
阻带截止频率 fs=12kHz,阻带最小衰减 s =30dB
3.1MATLAB 中所需函数
ATLAB 的信号处理工具箱提供了滤波器的函数 buttap、buttord、butter。 由[z,p,k] = buttap(n)函数可设计出 n 阶巴特沃斯低通滤波器原型,其传递函数 为
基于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的低通滤波器设计院(系)名称信院通信系专业名称通信工程学生姓名学生学号指导教师2012年 5 月21 日目录摘要 (2)1.巴特沃斯低通数字滤波器简介 (3)1.1选择巴特沃斯低通滤波器及双线性变换法的原因 (3)1.2巴特沃斯低通滤波器的基本原理 (3)1.2.1巴特沃斯低通滤波器的基本原理 (3)1.2.2双线性变换法的原理............... .. (4)1.3数字滤波器设计流程图............... (6)1.4数字滤波器的设计步骤............... (6)2.巴特沃斯低通数字滤波器技术指标的设置 (8)3.用matlab实现巴特沃斯低通数字滤波器的仿真并分析 (9)3.1用matlab实现巴特沃斯低通数字滤波器的仿真 (9)3.2波形图分析............... ............... (9)4.用Simulink实现巴特沃斯低通数字滤波器的仿真并分析 (10)4.1 Simulink简介............... ............... . (10)4.2用Simulink实现巴特沃斯低通数字滤波器的仿真 (10)4.3波形图分析............... ............... . (10)4.3.1 Simulink波形图分析............... ....................... .. (10)4.3.2与matlab波形的比较............... .. (13)5.总结与体会.............................. (15)6.附录 (16)附录A (16)附录B (17)教师评语 (17)摘要低通滤波器是让某一频率以下的信号分量通过,而对该频率以上的信号分量大大抑制的电容、电感与电阻等器件的组合装置。
巴特沃斯滤波器是电子滤波器的一种,特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。
matlab巴特沃斯滤波器设计
1. 引言在信号处理领域中,滤波器是一种重要的工具,用于去除噪音、增强信号质量或者提取感兴趣的信号成分。
巴特沃斯滤波器作为一种经典的滤波器类型,在信号处理中有着广泛的应用。
本文将围绕matlab中巴特沃斯滤波器的设计展开讨论,帮助读者更深入地理解该主题。
2. 巴特沃斯滤波器介绍巴特沃斯滤波器是一种基于极点和零点的滤波器,其频率响应曲线呈现出平坦的特性。
在频域中,巴特沃斯滤波器的幅频特性具有极为明显的特点,有助于实现对信号的精确处理和控制。
在matlab中,我们可以利用相应的工具和函数来设计和实现巴特沃斯滤波器,以达到特定的信号处理目的。
3. matlab中的巴特沃斯滤波器设计在matlab中,我们可以使用butter函数来设计巴特沃斯滤波器。
该函数提供了灵活的参数设置,可以根据需求来定制滤波器的截止频率、通带和阻带的衰减等参数。
通过调用butter函数,我们可以轻松地实现对巴特沃斯滤波器的设计和生成,为信号处理提供了便利的工具和方法。
4. 巴特沃斯滤波器在信号处理中的应用巴特沃斯滤波器在信号处理领域具有广泛的应用,例如在通信系统中常用于滤除噪声和干扰,提高信号的传输质量;在生物医学工程中常用于生物信号的提取和分析,帮助医生进行疾病诊断和治疗;在声音处理中用于去除环境噪音,提高音频质量等。
巴特沃斯滤波器通过其特殊的频率响应特性,为各种信号处理应用提供了有效的解决方案。
5. 我的个人观点和理解对于巴特沃斯滤波器,我认为其在信号处理中的作用举足轻重。
其平坦的频率响应曲线和灵活的参数设计,使其成为处理复杂信号的重要工具。
在matlab中,利用butter函数可以快速、方便地实现滤波器的设计,为信号处理的研究和应用提供了便利。
在实际应用中,巴特沃斯滤波器不仅可以用于去除噪音、增强信号质量,还可以用于提取感兴趣的信号成分,具有极大的实用价值。
6. 总结通过本文的讨论,我们对matlab中的巴特沃斯滤波器设计有了更深入的理解。
基于Matlab的巴特沃斯IIR数字滤波器设计
பைடு நூலகம்
基于 Matlab 的巴特沃斯 IIR 数字滤波器设计
1.低通 Wp=0.2; Rp=1; Ws=0.3; Rs=15; [N,Wc]=buttord(Wp,Ws,Rp,Rs) [Bz,Az]=butter(N,Wc)
给出的滤波器的幅度和增益曲线。 参考曲线如下:
低通滤波器
ω/π
ω/π
幅度
增益 dB
给出的滤波器的幅度和增益曲线。 参考曲线如下:
带通滤波器
ω/π ω/π
增益 dB
幅度
4.带阻
Wp=[0.2,0.8]; Rp=1; Ws=[0.3,0.7]; Rs=15; [N,Wc]=buttord(Wp,Ws,Rp,Rs) [Bz,Az]=butter(N,Wc,'stop')
给出的滤波器的幅度和增益曲线。 参考曲线如下:
带阻滤波器
ω/π ω/π
某输入信号如下:
N=128; t=0:N-1; fs=1000; x1=sin(2*pi*50*t/fs); x2=sin(2*pi*150*t/fs); x3=sin(2*pi*250*t/fs); xn=x1+x2+x3;
对 xn 进行滤波处理: 1)设计低通滤波器,滤除 x2 和 x3,给出的滤波器的幅度、增益曲线和输出波形;(参 考过渡带:0.15π-0.25π) 2)设计高通滤波器,滤除 x1 和 x2,给出的滤波器的幅度、增益曲线和输出波形;(参 考过渡带:0.35π-0.45π) 3)设计带通滤波器,滤除 x1 和 x3,给出的滤波器的幅度、增益曲线和输出波形;(参 考过渡带:0.15π-0.25π和 0.35π-0.45π) 4)设计带阻滤波器,滤除 x2,给出的滤波器的幅度、增益曲线和输出波形;(参考 过渡带:0.15π-0.25π和 0.35π-0.45π) 5)调解 1)中的 as,使滤波器阶数 N=4; 6)调解 4)中的过渡带,改善输出波形;
基于Matlab的巴特沃斯数字低通滤波器的设计
基于Matlab的巴特沃斯数字低通滤波器的设计张廷尉;陈红;王磊【期刊名称】《鞍山师范学院学报》【年(卷),期】2012(014)002【摘要】Digital Butterworth filter is a kind of IIR digital filters.Due to its plain frequency response in passband,the process of smoothing audio signal has better effect.Based on the software-Matlab,this article has designed a digital Butterworth low-pass filter by programming,and applied the audio signal in Simulink platform.The simulation results show that the filter is effective.%巴特沃斯数字滤波器是IIR数字滤波器的一种,由于其频率响应在通频带内具有最大限度平坦,因此对音频信号的平滑处理具有较好的效果,是一种应用较为广泛的滤波器.本文基于Matlab设计了巴特沃斯数字低通滤波器,并在Simulink仿真平台下对音频信号进行处理,仿真结果表明所设计滤波器有效地对音频信号进行了处理.【总页数】3页(P13-15)【作者】张廷尉;陈红;王磊【作者单位】鞍山师范学院物理科学与技术学院,辽宁鞍山114007;鞍山师范学院物理科学与技术学院,辽宁鞍山114007;鞍山师范学院物理科学与技术学院,辽宁鞍山114007【正文语种】中文【中图分类】TP393【相关文献】1.基于MATLAB的巴特沃斯数字滤波器设计 [J], 王艳文;于勉2.基于MATLAB设计巴特沃斯低通滤波器 [J], 李钟慎3.巴特沃斯数字低通滤波器设计及应用 [J], 汪其锐;王桂华;王永军4.基于MATLAB巴特沃斯低通数字滤波器的设计与仿真 [J], 董雷;张民;张炜5.基于CFA的巴特沃斯低通滤波器设计和仿真 [J], 刘宛;董金宁;池思慧;赵柏树因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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设计巴特沃斯低通数字滤波器的过程中有所帮助!。