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

合集下载

matlab的带通滤波函数

matlab的带通滤波函数

在MATLAB 中,你可以使用内置的butter函数来设计带通滤波器。

以下是一个示例,展示了如何创建一个带通滤波器,并将其应用于一个信号:生成一个带噪声的信号
Fs = 1000; 采样频率
t = 0:1/Fs:1-1/Fs; 时间向量
x = sin(2*pi*50*t) + sin(2*pi*120*t); 合成信号,包含50Hz和120Hz 的成分
xn = x + 2*randn(size(t)); 添加高斯白噪声
设计带通滤波器
[b,a] = butter(4, [50 120]/Fs, 'bandpass'); 'bandpass' 表示带通滤波器应用滤波器
y = filter(b, a, xn);
绘制原始信号和滤波后的信号
subplot(2,1,1);
plot(t, xn);
title('原始信号');
subplot(2,1,2);
plot(t, y);
title('滤波后的信号');
在这个示例中,我们首先生成了一个包含两个频率成分(50Hz和120Hz)的合成信号,并添加了高斯白噪声。

然后,我们使用butter函数设计了一个带通滤波器,该滤波器的通带范围为50Hz到120Hz。

最后,我们使用filter函数将滤波器应用于信号,并绘制了原始信号和滤波后的信号。

椭圆带通滤波器的设计

椭圆带通滤波器的设计

燕山大学课程设计说明书题目:椭圆带通滤波器的设计学院(系):电气工程学院年级专业: 10级精仪二班学号:学生姓名:指导教师:***教师职称:副教授燕山大学课程设计(论文)任务书课程名称:数字信号处理课程设计基层教学单位:指导教师:说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。

年月日目录第1章摘要......................................................4 第2章引言......................................................4 第3章基本原理..................................................5 3.1 模拟滤波器的基本原理.......................................5 3.2 椭圆滤波器的特点...........................................5 第4章设计过程..................................................6 4.1 椭圆滤波器设计结构图.......................................6 4.2 设计椭圆模拟滤波器.........................................7 4.3 模拟滤波器的MATLAB实现和滤波器分析........................7 第5章仿真程序和仿真图......................................... 105.1、%连续信号的产生及采样.................................. 105.2、%椭圆带通滤波器的设计...................................115.3、%信号通过椭圆带通滤波器的波形图.........................12 5.4、信号通过椭圆带通滤波器的仿真图..........................12 第6章分析及总结............................................... 14 心得体会........................................................15 参考文献........................................................15第一章摘要滤波器是自动控制、信号处理和通信领域的重要组成部分,广泛地应用于各种系统中。

matlab带通滤波器 (2)

matlab带通滤波器 (2)

MATLAB带通滤波器1. 简介带通滤波器是一种数字信号处理中常用的滤波器。

它可以选择特定的频率范围内的信号并传递,同时抑制其他频率范围的信号。

在MATLAB中,可以使用信号处理工具箱中的函数来设计和实现带通滤波器。

本文档将介绍如何使用MATLAB设计和使用带通滤波器,包括滤波器的设计方法和常见的应用场景。

2. 带通滤波器的设计带通滤波器的设计过程可以分为以下几个步骤:2.1 滤波器类型选择MATLAB中提供了多种带通滤波器类型的设计方法,包括巴特沃斯滤波器、切比雪夫滤波器和椭圆滤波器等。

根据需求选择合适的滤波器类型。

2.2 滤波器规格确定确定滤波器的通带范围、阻带范围和过渡带宽等规格参数。

2.3 滤波器设计根据滤波器类型和规格参数,使用相应的MATLAB函数进行滤波器设计。

常用的函数包括butter、cheby1和ellip等。

2.4 滤波器特性分析设计完成的滤波器可以通过频率响应、相位响应和零极点分布等特性进行分析。

MATLAB提供了函数来绘制和分析滤波器的特性曲线。

