Matlab椭圆低通滤波器设计

合集下载

基于Matlab的椭圆带阻IIR数字滤波器设计(数字频率变换)讲解

基于Matlab的椭圆带阻IIR数字滤波器设计(数字频率变换)讲解

数字信号处理课程设计数字频带变换的椭圆IIR 带阻滤波器设计南华大学 电气工程学院 电子091班 苗润武 20094470138一 手工计算完成椭圆IIR 数字带阻滤波器初始设计1、设计要求:滤波器的设计指标要求为 ⑴通带下截止频率, ⑵阻带下截止频率, ⑶阻带上截止频率, ⑷通带上截止频率,⑸通带最大衰减, ⑹阻带最小衰减。

其中为我学号的后两位。

我的学号:20094470138,所以=38。

由此计算性能指标(保留小数点后1位)得: ⑴通带下截止频率:=rad e π2.05038∙=1.3 rad/sample ⑵阻带下截止频率=rad e π3.05038∙=2.0 rad/sample ⑶阻带上截止频率:=rad e π7.05038∙=4.7 rad/sample ⑷通带下截止频率:=rad e π8.05038∙=5.3 rad/sample⑸通带最大衰减: ⑹阻带最小衰减:由πω2=f 得到性能指标在MATLAB 中的常用形式(保留小数点后1位): ⑴2.0=pl f πrad /sample ,⑵3.0=sl f πrad/sample ,⑶7.0=su f πrad/sample ,⑷8.0=pu f πrad/sample2、数字边界频率转换成模拟边界频率: 转变换关系为:ω21tan 2T =Ω 其中,令T=2s 计算模拟边界频率(保留小数点后1位)得: ⑴=Ωpl 0.8 rad/s⑵=Ωsl 1.6 rad/s ⑶=Ωsu -1.0 rad/s ⑷=Ωpu -0.5 rad/s另外: ⑸ ⑹3、将带阻滤波器的设计要求转换为低通原型滤波器的设计要求 ⑴p Ω=1 ⑵=Ω-ΩΩ-Ω=Ωplpu slsu s =2.0⑶ ⑷将p Ω和s Ω的几何平均值0Ω作为频率归一化的基准频率,即:s ΩΩ=Ωp 0=2.0定义频率的选择性因数λ为两个截止频率之比:5.0=ΩΩ=sp λ4、设计低通原型滤波器转移函数H(s) 椭圆滤波器的幅频响应函数公式为:)(11)(2SP N E j H ΩΩ+=Ωε其中,ε为波纹系数,表示波纹情况;s Ω为截止频率,)(SPN E ΩΩ=为椭圆函数。

椭圆滤波器的设计说明

椭圆滤波器的设计说明

目录第一章摘要 (1)第二章引言 (2)第三章基本原理 (2)第四章设计过程 (3)4.1椭圆滤波器设计结构图 (3)4.2设计椭圆数字滤波器的步骤 (3)第五章程序和仿真图 (6)5.1低通滤波器设计程序 (6)5.2带通滤波器设计程序 (7)5.3高通滤波器设计程序 (8)5.4信号的仿真图 (10)第六章结语 (12)心得体会 (12)参考文献 (12)第一章摘要本文通过利用MATLAB滤波滤波器设计函数直接实现椭圆滤波器的设计,介绍了椭圆型滤波器的基本理论和设计思想,给出了基于MATLAB设计低通、带通、高通椭圆型滤波器的具体步骤和利用MATLAB产生一个包含低频、中频、高频分量的连续信号,并实现对信号进行采样。

文中还对采样信号进行频谱分析和利用设计的椭圆滤波器对采样信号进行滤波处理,并对仿真结果进行分析和处理。

详细介绍了在基于MA TLAB 设计椭圆滤波器过程中常用到的工具和命令。

第二章引言数字滤波器设计在电子工程、应用数学和计算机科学领域都是非常重要的容。

椭圆滤波器(Elliptic filter)又称考尔滤波器(Cauer filter),是在通带和阻带等波纹的一种滤波器。

它比切比雪夫方式更进一步地是同时用通带和阻带的起伏为代价来换取过渡带更为陡峭的特性。

椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有着最小的通带和阻带波动。

它在通带和阻带的波动相同,这一点区别于在通带和阻带都平坦的巴特沃斯滤波器,以及通带平坦、阻带等波纹或是阻带平坦、通带等波纹的切比雪夫滤波器。

现代生活中,数字信号经过DAC转换获得的模拟信号的例子太多了,如声卡中的语音合成输出,又如试验室中的合成信号发生器等,为了滤除谐波干扰,获得高精度的模拟信号,大多数就采用本文介绍的衰减特性陡峭的椭圆低通滤波器。

因此椭圆滤波器具有广泛的应用。

第三章基本原理3.2椭圆滤波器的特点幅值响应在通带和阻带都是等波纹的,对于给定的阶数和给定的波纹要求,椭圆滤波器能获得较其它滤波器为窄的过渡带宽,就这点而言,椭圆滤波器是最优的,其振幅平方函数为2221()1/a N pH j R εΩ=+ΩΩ() 其中RN (x )是雅可比(Jacobi) 椭圆函数,ε为与通带衰减有关的参数。

数字滤波器的设计及其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程序)2010/2011学年第2 学期学院:信息与通信⼯程学院专业:电⼦信息科学与技术学⽣姓名:学号:课程设计题⽬:低通滤波器设计起迄⽇期: 6 ⽉13 ⽇~6⽉24⽇课程设计地点:指导教师:系主任:下达任务书⽇期: 2011 年 6 ⽉12 ⽇课程设计任务书课程设计任务书⽬录1 设计⽬的及要 (5) 1.1设计⽬的 (5)1.2设计内容和要求 (5)2 设计原理 (5)2.1 FIR滤波器 (5) 2.2窗函数 (6)2.3矩形窗 (7)3 设计过程 (8)3.1 设计流程图 (8)3.2 产⽣原始信号并分析频谱 (8)3.3 使⽤矩形窗设计不同特性的数字滤波器 (10)3.4 信号滤波处理 (11)4 实验结果及分析 (12)5 课程设计⼼得体会 (12)6 参考⽂献 (13)附录: (14)低通滤波器的设计1 设计⽬的及要求1.1设计⽬的设计⼀种低通滤波器并对信号进⾏滤波。

