椭圆滤波器的设计_第1页
椭圆滤波器的设计_第2页
椭圆滤波器的设计_第3页
椭圆滤波器的设计_第4页
椭圆滤波器的设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、计的椭圆滤波器对采样信号进行滤波处理,并对仿真结果进行分析和处理。详细介绍了在基于MATLAB设计椭圆滤波器过程中常用到的工具和命令。第二章 引言数字滤波器设计在电子工程、应用数学和计算机科学领域都是非常重要的内容。椭圆滤波器(Elliptic filter)又称考尔滤波器(Cauer filter),是在通带和阻带等波纹的一种滤波器。它比切比雪夫方式更进一步地是同时用通带和阻带的起伏为代价来换取过渡带更为陡峭的特性。椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有着最小的通带和阻带波动。它在通带和阻带的波动相同,这一点区别于在通带和阻带都平坦的巴特沃斯滤波器,以及通带平坦、阻带等波纹或是

3、阻带平坦、通带等波纹的切比雪夫滤波器。现代生活中,数字信号经过DAC转换获得的模拟信号的例子太多了,如声卡中的语音合成输出,又如试验室中的合成信号发生器等,为了滤除谐波干扰,获得高精度的模拟信号,大多数就采用本文介绍的衰减特性陡峭的椭圆低通滤波器。因此椭圆滤波器具有广泛的应用。 第三章 基本原理 3.2椭圆滤波器的特点幅值响应在通带和阻带内都是等波纹的,对于给定的阶数和给定的波纹要求,椭圆滤波器能获得较其它滤波器为窄的过渡带宽,就这点而言,椭圆滤波器是最优的,其振幅平方函数为 其中RN(x)是雅可比(Jacobi) 椭圆函数,为与通带衰减有关的参数。特点:1、椭圆低通滤波器是一种零、极点型滤波

4、器,它在有限频 率范围内存在传输零点和极点。2、椭圆低通滤波器的通带和阻带都具有等波纹特性,因此通带,阻带逼近特性良好。 3、对于同样的性能要求,它比前两种滤波器所需用的阶数都低,而且它的过渡带比较窄。第四章 设计过程4.1椭圆滤波器设计结构图椭圆滤波器设计结构图如图所示:图4.1结构框图4.2设计椭圆数字滤波器的步骤1.确定数字滤波器的性能指标:wp,ws,Ap,As。2. 将数字滤波器的性能指标转化成相应模拟滤波器的性能指标。3.设计满足指标要求的模拟滤波器Ha(s)。4.通过变换将模拟滤波器转换成数字滤波器4.3数字滤波器的MATLAB实现和频谱分析 1. Matlab的信号处理工具箱提

5、供了设计椭圆滤波器的函数:ellipord函数和ellip函数。Ellipord函数的功能是求滤波器的最小阶数,其调用格式为:调用格式:n,Wp = ellipord(Wp,Ws,Rp,Rs)n-椭圆滤波器最小阶数;Wp-椭圆滤波器通带截止角频率;Ws-椭圆滤波器阻带起始角频率;Rp-通带波纹(dB);Rs-阻带最小衰减(dB);Ellip函数的功能是用来设计椭圆滤波器,其调用格式:b,a = ellip(n,Rp,Rs,Wp) b,a = ellip(n,Rp,Rs,Wp,'ftype')返回长度为n+1的滤波器系数

6、行向量b和a, 'ftype' = 'high' 高通滤波器'ftype' = 'low'低通滤波器'ftype' = 'stop'带阻滤波器2.Matlab的信号处理工具箱提供了频谱分析函数:fft函数、filter函数和freqz函数。fft函数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(b,a,n)说明: freqz 用

7、于计算数字滤波器H(Z)的频率响应函数H(ej)。h,w=freqz(b,a,n)可得到数字滤波器的n点复频响应值,这n个点均匀地分布在0,上,并将这n个频点的频率记录在w中,相应的频响值记录在h中。要求n为大于零的整数,最好为2的整数次幂,以便采用FFT计算,提高速度。缺省时n =512。 h,f=freqz(b,a,n,Fs)用于对H(ej)在0,Fs/2上等间隔采样n点,采样点频率及相应频响值分别记录在f 和h中。由用户指定FS(以HZ为单位)值。h=freqz(b,a,w)用于对H(ej)在0,2上进行采样,采样频率点由矢量w指定。h=freqz(b,a,f,Fs) 用于对H(ej)在

8、0,FS上采样,采样频率点由矢量f指定。freqz(b,a,n) 用于在当前图形窗口中绘制幅频和相频特性曲线。filter函数功能:利用IIR滤波器和FIR滤波器对数据进行滤波。格式:y=filter(b,a,x) y,zf=filter(b,a,x) y=filter(b,a,x,zi)说明:filter采用数字滤波器对数据进行滤波,其实现采用移位直接型结构,因而适用于IIR和FIR滤波器。滤波器的系统函数为 即滤波器系数a=a0 a1 a2 .an,b=b0 b1 .bm,输入序列矢量为x。这里,标准形式为a0=1,如果输入矢量a时,a01,则MATLAB将自动进行归一化系数的操作;如果a