3. MATLAB中的带通滤波器函数MATLAB提供了多个函数用于设计和实现带通滤波器,下面介绍其中几个常用的函数:3.1 butter函数butter函数可用于设计巴特沃斯滤波器。

它的语法为:[b, a] = butter(n, Wn, 'bandpass')其中,n表示滤波器的阶数,Wn为通带范围,可以是一个长度为2的向量表示最低频率和最高频率的范围。

'bandpass'表示带通滤波器。

3.2 cheby1函数cheby1函数可用于设计切比雪夫滤波器。

它的语法为:[b, a] = cheby1(n, Rp, Wn, 'bandpass')其中,n表示滤波器的阶数,Rp为通带中允许的最大衰减量,Wn为通带范围,可以是一个长度为2的向量表示最低频率和最高频率的范围。

'bandpass'表示带通滤波器。

椭圆滤波器的设计说明

椭圆滤波器的设计说明

目录第一章摘要 (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的椭圆带阻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)(2SPN E j H ΩΩ+=Ωε其中,ε为波纹系数,表示波纹情况;s Ω为截止频率,)(SPN E ΩΩ=为椭圆函数。

滤波器实验报告

滤波器实验报告

一、实验目的1. 理解滤波器的基本原理和分类。

2. 掌握滤波器的设计方法和实现技巧。

3. 验证滤波器的性能和效果。

4. 学习利用Matlab等工具进行滤波器设计和仿真。

二、实验原理滤波器是一种信号处理装置,用于去除或增强信号中的特定频率成分。

根据频率响应特性,滤波器可分为低通、高通、带通和带阻滤波器。

滤波器的设计主要涉及滤波器类型的选择、滤波器参数的确定以及滤波器结构的实现。

三、实验设备1. 实验电脑:用于运行Matlab软件进行滤波器设计和仿真。

2. 实验数据:用于滤波处理的信号数据。

四、实验内容1. 低通滤波器设计- 设计一个低通滤波器,截止频率为1kHz。

- 使用巴特沃斯滤波器设计方法,设计一个四阶低通滤波器。

- 利用Matlab的`butter`函数进行滤波器设计,并绘制滤波器的幅频响应和相频响应。

2. 高通滤波器设计- 设计一个高通滤波器,截止频率为2kHz。

- 使用切比雪夫滤波器设计方法,设计一个二阶高通滤波器。

- 利用Matlab的`cheby1`函数进行滤波器设计,并绘制滤波器的幅频响应和相频响应。

3. 带通滤波器设计- 设计一个带通滤波器,通带频率范围为1kHz至3kHz。

- 使用椭圆滤波器设计方法,设计一个四阶带通滤波器。

- 利用Matlab的`ellip`函数进行滤波器设计,并绘制滤波器的幅频响应和相频响应。

4. 滤波器仿真- 使用设计的滤波器对实验数据进行滤波处理。

- 比较滤波前后的信号,分析滤波器的性能和效果。

五、实验步骤1. 低通滤波器设计- 打开Matlab软件,创建一个新脚本。

- 输入以下代码进行巴特沃斯低通滤波器设计:```matlab[b, a] = butter(4, 1/1000);```- 绘制滤波器的幅频响应和相频响应:```matlabfreqz(b, a, 1024, 1000);```2. 高通滤波器设计- 使用与低通滤波器相同的方法,设计切比雪夫高通滤波器:```matlab[b, a] = cheby1(2, 0.1, 1/2000, 'high');```- 绘制滤波器的幅频响应和相频响应:```matlabfreqz(b, a, 1024, 2000);```3. 带通滤波器设计- 使用与低通滤波器相同的方法,设计椭圆带通滤波器:```matlab[b, a] = ellip(4, 0.5, 40, 1/1500, 1/3000, 'bandpass');```- 绘制滤波器的幅频响应和相频响应:```matlabfreqz(b, a, 1024, [1500 3000]);```4. 滤波器仿真- 加载实验数据,并绘制滤波前后的信号。

(完整word版)用MATLAB设计滤波器

(完整word版)用MATLAB设计滤波器

用MATLAB 设计滤波器1 IIR 滤波器的设计freqz功能:数字滤波器的频率响应。

格式:[h ,w ]=freqz (b ,a,n )[h ,f]=freqz(b ,a ,n ,Fs)[h ,w ]=freqz(b ,a,n ,’whole')[h ,f ]=freqz(b,a ,n ,'whole ’,Fs )h=freqz (b ,a ,w)h=freqz (b,a ,f ,Fs)freqz(b ,a)说明:freqz 用于计算由矢量"和b 构成的数字滤波器H (z)=A(z)B(z)= n-1--n -1 l)z a(n ....a(2)z l l)z b(n .... b(2)z b(l)++++++++ 的复频响应H (j ω).[h ,w]=freqz (b,a ,n )可得到数字滤波器的n 点的幅频响应,这n 个点均匀地分布在上半单位圆(即0~π),并将这n 点频率记录在w 中,相应的频率响应记录在h 中。

至于n值的选择没有太多的限制,只要n 〉0的整数,但最好能选取2的幂次方,这样就可采用FFT 算法进行快速计算。

如果缺省,则n=512。

[h ,f ]二freqz(b,a,n ,Fs)允许指定采样终止频率Fs (以Hz 为单位),也即在0~Fs/2频率范围内选取n 个频率点(记录在f 中),并计算相应的频率响应h 。

[h,w]=freqz(b,a,n,’whole’)表示在0~2π之间均匀选取n个点计算频率响应.[h,f]=freqz(b,a,n,'whole',Fs)则在O~Fs之间均匀选取n个点计算频率响应.h=freqz(b,a,w)计算在矢量w中指定的频率处的频率响应,但必须注意,指定的频率必须介于0和2π之间.h=freqz(b,a,f,Fs)计算在矢量f中指定的频率处的频率响应,但指定频率必须介于0和Fs之间。

butter功能:Butterworth(比特沃思)模拟和数字滤波器设计。

matlab设计模拟带通滤波器

matlab设计模拟带通滤波器

matlab设计模拟带通滤波器简单记录下在matlab上如何设计出模拟的带通滤波器,包括:巴特沃斯滤波器、切⽐雪夫I型滤波器、切⽐雪夫II型滤波器、椭圆型滤波器。

代码如下:%设计带通滤波器%巴特沃斯、切⽐雪夫I型、切⽐雪夫II型、椭圆型滤波器clear all;%wp和ws分别是通带和阻带的频率(截⽌频率)。

当wp和ws为⼆元⽮量时,为带通或带阻滤波器,这时求出的Wn也是⼆元⽮量;当wp和ws 为⼀元⽮量时,为低通或⾼通滤波器:当wp<ws时为低通滤波器,当wp>ws时为⾼通滤波器。

%wp和ws为⼆元⽮量wp=[0.1*2*pi 0.15*2*pi]; %设置通带频率ws=[0.05*2*pi 0.2*2*pi]; %设置阻带频率Rp=1; %设置通带波纹系数Rs=20; %设置阻带波纹系数%巴特沃斯滤波器设计[N,Wn]=buttord(wp,ws,Rp,Rs,'s'); %求巴特沃斯滤波器阶数,输出参数N代表满⾜设计要求的滤波器的最⼩阶数,Wn是等效低通滤波器的截⽌频率%⽆论是⾼通、带通和带阻滤波器,在设计中最终都等效于⼀个截⽌频率为Wn的低通滤波器(我现在也不是很理解为啥是这样,毕竟我也是刚接触滤波器)fprintf('巴特沃斯滤波器 N= %4d\n',N); %显⽰滤波器阶数[bb,ab]=butter(N,Wn,'s'); %求巴特沃斯滤波器系数,即求传输函数的分⼦和分母的系数向量W=0:0.01:2; %设置模拟频率[Hb,wb]=freqs(bb,ab,W); %求巴特沃斯滤波器频率响应plot(wb/pi,20*log10(abs(Hb)),'b'); %作图hold on%切⽐雪夫I型滤波器设计[N,Wn]=cheb1ord(wp,ws,Rp,Rs,'s'); %求切⽐雪夫I型滤波器阶数fprintf('切⽐雪夫I型滤波器 N= %4d\n',N); %显⽰滤波器阶数[bc1,ac1]=cheby1(N,Rp,Wn,'s'); %求切⽐雪夫I型滤波器系数,即求传输函数的分⼦和分母的系数向量[Hc1,wc1]=freqs(bc1,ac1,W); %求切⽐雪夫I型滤波器频率响应plot(wc1/pi,20*log10(abs(Hc1)),'k'); %作图%切⽐雪夫II型滤波器设计[N,Wn]=cheb2ord(wp,ws,Rp,Rs,'s'); %求切⽐雪夫II型滤波器阶数fprintf('切⽐雪夫II型滤波器 N= %4d\n',N);%显⽰滤波器阶数[bc2,ac2]=cheby2(N,Rs,Wn,'s'); %求切⽐雪夫II型滤波器系数,即求传输函数的分⼦和分母的系数向量[Hc2,wc2]=freqs(bc2,ac2,W); %求切⽐雪夫II型滤波器频率响应plot(wc2/pi,20*log10(abs(Hc2)),'r'); %作图%椭圆型滤波器设计[N,Wn]=ellipord(wp,ws,Rp,Rs,'s'); %求椭圆型滤波器阶数fprintf('椭圆型滤波器 N= %4d\n',N); %显⽰滤波器阶数[be,ae]=ellip(N,Rp,Rs,Wn,'s'); %求椭圆型滤波器系数,即求传输函数的分⼦和分母的系数向量[He,we]=freqs(be,ae,W); %求椭圆型滤波器频率响应%作图plot(we/pi,20*log10(abs(He)),'g');axis([0 max(we/pi) -30 2]);legend('巴特沃斯滤波器','切⽐雪夫I型滤波器','切⽐雪夫II型滤波器','椭圆型滤波器');xlabel('⾓频率{\omega}/{\pi}');ylabel('幅值/dB');line([0 max(we/pi)],[-20 -20],'color','k','linestyle','--');%在画布上画线line([0 max(we/pi)],[-1 -1],'color','k','linestyle','--');line([0.2 0.2],[-30 2],'color','k','linestyle','--');line([0.3 0.3],[-30 2],'color','k','linestyle','--');运⾏结果如下:巴特沃斯滤波器 N= 4切⽐雪夫I型滤波器 N= 3切⽐雪夫II型滤波器 N= 3椭圆型滤波器 N= 2注:1、求各种滤波器的传输函数的分⼦和分母向量系数的函数,例如:[bc1,ac1]=cheby1(N,Rp,Wn,'s'); %求切⽐雪夫I型滤波器系数,即求传输函数的分⼦和分母的系数向量这⾥的函数cheby1()中的参数为cheby1(N,Rp,Wn,'type','s');其中注意’type’可为⾼通:'high’或带阻:‘stop’,如果不填的话,默认是低通或者带通,⾄于是低通还是带通,主要看你前⾯的wp和ws是⼆元⽮量还是⼀元⽮量:⼆元⽮量对应带通,⼀元⽮量对应低通。

matlab程序之——滤波器(带通-带阻)

matlab程序之——滤波器(带通-带阻)
%FS:序列x的采样频率
% f1=300;f3=500;%通带截止频率上下限
% fsl=200;fsh=600;%阻带截止频率上下限
% rp=0.1;rs=30;%通带边衰减DB值和阻带边衰减DB值
% Fs=2000;%采样率
%
wp1=2*pi*f1/Fs;
wp3=2*pi*f3/Fs;
wsl=2*pi*fsl/Fs;
%ylabel('功率谱密度');xlabel('频率');title('信号功率谱');
else
subplot(211);plot(y_f,2*abs(y_ft(1:nfft/2))/length(y));
ylabel('幅值');xlabel('频率');title('信号幅值谱');
subplot(212);plot(y_f,y_p(1:nfft/2));
figure;hua_fft(y,fs,1);
z=bands(y,110,190,140,160,0.1,30,fs);
figure;hua_fft(z,fs,1);
运行结果如下图,第一幅是滤波前测试信号的频谱图,第二幅是滤波器的滤波曲线图,第三幅是经滤波后的测试信号频谱图。
Welcome To
Download !!!
%第一个是需要查看的频率段起点
%第二个是需要查看的频率段的终点
%其他style不具备可选输入参数,如果输入发生位置错误
nfft= 2^nextpow2(length(y));%找出大于y的个数的最大的2的指数值(自动进算最佳FFT步长nfft)
%nfft=1024;%人为设置FFT的步长nfft

Matlab产生高通带通带阻滤波器方法

Matlab产生高通带通带阻滤波器方法

Matlab产生高通、带通、带阻滤波器方法高通、带通、带阻滤波器在matlab中不能直接产生,它们的生成都是有低通滤波器转换而来的,所以要生成这些滤波器就必须先生成低通滤波器,然后通过转换函数做相应的转换就可。

下面介绍这些转换函数。

1 lp2hp功能:模拟低通滤波器到模拟高通滤波器的变换。

格式:[bt,at] = lp2hp(b,a,Wo)[At,Bt,Ct,Dt] = lp2hp(A,B,C,D,Wo)说明:lp2hp函数将截止频率为1(弧度/秒)的模拟低通滤波器变换成截止频率为Wo的模拟高通滤波器。

函数的第一种形式是有传递函数描述的滤波器相应参数,第二钟为状态空间描述的滤波器相应参数,下同。

2 lp2bp功能:模拟低通滤波器到模拟带通滤波器的变换。

格式:[bt,at] = lp2bp(b,a,Wo,Bw)[At,Bt,Ct,Dt] = lp2bp(A,B,C,D,Wo,Bw)说明:lp2bp函数将截止频率为1(弧度/秒)的模拟低通滤波器变换成带宽为Bw、中心频率为Wo的模拟带通滤波器。

3 lp2bs功能:模拟低通滤波器到模拟带阻滤波器的变换。

格式:[bt,at] = lp2bs(b,a,Wo,Bw)[At,Bt,Ct,Dt] = lp2bs(A,B,C,D,Wo,Bw)说明:lp2bs函数将截止频率为1(弧度/秒)的模拟低通滤波器变换成带宽为Bw、中心频率为Wo的模拟带阻滤波器4 lp2lp功能:模拟低通滤波器到模拟低通滤波器的变换。

格式:[bt,at] = lp2lp(b,a,Wo)[At,Bt,Ct,Dt] = lp2lp(A,B,C,D,Wo)说明:lp2lp函数将截止频率为1(弧度/秒)的模拟低通滤波器变换成截止频率为为Wo的模拟低通滤波器。

Matlab中模拟低通滤波器的函数1 besselap功能:贝塞尔(Bessel)模拟低通滤波器原型。

格式:[z,p,k] = besselap(n)说明:z、p、k分别为滤波器的零点、极点和增益,n为滤波器的阶次。

椭圆带通滤波器的设计(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是一种强大的数学软件工具,可以用于信号处理、图像处理和滤波等应用。

带通滤波是一种常见的信号处理技术,可以用于去除噪声、提取特定频率的信号等。

在MATLAB中,有许多内置的函数和工具箱,可以方便地实现带通滤波算法。

带通滤波是一种频域滤波技术,通过选择一个频率范围内的信号进行滤波处理。

在MATLAB中,可以使用fft函数将信号转换到频域,然后使用带通滤波器设计函数(如butter、cheby1、ellip等)设计带通滤波器,最后使用ifft函数将信号转换回时域。

下面是一个简单的例子,演示了如何使用MATLAB实现带通滤波算法:matlab.% 生成一个频率为50Hz的正弦信号。

fs = 1000; % 采样频率为1000Hz.t = 0:1/fs:1-1/fs; % 1秒钟的时间。

f1 = 50; % 信号频率为50Hz.x = sin(2pif1t); % 生成正弦信号。

% 添加高斯白噪声。

noise = 0.5randn(size(t)); % 生成高斯白噪声。

x_noisy = x + noise; % 添加噪声。

% 设计带通滤波器。

f_low = 40; % 低通截止频率为40Hz.f_high = 60; % 高通截止频率为60Hz.order = 4; % 滤波器阶数。

[b, a] = butter(order, [f_low/(fs/2), f_high/(fs/2)],'bandpass'); % 设计带通滤波器。

% 应用滤波器。

x_filtered = filtfilt(b, a, x_noisy); % 应用带通滤波器。

% 绘制结果。

figure;subplot(3,1,1);plot(t, x);title('原始信号');subplot(3,1,2);plot(t, x_noisy);title('添加噪声后的信号');subplot(3,1,3);plot(t, x_filtered);title('经过带通滤波后的信号');在这个例子中,我们首先生成了一个频率为50Hz的正弦信号,并添加了高斯白噪声。

基于某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)

燕山大学课程设计说明书题目:椭圆带通滤波器的设计学院(系):电气工程学院年级专业: 12级学号:学生姓名:指导教师:教师职称:电气工程学院《课程设计》任务书课程名称:数字信号处理课程设计基层教学单位:仪器科学与工程系指导教师:学号学生姓名(专业)班级设计题目2椭圆带通滤波器的设计设计技术参数采样频率100Hz,采样点数100,低频、中频、高频信号频率分别为5Hz、15Hz、30Hz设计要求产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析。

设计高通滤波器对信号进行滤波处理,观察滤波后信号的频谱。

(熟悉函数freqz,ellip,filter,fft)参考资料数字信号处理方面资料MATLAB方面资料周次前半周后半周应完成内容收集消化资料、学习MA TLAB软件,进行相关参数计算编写仿真程序、调试指导教师签字基层教学单位主任签字说明: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设计椭圆带通滤波器的基本原理和方法,并给出相应的实例演示。

1. 椭圆带通滤波器的基本原理椭圆带通滤波器是一种数字信号处理滤波器,其设计依据是数字信号的频域特性和滤波器的传递函数。

在滤波器设计中,一般需要确定滤波器的通带、阻带以及过渡带的频率范围,以及滤波器在这些频率范围内的增益特性。

椭圆带通滤波器相比于其他常见的滤波器如Butterworth滤波器和Chebyshev滤波器,其具有更为陡峭的通带与阻带边缘、更小的过渡带宽度、更高的阻带衰减等优点,适用于对信号频率精确要求较高的应用场景。

2. 椭圆带通滤波器的设计步骤椭圆带通滤波器的设计主要包括两个方面:确定滤波器的频率响应特性和实现滤波器的传递函数。

在Matlab中,可以利用信号处理工具箱提供的相关函数和工具进行滤波器设计和分析,以下是椭圆带通滤波器设计的基本步骤:(1) 确定滤波器的通带、阻带与过渡带频率范围;(2) 根据设计要求选择椭圆带通滤波器的滤波器类型、阶数和指定通带和阻带的最大允许波纹;(3) 使用Matlab中的ellipord函数计算椭圆带通滤波器的阶数和截止频率;(4) 利用ellip函数设计滤波器的传递函数,并计算其零极点信息;(5) 可视化滤波器的频率响应曲线和幅度响应曲线,评估滤波器的设计效果。

3. Matlab实例演示以下是使用Matlab进行椭圆带通滤波器设计的简单实例演示:(1) 确定椭圆带通滤波器的设计参数,包括通带频率范围、阻带频率范围及其对应的最大允许波纹等;(2) 使用Matlab中的ellipord函数计算椭圆带通滤波器的阶数和截止频率,例如:```matlab[order, cutoff] = ellipord(wp, ws, Rp, Rs, 's');```(3) 利用ellip函数设计滤波器的传递函数,并计算其零极点信息,例如:```matlab[num, den] = ellip(order, Rp, Rs, cutoff, 's');zplane(num, den);```(4) 绘制滤波器的频率响应曲线和幅度响应曲线,例如:```matlabfreqz(num, den);```(5) 评估滤波器的设计效果,包括通带波纹、阻带衰减、相位特性等。

椭圆滤波器的设计

椭圆滤波器的设计

目录第一章摘要 (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) 椭圆函数,ε为与通带衰减有关的参数。

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

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

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

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

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

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

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

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

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

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

是在通带和阻带等波纹的一种滤波器。

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

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

椭圆滤波器传输函数是一种较复杂的逼近函数,利用传统的设计方法进行电路网络综合要进行繁琐的计算,还要根据计算结果进行查表,整个设计、调整都十分困难和繁琐。

有许多方法都是希望能快速简便地设计并实现椭圆滤波器从而把电子电路设计者从烦琐的模拟滤波器设计中解放出来。

Matlab的信号处理工具箱提供了设计椭圆滤波器的函数:ellipord函数和ellip函数。

通过编程可以很容易由滤波器的技术指标得到所需滤波器的阶数实现各种类型的椭圆滤波器,大大简化了椭圆滤波器的设计。

本文采用的方法是MATLAB设计出滤波器的传输函数,然后再用通用的可编程滤波器来实现。

第二章 信号处理原理2.1椭圆滤波器的基本理论模拟滤波器是电子设备中最重要的部分之一。

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

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

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

椭圆滤波器有如下特点:1、椭圆高通滤波器是一种零、极点型滤波器,它在有限频率范围内存在传输零点和极点。

2、椭圆高通滤波器的通带和阻带都具有等波纹特性,因此通带,阻带逼近特性良好。

3、对于同样的性能要求,它比前两种滤波器所需用的阶数都低,而且它的过渡带比较窄。

它的振幅平方函数为2221()1/a N pH j R εΩ=+ΩΩ() 其中RN (x )是雅可比(Jacobi) 椭圆函数,ε为与通带衰减有关的参数。

2.2采样定理模拟信号经过 (A/D) 变换转换为数字信号的过程称之为采样,信号采样后其频谱产生了周期延拓,每隔一个采样频率fs ,重复出现一次。

理想采样就是假设采样开关闭合时间无限短,即τ→0的极限情况。

此时采样序列可表示为一个冲激函数序列。

采样定理:要想采样后能够不失真地还原出原模拟信号,则采样频率必须大于两倍原模拟信号频谱的最高截止频率(s Ω≥2c Ω)。

第三章 软件仿真设计3.1椭圆滤波器设计结构图椭圆滤波器设计结构图如图所示: 图3.1椭圆滤波器结构框图 3.2设计椭圆模拟带通滤波器的步骤1.确定模拟滤波器的性能指标s R p R s W Wp 、、、。

2.由性能指标计算出滤波器阶次N 。

3.通过归一化及去归一化求出的模拟滤波器)(s Ha 。

3.3 MATLAB 相关函数介绍1. Matlab 的信号处理软件提供了设计椭圆滤波器的函数:ellipord 函数和ellip 函数。

(1).Ellipord 函数的功能是求滤波器的最小阶数其调用格式为[]()s ,Rs Rp,Ws,Wp,ellipord =Wn N,''其中:N 为椭圆滤波器最小阶数、Wp 是椭圆滤波器通带频率(Hz)、Ws 为椭圆滤波器阻带频率(Hz)、Rp 为通带波纹最大衰减(dB)、Rs 为阻带最小衰减(dB)。

在本次设计中,Wp 分别为10Hz 和20Hz 、Ws 分别为8Hz 和22Hz,、Rp 和Rs 各为1dB 和40db 。

具体程序如下:Wp=[10,20];Ws=[8,22];Rp=1;Rs=40;[N,Wn]=ellipord(Wp,Ws,Rp,Rs,'s');采样(100HZ ) 连续混合 信号带通滤波器 输出运行可得 6 N = Wn =10 20(2).Ellip 函数的功能是用来设计椭圆滤波器。

其调用格式[]()Wp Rs,Rp,n,ellip =a b,[]()e ftyp ,Wp Rs,Rp,n,ellip = a b, '' 其中h hig = e ftyp ''''为高通滤波器、w lo = e ftyp ''''为低通滤波器、p sto = e ftyp ''''为带阻滤波器。

返回长度为n+1的滤波器系数行向量b 和a,进而求得传递函数H(z)1121121()H()()1+nn n n b b z z B z z A z a z z --+--+++==++…+b …a2.频谱分析函数:fft 函数、filter 函数和freqz 函数。

1).fft 函数功能:对信号进行离散傅里叶变换。

其调用格式:fft(X) fft(X,N) fft(X,[],DIM)或fft(X,N,DIM)说明:fft(X)是对输入信号X 的离散傅里叶变换。

fft(X,N)是N 点傅里叶变换,如果X 少于N 点则补0凑齐位数,长于N 点则截断。

如果x 是个矩阵,列的长度将会以同样的方式调整,fft 会对每列进行傅里叶变换,并返回一个相同维数的矩阵。

fft(X,[],DIM)或fft(X,N,DIM)是离散傅里叶变换在DIM 尺度上的应用。

DIM 可适应于任意维度的fft 运算。

2).filter 函数功能:利用IIR 滤波器和FIR 滤波器对数据进行滤波。

其调用格式: y=filter(b,a,x) [y,zf]=filter(b,a,x)y=filter(b,a,x,zi)说明:filter 采用数字滤波器对数据进行滤波,其实现采用移位直接Ⅱ型结构,因而适用于IIR 和FIR 滤波器。

滤波器的系统函数为n n mm z a z a z a z a z b z b z b z b b Z H --------+⋅⋅⋅+++++⋅⋅⋅++++=33221133221101)(即滤波器系数a=[a 0 a 1 a 2 ...a n ],b=[b 0 b 1 ...b m ],输入序列矢量为x 。

这里,标准形式为a 0=1,如果输入矢量a 时,a 0≠1,则MATLAB 将自动进行归一化系数的操作;如果a=0则给出出错信息。

y=filter(b,a,x)利用给定系数矢量a和b对x中的数据进行滤波,结果放入y 矢量中,y的长度取max(N,M)。

y=filter(b,a,x,zi)可在zi中指定x的初始状态。

[y,zf]=filter(b,a,x)除得到矢量y外,还得到x的最终状态矢量zf。

3).freqz函数功能:离散时间系统的频率响应。

其调用格式:[h,w]=freqz(b,a,n) [h,f]=freqz(b,a,n,Fs)h=freqz(b,a,w)h=freqz(b,a,f,Fs)说明: freqz 用于计算数字滤波器H(Z)的频率响应函数H(e jω)。

[h,w]=freqz(b,a,n)可得到数字滤波器的n点幅频响应值,这n个点均匀地分布在[0,π]上,并将这n个频点的频率记录在w中,相应的频响值记录在h中。

要求n为大于零的整数,最好为2的整数次幂,以便采用FFT计算,提高速度。

缺省时n =512。

相关文档
最新文档