低通滤波器的作⽤是滤去信号中的中频和⾼频成分,增强低频成分。

要求做到:1.了解MATLAB 的信号处理技术;2.使⽤MATLAB 设计低通滤波器,掌握其滤波处理技术;3.对滤波前和滤波后的波形进⾏时域和频域⽐较。

1.2设计内容和要求1.熟悉有关采样,频谱分析的理论知识,对信号作频谱分析;2.熟悉有关滤波器设计理论知识,选择合适的滤波器技术指标,设计低通滤波器对信号进⾏滤波,对⽐分析滤波前后信号的频谱;3.实现信号频谱分析和滤波等有关MATLAB 函数;2 设计原理本次课程设计,我们主要是基于矩形窗的FIR 滤波器来设计⼀个低通滤波器。

2.1 FIR 滤波器FIR 滤波器即有限抽样响应因果系统,其单位抽样响应h(n)是有限长的;极点皆位于z=0处;结构上不存在输出到输⼊的反馈,是⾮递归型的。

其系统函数表⽰为:()()n -1-N 0n z n h z H ∑==普通的FIR 滤波器系统的差分⽅程为:()()()i n x i h n y 1N 0i -=∑-=式中:N 为FIR 滤波器的抽头数;x(n)为第n 时刻的输⼊样本;h(i)为FIR 滤波器第 i 级抽头系数。

matlab做低通滤波器设计思路

matlab做低通滤波器设计思路

设计低通滤波器是数字信号处理领域中的一项关键任务,而Matlab 作为一款强大的数学建模与仿真软件,为我们提供了丰富的工具和函数来完成这一任务。

在本篇文章中,我们将介绍在Matlab中设计低通滤波器的思路和具体步骤。

设计低通滤波器主要涉及以下几个方面:1. 确定滤波器的规格要求在设计任何一种滤波器之前,我们首先需要明确滤波器的规格要求,包括截止频率、通带最大衰减、阻带最小衰减等。

这些规格要求将直接影响到滤波器的设计参数和性能。

在Matlab中,可以利用Signal Processing Toolbox提供的函数来帮助我们确定滤波器的规格要求。

2. 选择滤波器的类型根据实际的应用需求,我们需要选择合适的滤波器类型。

常见的低通滤波器包括巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等。

每种类型的滤波器都有其适用的场景和特点。

在Matlab中,我们可以利用Filter Design and Analysis工具箱中的函数来选择合适的滤波器类型。

3. 根据规格要求设计滤波器一旦确定了滤波器的类型,我们就可以根据规格要求来设计滤波器。

在Matlab中,可以利用Filter Design and Analysis工具箱中的函数来实现滤波器设计,包括巴特沃斯滤波器设计函数butter()、切比雪夫滤波器设计函数cheby1()和cheby2()、椭圆滤波器设计函数ellip()等。

4. 分析和优化滤波器性能设计完成滤波器后,我们需要对滤波器的性能进行分析和优化。

在Matlab中,可以利用Filter Design and Analysis工具箱中的函数来对滤波器的频率响应、相位响应、裙延迟等进行分析,并根据实际需求对滤波器进行优化。

5. 验证滤波器的性能我们需要对设计完成的滤波器进行性能验证。

在Matlab中,可以利用Signal Processing Toolbox提供的函数来对设计的滤波器进行信号处理和性能评估,以确保滤波器能够满足实际需求。

基于Matlab的IIR Butterworth低通数字滤波器设计

基于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的IIR滤波器的设计和应用(信号去噪)

基于MATLAB的IIR滤波器的设计和应用(信号去噪)

数字信号处理课程设计报告书课题名称基于MATLAB 的IIR 滤波器的设计及应用(信号去噪)姓 名 学 号院、系、部 电气工程系 专 业 电子信息工程 指导教师2013年 6 月28日※※※※※※※※※ ※※※※ ※※ ※※※※※※※※※2010级数字信号处理 课程设计基于MATLAB 的IIR 滤波器的设计及应用(信号去噪)一、实验目的1.学会MATLAB 的使用,掌握MATLAB 的程序设计方法。

2.掌握数字信号处理的基本概念、基本理论和基本方法。

3. 在MATLAB 环境下产生噪声信号。

4.掌握MATLAB 设计IIR 数字滤波器的方法。

5.学会用MATLAB 对信号进行分析和处理。