9、0=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。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(b,a,n)说明: freqz 用于计算数字滤波器H(Z)的频率响应函数H(ej)。h,w=freqz(b,a

10、,n)可得到数字滤波器的n点复频响应值,这n个点均匀地分布在0,上,并将这n个频点的频率记录在w中,相应的频响值记录在h中。要求n为大于零的整数,最好为2的整数次幂,以便采用FFT计算,提高速度。缺省时n =512。 h,f=freqz(b,a,n,Fs)用于对H(ej)在0,Fs/2上等间隔采样n点,采样点频率及相应频响值分别记录在f 和h中。由用户指定FS(以HZ为单位)值。h=freqz(b,a,w)用于对H(ej)在0,2上进行采样,采样频率点由矢量w指定。h=freqz(b,a,f,Fs) 用于对H(ej)在0,FS上采样,采样频率点由矢量f指定。freqz(b,a,n) 用于在当前

11、图形窗口中绘制幅频和相频特性曲线。第五章 程序和仿真图5.1低通滤波器设计程序%连续信号的产生及采样clearFs=100;t=(1:100)/Fs;s1=sin(2*pi*t*5);s2=sin(2*pi*t*15);s3=sin(2*pi*t*30);s=s1+s2+s3;plot(t,s)xlabel('时间(s)')ylabel('幅值')%椭圆低通滤波器的设计b,a=ellip(4,0.1,40,5*2/Fs);H,w=freqz(b,a,512);plot(w*Fs/(2*pi),abs(H);xlabel('频率(Hz)');yla

12、bel('频率响应图');grid;%对滤波后的信号进行分析和变换sf=filter(b,a,s);plot(t,sf);xlabel('时间 (s)');ylabel('幅值');axis(0 1 -1 1);S=fft(s,512);SF=fft(sf,512);w=(0:255)/256*(Fs/2);plot(w,abs(S(1:256)' SF(1:256)');xlabel('频率(Hz)');ylabel('傅立叶变换图');grid;legend('before',&

13、#39;after');5.2带通滤波器设计程序%连续信号的产生及采样Fs=100;t=(1:100)/Fs;s1=sin(2*pi*t*5);s2=sin(2*pi*t*15);s3=sin(2*pi*t*30);s=s1+s2+s3;plot(t,s);xlabel('时间(秒)');ylabel('幅值');b,a=ellip(4,0.1,40,10 20*2/Fs);H,w=freqz(b,a,512);plot(w*Fs/(2*pi),abs(H);xlabel('频率 (Hz)');ylabel('频率响应图'

14、);grid;%椭圆带通滤波器的设计b,a=ellip(4,0.1,40,8 12*2/Fs);H,w=freqz(b,a,512);plot(w*Fs/(2*pi),abs(H);xlabel('频率 (Hz)');ylabel('频率响应图');grid;%对滤波后的信号进行分析和变换sf=filter(b,a,s);plot(t,sf);xlabel('时间 (s)');ylabel('幅值');axis(0 1 -1 1);S=fft(s,512);SF=fft(sf,512);w=(0:255)/256*(Fs/2);p

15、lot(w,abs(S(1:256)' SF(1:256)');xlabel('频率(Hz)');ylabel('傅立叶变换图');grid;legend('before','after');5.3高通滤波器设计程序%连续信号的产生及采样clearFs=100;t=(1:100)/Fs;s1=sin(2*pi*t*5);s2=sin(2*pi*t*10);s3=sin(2*pi*t*15);s=s1+s2+s3;plot(t,s)xlabel('时间(s)')ylabel('幅值')

16、%椭圆高通滤波器的设计b,a=ellip(4,0.1,40,30*2/Fs,'high');H,w=freqz(b,a,512);plot(w*Fs/(2*pi),abs(H);xlabel('频率(Hz)');ylabel('频率响应图');grid;%对滤波后的信号进行分析和变换sf=filter(b,a,s);plot(t,sf);xlabel('时间 (s)');ylabel('幅值');axis(0 1 -1 1);S=fft(s,512);SF=fft(sf,512);w=(0:255)/256*(Fs

17、/2);plot(w,abs(S(1:256)' SF(1:256)');xlabel('频率(Hz)');ylabel('傅立叶变换图');grid;legend('before','after');5.4信号的仿真图1.信号通过椭圆低通滤波器的仿真图,如下图所示 图5.1信号通过椭圆低通滤波器的仿真图 注:图中蓝色曲线代表滤波前的幅频曲线,绿线代表滤波后的幅频曲线。2. 信号通过椭圆带通滤波器的仿真图,如下图所示图5.2信号通过椭圆带通滤波器的仿真图3.信号通过椭圆高通滤波器的仿真图,如下图所示图5.3信号通过椭圆高通滤波器的仿真图第六章 结语 数字滤波器的应用十分广泛,利用Matlab语言,很容易地设计地设计出数字椭圆滤波器,数字椭圆滤波器可以用较少的阶数获得很高的选择特性,在相位要求不敏感的场合,如语音信号处理等,适合用数字椭圆滤波器。在设计过程中可以对比滤波器的特性,随时更改参数,已达到滤波器设计的最优。心得体会

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论