二、实验原理数字滤波器的设计:巴特沃斯(Butterworth)滤波器的幅度平方函数用下式表示: ()Nc j H 2211⎪⎪⎭⎫ ⎝⎛ΩΩ+=Ω∂ (2.1)式中,N 为滤波器的阶数,幅度下降的速度与N 有关,N 越大,通带越平坦,过渡带越窄,总的频响特性与理想低通滤波器的误差越小。

切比雪夫(Chebyshev)滤波器的幅频特性在通带或者阻带有等波纹特性,可以提高选择性,其幅度平方函数用下式表示:()⎪⎪⎭⎫ ⎝⎛ΩΩ+=Ω∂PN C j H 22211ε (2.2) 式中,ε为小于1的正数,表示通带幅度波动的程度,ε越大,波动幅度也越大,Ωp 称为通带截止频率。

椭圆(Ellipse)滤波器的通带和阻带呈现等波纹幅频特性时,通带和阻带波纹幅度越小,过渡带就越宽。

所以椭圆滤波器的阶数由通带边界频率、阻带边界频率、通带边界衰减、阻带边界衰减共同决定。

三、主要实验仪器及材料微型计算机、MATLAB6.5教学版四、实验内容1.噪声信号的频谱分析。

2.设计数字滤波器和画出频率响应:低通滤波器性能指标,fp=1000Hz ,fs=1800 Hz , As=100dB ,Ap=1dB ; 在MATLAB 中,可以利用函数butte 、cheby1和ellip 设计IIR 滤波器;最后,利用MATLAB 中的函数freqz 画出各滤波器的频率响应。

低通滤波器matlab课程设计

低通滤波器matlab课程设计

低通滤波器matlab课程设计一、课程目标知识目标:1. 理解低通滤波器的原理和数学模型;2. 掌握使用MATLAB进行低通滤波器的设计与实现;3. 学会分析低通滤波器的频率特性及其在实际应用中的作用。

技能目标:1. 能够运用MATLAB软件设计不同类型的低通滤波器;2. 能够通过调整滤波器参数,优化滤波效果;3. 能够利用所学的知识解决实际信号处理问题。

情感态度价值观目标:1. 培养学生对信号处理领域的兴趣,激发学习热情;2. 培养学生严谨的科学态度,注重实验数据的真实性;3. 培养学生的团队协作意识,提高沟通与交流能力。

课程性质:本课程为电子信息工程及相关专业的高年级学生设计,结合了理论知识与实践操作。

课程以低通滤波器的设计为主线,通过MATLAB软件的运用,使学生更好地理解信号处理技术。

学生特点:学生已具备一定的电路基础和MATLAB编程能力,具有较强的学习能力和动手实践能力。

教学要求:课程要求学生在掌握低通滤波器理论知识的基础上,通过MATLAB 软件实现滤波器的设计与优化。

教学过程中注重培养学生的实际操作能力和问题解决能力,将理论知识与实际应用紧密结合。

通过课程学习,使学生能够达到上述课程目标,为后续相关课程打下坚实基础。

二、教学内容1. 理论知识:- 低通滤波器的基本概念与分类;- 低通滤波器的传递函数与频率特性分析;- MATLAB环境下滤波器设计的基本原理。

2. 实践操作:- 使用MATLAB设计不同类型的低通滤波器(如巴特沃斯、切比雪夫等);- 分析和调整滤波器参数,观察滤波效果的变化;- 对实际信号进行处理,验证滤波器的性能。

3. 教学大纲:- 第一周:低通滤波器的基本概念与分类,介绍相关教材章节;- 第二周:低通滤波器的传递函数与频率特性分析,结合教材相关内容;- 第三周:MATLAB环境下滤波器设计原理,结合教材实例进行讲解;- 第四周:实践操作,指导学生使用MATLAB设计低通滤波器,并进行性能分析;- 第五周:课程总结与作业布置,巩固所学知识。

椭圆带通滤波器的设计(matlab)

椭圆带通滤波器的设计(matlab)

燕山大学课程设计说明书题目:椭圆带通滤波器的设计学院(系):电气工程学院年级专业: 12级学号:学生姓名:指导教师:教师职称:电气工程学院《课程设计》任务书课程名称:数字信号处理课程设计基层教学单位:仪器科学与工程系指导教师:说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。

2、学生那份任务书要求装订到课程设计报告前面。

电气工程学院教务科摘要所谓数字滤波器,是指输入输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。

数字滤波器处理精度高、稳定、体积小、重量轻、灵活、不存在阻抗匹配问题。

典型的模拟滤波器有巴特沃斯滤波器、切比雪夫滤波器和椭圆滤波器和贝塞尔滤波器,其中椭圆滤波器具有较好的性能。

Matlab是一套集数值计算、符号运算及图形处理等强大功能于一体的科学计算软件。

作为强大的科学计算平台,它几乎能够满足所有的计算需求。

本课结合MATLAB设计模拟椭圆滤波器。

目录第一章概论------------------------------------------------------ 1第二章信号处理原理---------------------------------------------- 22.1椭圆滤波器的基本理论-------------------------------------- 22.2采样定理-------------------------------------------------- 3第三章软件仿真设计---------------------------------------------- 43.1椭圆滤波器设计结构图-------------------------------------- 43.2设计椭圆模拟带通滤波器的步骤------------------------------ 43.3 MATLAB相关函数介绍--------------------------------------- 4第四章程序和仿真结果分析---------------------------------------- 84.1带通通滤波器设计程序-------------------------------------- 84.2仿真结果KK及分析----------------------------------------- 9参考文献-------------------------------------------------------- 13第一章概论椭圆滤波器又称考尔滤波器。

matlab滤波器设计命令

matlab滤波器设计命令

matlab滤波器设计命令Matlab滤波器设计命令滤波器是数字信号处理中常用的工具,用于去除信号中的噪声、频率干扰或其他不需要的成分。

Matlab提供了一系列有用的滤波器设计命令,使用户能够轻松设计并应用各种类型的滤波器。

在本文中,我们将详细介绍Matlab中常用的滤波器设计命令,包括滤波器设计函数、滤波器类型和设计过程。

I. Matlab中常用的滤波器设计函数在Matlab中,有几种函数可用于设计滤波器,其中最常用的函数是`designfilt`函数和`fir1`函数。

1. designfilt函数`designfilt`函数是Matlab中最灵活和功能强大的滤波器设计函数之一,可用于设计各种类型的IIR和FIR滤波器。

它的基本语法如下:`filt = designfilt(FilterType, 'PropertyName', PropertyValue, ...)`其中,`FilterType`代表滤波器类型,包括低通滤波器(Lowpass)、高通滤波器(Highpass)、带通滤波器(Bandpass)、带阻滤波器(Bandstop)等。

`PropertyName`和`PropertyValue`是可选的参数,用于设置滤波器的各种属性,如阶数(Order)、截止频率(CutoffFrequency)、通带和阻带的最大衰减(MaximumAttenuation)等。

下面是一个使用`designfilt`函数设计低通滤波器的例子:Fs = 1000; 采样频率Fpass = 20; 通带截止频率Fstop = 30; 阻带截止频率designfilt('lowpassiir', 'FilterOrder', 4, 'PassbandFrequency', Fpass, 'StopbandFrequency', Fstop, 'SampleRate', Fs)该命令将设计一个4阶的低通IIR滤波器,其通带截止频率为20Hz,阻带截止频率为30Hz,采样频率为1000Hz。

Matlab中的滤波器设计方法详解

Matlab中的滤波器设计方法详解

Matlab中的滤波器设计方法详解滤波器在信号处理中起着至关重要的作用,能够对信号进行去噪、去除干扰、增强所需频谱等操作。

Matlab作为一种强大的数学计算工具,提供了丰富的滤波器设计方法。

本文将详细介绍Matlab中常用的滤波器设计方法,包括FIR和IIR滤波器的设计原理和实现步骤。

一、FIR滤波器的设计方法FIR滤波器全称为有限脉冲响应滤波器,其特点是具有线性相位和稳定性。

在Matlab中,常用的FIR滤波器设计方法有窗函数法、最小二乘法和频率抽取法。

1. 窗函数法窗函数法是最简单直观的FIR滤波器设计方法。

它的基本思想是,在频域上用一个窗函数乘以理想滤波器的频率响应,再进行频域到时域的转换,得到滤波器的冲激响应。

常用的窗函数有矩形窗、汉宁窗、汉明窗等。

Matlab中,我们可以使用fir1函数进行窗函数法滤波器设计。

该函数的输入参数包括滤波器阶数、归一化截止频率和窗函数类型。

通过设计不同阶数和不同窗函数的滤波器,可以得到不同性能的滤波器。

2. 最小二乘法最小二乘法是一种优化方法,通过最小化滤波器的输出与目标响应之间的均方误差来设计滤波器。

在Matlab中,我们可以使用fir2函数进行最小二乘法滤波器设计。

该函数的输入参数包括滤波器阶数、频率向量和响应向量。

通过调整频率向量和响应向量,可以实现对滤波器的精确控制。

3. 频率抽取法频率抽取法是一种有效的FIR滤波器设计方法,能够实现对特定频带的信号进行滤波。

在Matlab中,我们可以使用firpm函数进行频率抽取法滤波器设计。

该函数的输入参数包括滤波器阶数、频率向量、增益向量和权重向量。

通过调整频率向量、增益向量和权重向量,可以实现对滤波器的灵活控制。

二、IIR滤波器的设计方法IIR滤波器全称为无限脉冲响应滤波器,其特点是具有非线性相位和多项式系数。

在Matlab中,常用的IIR滤波器设计方法有巴特沃斯滤波器、切比雪夫滤波器和椭圆滤波器。

1. 巴特沃斯滤波器巴特沃斯滤波器是一种最常用的IIR滤波器,其特点是具有最平滑的通带和最陡峭的阻带。

基于某MATLAB地椭圆滤波器设计

基于某MATLAB地椭圆滤波器设计

东北大学秦皇岛分校电子信息系综合课程设计基于matlab的数字椭圆滤波器设计专业名称通信工程班级学号4090923学生姓名指导教师设计时间2011.12.19~2012.1.6课程设计任务书专业:通信工程学号:4090923学生姓名(签名):设计题目:基于matlab的数字滤波器设计一、设计实验条件笔记本电脑一台;matlab7.0软件。

二、设计任务及要求1.产生一个连续信号,包含低频率,中频,高频分量,对其进行采样,进行频谱分析;2.设计低通,带通,高通滤波器对信号进行滤波处理,观察滤波后信号的频谱;3.熟悉基于MATLAB设计椭圆滤波器过程中常用到的函数和命令;4.了解椭圆型滤波器的基本理论和设计思想;三、设计报告的内容1.设计题目与设计任务(设计任务书)2.前言(绪论)(设计的目的、意义等)3.设计主体(各部分设计内容、分析、结论等)4.结束语(设计的收获、体会等)5.参考文献四、设计时间与安排1、设计时间: 3周2、设计时间安排:熟悉实验设备、收集资料: 6 天设计图纸、实验、计算、程序编写调试: 6 天编写课程设计报告: 2 天答辩: 1 天2.前言随着信息时代和数字时代的到来,数字信号信号处理已经成为当前一门极其重要的学科和技术领域。

在数字信号处理中起着重要作用并已获得广泛应用的是数字滤波器(DF ,Digital Filter )。

数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。

MATLAB 是英文MATrix LABoratory (矩阵实验室)的缩写。

它是美国的Math Works 公司推出的一套用于科学计算和图形处理可视化、高性能语言与软件环境。

它的信号处理工具箱包含了各种经典的和现代的数字信号除了技术,是一款非常优秀的算法研究与辅助设计的工具。

在现带通信系统中,由于信号中经常混有各种复杂成分,所以很多信号的处理和分析都是基于滤波器而进行的。

matlab设计低通滤波器

matlab设计低通滤波器

重庆邮电大学本科毕业设计(论文)摘要在当今的数字信息的世界里,数字信号处理已经演变成一门越来越重要的学科,并在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。

其中数字滤波是数字信号处理的重要内容。

数字滤波器可分为IIR和FIR两大类,对于IIR滤波器的设计来说主要有脉冲响应不变法和双线性变换法,而对于FIR数字滤波器的设计来说主要有窗函数法和频率采样设计法。

本文应用MATLBA对数字低通滤波器进行仿真,并给出一定频率的信号通过所设计的滤波器来验证滤波器的性能,主要的研究工作主要包括以下几方面的内容:(1)介绍IIR滤波器和FIR滤波器的结构特点并比较两者之间的差别。

(2)在MATLAB中应用双线性变换法和脉冲响应不变法设计IIR滤波器,给出了滤波器的频率特性图和相位特性图。

(3)通过编写MATLAB程序用窗函数设计法和频率采样法来完成FIR低通滤波器的设计,并给出几个不同频率的信号通过所设定的滤波器来验证滤波器的性能。

(4)在MATLAB中应用Simulink模块来仿真FIR低通滤波器,并在示波器上同时显示输入信号的频率和输出信号的频率,最后对结果进行分析。

【关键字】FIR滤波器IIR滤波器, 双线性变换法脉冲响应不变法窗函数法频率采样法MATLABABSTRACTIn nowadays world of digital information, digital signal processing has become an increasingly important subject, and has been widely applied in all fields, such as medicine, communications, and other areas, digital filters are important elements of digital signal processing. Digital filters can be divided into two kinds of IIR and FIR, IIR filter design for pulse response method and bilinear transformation method, for FIR digital filter design, the main Windows function method and frequency of sampling design.In this paper simulation using MATLAB for digital low-pass filter, and to give a signal of a certain frequency through the filters designed to verify the performance of filter, the main research work mainly includes the following content:(1) Describes the structure of FIR and IIR filters filter characteristics and comparison of the differences between the two.(2) In MATLAB using bilinear transformation method and impulse response method design of IIR filters, to out of the filters of frequency response and phase characteristics.(3) Design method by writing MATLAB programs use the windows function and frequency sampling method to accomplish the design of FIR low-pass filters, and gives several different frequency signals passes through a set of filters to verify that the filter's performance.(4) In the MATLAB Simulink simulation FIR low-pass filter module to the application, and also on the scope displays the frequency of the input signal and the output signal frequency, final analysis of the results.【Key words】FIR digital IIR digital filter Bilinear transformation methodImpulse response method Windows functionFrequency sampling method MATLAB目录前言 (1)第一章数字滤波器 (2)第一节数字滤波器的简介 (2)第二节数字滤波器的应用 (3)第三节数字滤波器的实现方法分析及优点 (4)第四节MATLAB和Simulink简介 (5)第五节本章小结 (7)第二章数字滤波器的结构和设计原理 (8)第一节数字滤波器的基本结构 (8)一、IIR滤波器的基本结构 (8)二、FIR滤波器的基本结构 (10)第二节数字滤波器的设计原理 (12)一、滤波器的设计步奏 (12)二、滤波器的性能指标 (13)第三节IIR滤波器与FIR滤波器的分析比较 (13)第四节本章小结 (15)第三章IIR滤波器的设计 (16)第一节脉冲响应不变法的基本原理 (16)一、变化原理 (16)二、混叠失真 (16)三、主要特点 (17)四、MATLAB(脉冲响应不变法)设计滤波器 (18)第二节双线性不变法的基本原理 (19)一、变换原理 (19)二、主要优缺点 (19)三、MATLAB(双线性变化法)设计数字低通滤波器 (19)第三节本章小结 (21)第四章FIR滤波器的设计 (22)第一节线性相位FIR滤波器的特点 (22)第二节利用窗函数设计FIR低通滤波器 (24)一、窗函数的基本思想 (24)二、几种常用的窗函数 (24)第二节频率采样法设计FIR低通滤波器 (32)一、频率采样设计法的基本原理 (32)二、线性相位的约束 (32)三、逼近误差及其改进措施 (32)第三节FIR数字滤波器的优化设计 (35)第四节本章小结 (36)第五章仿真结果及分析 (37)第一节MATLAB(窗函数法)设计FIR数字低通滤波器 (37)第二节MATLAB(频率采样法)设计FIR数字低通滤波器 (39)第三节Simulink仿真FIR滤波器 (42)第四节本章小结 (44)结论 (45)致谢 (46)参考文献 (46)附录 (47)一、英文原文 (48)二、英文翻译 (55)三、仿真脚本 (62)重庆邮电大学本科毕业设计(论文)前言模拟滤波器与数字滤波器的设计对工程,应用数学及计算机科学都是非常重要的。

matlab低通滤波器设计

matlab低通滤波器设计

matlab低通滤波器设计
matlab低通滤波器设计:
1、使用matlab设计低通滤波器的方法
(1) 首先根据低通滤波器的频率响应要求,计算滤波器构成要素的参数;
(2) 确定滤波器所要采用的元件模型,选择常用的元件模型;
(3) 使用matlab构筑出低通滤波器的模型和原理图;
(4) 根据原理图推导出滤波器的传递函数,使用matlab计算滤波器的频率响应,绘制出滤波器的频率响应曲线;
(5) 分析滤波器的传递特性,观察是否符合要求,如果不符合要求,可以调整模型的参数,重新计算滤波器的频率响应,直到满足频率响应要求为止。

2、使用matlab构件低通滤波器所需要的工具
(1) matlab控制环境,用于控制滤波器的构筑和参数的设定;
(2) Matlab编程工具,用于实现计算滤波器构件的算法;
(3) Matlab图形操作工具,用于绘制滤波器的理论响应曲线;
(4) Matlab仿真工具,用于检查滤波器的理论分析结果。

3、低通滤波器的优势
(1) 低通滤波器对频率低于截止频率的信号又较低的衰减率,因此保证低频信号的精度;
(2) 滤波器设计简单,而且可以采用大量元件来实现;
(3) 低通滤波器的频率响应特性主要取决于滤波器的电路结构,使用matlab设计的低通滤波器可以很容易的设定符合自己要求的参数。

Matlab椭圆低通滤波器设计

Matlab椭圆低通滤波器设计

用Matlab设计椭圆滤波器ellipord函数[求椭圆滤波器的阶数][N, Wp] = ellipord(Wp, Ws, Rp, Rs, 's') does the computation for an analog filter, in which case Wp and Ws are in radians/second.n-椭圆滤波器最小阶数;Wp-椭圆滤波器通带截止角频率;Ws-椭圆滤波器阻带起始角频率;Rp-通带波纹(dB);Rs-阻带最小衰减(dB);ellip函数[椭圆滤波器设计]调用格式:[b,a] = ellip(n,Rp,Rs,Wp)[b,a] = ellip(n,Rp,Rs,Wp,'ftype',’s’)返回长度为n+1的滤波器系数行向量b和a,'ftype' = 'high' 高通滤波器'ftype' = 'low'低通滤波器'ftype' = 'stop'带阻滤波器设计程序为:clc;clear all;Rp=1,Rs=60;Wp=20000000*2*pi;Ws=22000000*2*pi;[n,Wp]=ellipord(Wp,Ws,Rp,Rs,'s')[b,a] = ellip(n,Rp,Rs,Wp,'low','s');w=linspace(1,30000000,200000)*2*pi;H=freqs(b,a,w);magH=abs(H);phaH=unwrap(angle(H)); %计算幅频响应和相频响应figure(1);subplot(2,1,1);plot(w/(2*pi),20*log10(magH)); %以频率为横坐标绘制幅频响应xlabel('频率/Hz');ylabel('振幅/dB');title('幅频特性');hold on;plot([20000000 20000000],ylim, 'r*-'); %通带边界grid on;subplot(2,1,2);semilogx(w, angle(H),'b');xlabel('频率/Hz');ylabel('angle/rad');title('相频特性');grid on;figure(2) %给出另一个图形窗口dt=7.45058e-09; %采样间隔f1=18000000;f2=24000000;%信号中所含频率成分t=0:dt:5e-6;%时间序列x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t); %输入信号H=[tf(b,a)]; %滤波器在MATLAB系统中的表示[y,t1]=lsim(H,x,t); %模拟输出subplot(2,1,1);plot(t,x),title('输入信号') %绘输入信号grid on;subplot(2,1,2),plot(t1,y) %绘制输出信号axis([0 5e-6 -2 2]);title('输出信号');xlabel('时间/s');grid on;。

matlab设计截至频率不同的指数低通滤波

matlab设计截至频率不同的指数低通滤波

matlab设计截至频率不同的指数低通滤波(原创实用版)目录一、引言二、MATLAB 设计低通滤波器的原理三、设计过程四、结论正文一、引言在信号处理领域,滤波器是一种重要的技术,用于去除信号中的噪声或其他不需要的频率成分。

低通滤波器是一种滤波器,其作用是去除信号中高于截止频率的频率成分。

MATLAB 是一种广泛使用的数学软件,可以用来设计各种类型的滤波器。

在本文中,我们将介绍如何使用 MATLAB 设计截至频率不同的指数低通滤波器。

二、MATLAB 设计低通滤波器的原理MATLAB 设计低通滤波器的原理是利用信号处理工具箱中的函数,根据滤波器的截止频率、通带和阻带等参数设计出满足要求的滤波器。

其中,指数低通滤波器是一种常见的低通滤波器类型,其特点是在截止频率附近具有较高的抑制能力,而在通带内具有较小的衰减。

三、设计过程具体来说,使用 MATLAB 设计指数低通滤波器的步骤如下:1.打开 MATLAB 软件,进入信号处理工具箱。

2.选择“Filter Design”模块,进入滤波器设计界面。

3.设置滤波器的参数:- 滤波器类型:选择“Low Pass”;- 截止频率:根据需要设置,例如 50Hz、1KHz 等;- 通带和阻带:根据需要设置,例如通带为 0.1~1KHz,阻带为1KHz~10KHz;- 滤波器阶数:根据需要设置,例如 2、4、6 等;- 滤波器类型:选择“Butterworth”。

4.点击“Generate”按钮,生成滤波器。

5.在 MATLAB 命令窗口中,输入滤波器的阶数和截止频率,例如“n=4; fc=50”,生成滤波器的截止频率。

6.使用 MATLAB 中的“plot”函数,绘制滤波器的频率响应曲线。

四、结论通过以上步骤,可以使用 MATLAB 设计出截至频率不同的指数低通滤波器。

椭圆滤波器的设计

椭圆滤波器的设计

目录第一章摘要 (4)第二章引言 (4)第三章基本原理 (4)第四章设计过程 (5)4.1椭圆滤波器设计结构图 (5)4.2设计椭圆数字滤波器的步骤 (6)第五章程序和仿真图 (8)5.1低通滤波器设计程序 (8)5.2带通滤波器设计程序 (10)5.3高通滤波器设计程序 (10)5.4信号的仿真图 (12)第六章结语 (14)心得体会 (14)参考文献 (14)第一章摘要本文通过利用MATLAB滤波滤波器设计函数直接实现椭圆滤波器的设计,介绍了椭圆型滤波器的基本理论和设计思想,给出了基于MATLAB设计低通、带通、高通椭圆型滤波器的具体步骤和利用MATLAB产生一个包含低频、中频、高频分量的连续信号,并实现对信号进行采样。

文中还对采样信号进行频谱分析和利用设计的椭圆滤波器对采样信号进行滤波处理,并对仿真结果进行分析和处理。

详细介绍了在基于MATLAB设计椭圆滤波器过程中常用到的工具和命令。

第二章引言数字滤波器设计在电子工程、应用数学和计算机科学领域都是非常重要的内容。

椭圆滤波器(Elliptic filter)又称考尔滤波器(Cauer filter),是在通带和阻带等波纹的一种滤波器。

它比切比雪夫方式更进一步地是同时用通带和阻带的起伏为代价来换取过渡带更为陡峭的特性。

椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有着最小的通带和阻带波动。

它在通带和阻带的波动相同,这一点区别于在通带和阻带都平坦的巴特沃斯滤波器,以及通带平坦、阻带等波纹或是阻带平坦、通带等波纹的切比雪夫滤波器。

现代生活中,数字信号经过DAC转换获得的模拟信号的例子太多了,如声卡中的语音合成输出,又如试验室中的合成信号发生器等,为了滤除谐波干扰,获得高精度的模拟信号,大多数就采用本文介绍的衰减特性陡峭的椭圆低通滤波器。

因此椭圆滤波器具有广泛的应用。

第三章基本原理3.2椭圆滤波器的特点幅值响应在通带和阻带内都是等波纹的,对于给定的阶数和给定的波纹要求,椭圆滤波器能获得较其它滤波器为窄的过渡带宽,就这点而言,椭圆滤波器是最优的,其振幅平方函数为2221()1/a N pH j R εΩ=+ΩΩ() 其中RN (x )是雅可比(Jacobi) 椭圆函数,ε为与通带衰减有关的参数。

基于Matlab和Multisim的综合性实验——椭圆滤波器设计与仿真

基于Matlab和Multisim的综合性实验——椭圆滤波器设计与仿真

第18卷增刊2008年7月全国高等学校电子技术研究会论文集V01.18s uppl.J ul.2008基于M at l ab和M ul t i s i m的综合性实验——椭圆滤波器设计与仿真史燕杨小雪(西南交通大学信息科学与技术学院,四川成都610031)摘要:M A T LA B和M ul t i si m是电子信息类课程中主要的仿真软件。

本文通过低通椭圆滤波设计实例说明综合运用M A TL A B和M ul t i si m进行设计仿真和调试。

文中给出了设计椭圆滤波器的具体步骤,利用M A T LA B设计出低通椭圆滤波器传输函数,再按所设计的零,极点和Q值用有源滤波通过M出si m仿真和调试来实现。

本文也为椭圆滤波器的设计与实现提供一种简便迅速的方法。

关键词:椭圆滤波器;低通滤波器;M I l l t i si m;M at L出中图分类号:T P391文献标识码:A文章编号:1673—7938(2008)增刊一002l—020引言M at hb是功能强大的科学计算语言,作为科学计算平台,它几乎能够满足所有的计算需求。

M a t.址提供了丰富的滤波器设计函数,通过简单编程可以很容易实现各种滤波器设计。

而M ul t i s i m是电子电路设计与仿真方面的ED A软件,也称这种软件叫做虚拟电子实验室或电子工作平台。

这两种软件已成为电子信息类课程中必备的教学软件。

模拟滤波器是电子设计中最重要的部分之一。

常用的滤波器有巴特沃斯(B ut t e r w or t h)和切比雪夫(Che byshe y)及椭圆型(EⅡi pt i c)滤波器。

其中巴特沃斯和切比雪夫滤波器的传输函数都是一个常数除以一个多项式,为全极点网络,仅在无限大阻带处衰减为无限大,而椭圆函数滤波器在有限频率上既有零点又有极点。

极零点在通带内产生等纹波,阻带内的有限传输零点减少了过渡区,可获得极为陡峭的衰减曲线。

也就是说对于给定的阶数和给定的波纹要求,椭圆滤波器能获得较其它滤波器更窄的过渡带宽,就这点而言,椭圆滤波器是最优的。

IIR低通滤波器的设计matlab程序

IIR低通滤波器的设计matlab程序

(1)、设计巴特沃斯低模拟通滤波器函数1:function[b,a]=afd_butt(Op,Os,Ap,As)N=ceil((log10((10^(Ap/10)-1)/(10^(As/10)-1)))/(2*log10(Op/Os))); Oc=Op/((10^(Ap/10)-1)^(1/(2*N)));[zi,pi,k]=buttap(N);si=pi*Oc;k=k*Oc^N;B=real(poly(zi));b=k*B;a=real(poly(si));函数2:function[db,mag,pha,w]=freqs_m(b,a,wmax)w=[0:1:500]*wmax/500;H=freqs(b,a,w);mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);主程序:>> Op=30;Os=50;Ap=1;As=30;>> [b,a]=afd_butt(Op,Os,Ap,As);>> [db,mag,pha,w]=freqs_m(b,a,50);>> subplot(221);plot(w,mag);title('Magnitude Response');>> subplot(222);plot(w,db);title('Magnitude in dB');grid on;>> subplot(223);plot(w,pha/pi);title('Phase Response');运行结果:(2)、用脉冲响应不变法设计巴特沃斯低通数字滤波器函数1:(同上)函数2:(同上)函数3:function[db,mag,pha,w]=freqz_m(bz,az)[H,w]=freqz(bz,az,1000,'Whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);主程序:>> Wp=0.2*pi;Ws=0.3*pi;Ap=1;As=15;T=1;>> Op=Wp/T;Os=Ws/T;>> [b,a]=afd_butt(Op,Os,Ap,As);>> [db,mag,pha,Omega]=freqs_m(b,a,pi);>> subplot(224);plot(Omega/pi,db);title('模拟滤波器幅度响应');grid on; >> [ai,si,k]=residue(b,a);>> zi=exp(si*T);>> [bz,az]=residuez(ai,zi,k);>> bz=real(bz)*T;>> az=real(az);>> [db,mag,pha,w]=freqz_m(bz,az);>> subplot(221);plot(w/pi,mag);title('数字滤波器幅度响应');>> subplot(222);plot(w/pi,db);title('数字滤波器幅度响应db');grid on; >> subplot(223);plot(w/pi,pha/pi);title('数字滤波器相位响应');>> Op=(2/T)*tan(Wp/2);Os=(2/T)*tan(Ws/2);运行结果:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用Matlab设计椭圆滤波器
ellipord函数[求椭圆滤波器的阶数]
[N, Wp] = ellipord(Wp, Ws, Rp, Rs, 's') does the computation for an analog filter, in which case Wp and Ws are in radians/second.
n-椭圆滤波器最小阶数;
Wp-椭圆滤波器通带截止角频率;
Ws-椭圆滤波器阻带起始角频率;
Rp-通带波纹(dB);
Rs-阻带最小衰减(dB);
ellip函数[椭圆滤波器设计]
调用格式:[b,a] = ellip(n,Rp,Rs,Wp)
[b,a] = ellip(n,Rp,Rs,Wp,'ftype',’s’)
返回长度为n+1的滤波器系数行向量b和a,
'ftype' = 'high' 高通滤波器
'ftype' = 'low'低通滤波器
'ftype' = 'stop'带阻滤波器
设计程序为:
clc;clear all;
Rp=1,Rs=60;
Wp=20000000*2*pi;
Ws=22000000*2*pi;
[n,Wp]=ellipord(Wp,Ws,Rp,Rs,'s')
[b,a] = ellip(n,Rp,Rs,Wp,'low','s');
w=linspace(1,30000000,200000)*2*pi;
H=freqs(b,a,w);
magH=abs(H);
phaH=unwrap(angle(H)); %计算幅频响应和相频响应
figure(1);
subplot(2,1,1);
plot(w/(2*pi),20*log10(magH)); %以频率为横坐标绘制幅频响应
xlabel('频率/Hz');ylabel('振幅/dB');
title('幅频特性');
hold on;
plot([20000000 20000000],ylim, 'r*-'); %通带边界
grid on;
subplot(2,1,2);
semilogx(w, angle(H),'b');
xlabel('频率/Hz');ylabel('angle/rad');
title('相频特性');
grid on;
figure(2) %给出另一个图形窗口
dt=7.45058e-09; %采样间隔
f1=18000000;f2=24000000;%信号中所含频率成分t=0:dt:5e-6;%时间序列
x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t); %输入信号H=[tf(b,a)]; %滤波器在MATLAB系统中的表示[y,t1]=lsim(H,x,t); %模拟输出
subplot(2,1,1);
plot(t,x),
title('输入信号') %绘输入信号
grid on;
subplot(2,1,2),plot(t1,y) %绘制输出信号
axis([0 5e-6 -2 2]);
title('输出信号');
xlabel('时间/s');
grid on;。

相关文档
最新文档