您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 椭圆带通滤波器的设计(matlab)
燕山大学课程设计说明书题目:椭圆带通滤波器的设计学院(系):电气工程学院年级专业:12级学号:学生姓名:指导教师:教师职称:燕山大学课程设计说明书电气工程学院《课程设计》任务书课程名称:数字信号处理课程设计基层教学单位:仪器科学与工程系指导教师:学号学生姓名(专业)班级设计题目2椭圆带通滤波器的设计设计技术参数采样频率100Hz,采样点数100,低频、中频、高频信号频率分别为5Hz、15Hz、30Hz设计要求产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析。设计高通滤波器对信号进行滤波处理,观察滤波后信号的频谱。(熟悉函数freqz,ellip,filter,fft)参考资料数字信号处理方面资料MATLAB方面资料周次前半周后半周应完成内容收集消化资料、学习MATLAB软件,进行相关参数计算编写仿真程序、调试指导教师签字基层教学单位主任签字说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。2、学生那份任务书要求装订到课程设计报告前面。电气工程学院教务科燕山大学课程设计说明书摘要所谓数字滤波器,是指输入输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。数字滤波器处理精度高、稳定、体积小、重量轻、灵活、不存在阻抗匹配问题。典型的模拟滤波器有巴特沃斯滤波器、切比雪夫滤波器和椭圆滤波器和贝塞尔滤波器,其中椭圆滤波器具有较好的性能。Matlab是一套集数值计算、符号运算及图形处理等强大功能于一体的科学计算软件。作为强大的科学计算平台,它几乎能够满足所有的计算需求。本课结合MATLAB设计模拟椭圆滤波器。目录第一章概论----------------------------------------------------------------------------------1第二章信号处理原理---------------------------------------------------------------------22.1椭圆滤波器的基本理论----------------------------------------------------------22.2采样定理----------------------------------------------------------------------------3第三章软件仿真设计---------------------------------------------------------------------43.1椭圆滤波器设计结构图----------------------------------------------------------43.2设计椭圆模拟带通滤波器的步骤----------------------------------------------43.3MATLAB相关函数介绍---------------------------------------------------------4第四章程序和仿真结果分析------------------------------------------------------------84.1带通通滤波器设计程序----------------------------------------------------------84.2仿真结果KK及分析-------------------------------------------------------------9参考文献-------------------------------------------------------------------------------------131第一章概论椭圆滤波器又称考尔滤波器。是在通带和阻带等波纹的一种滤波器。椭圆滤波器相比其他类型的滤波器在阶数相同的条件下有着最小的通带和阻带波动。它在通带和阻带的波动相同,这一点区别于在通带和阻带都平坦的巴特沃斯滤波器以及通带平坦、阻带等波纹或是阻带平坦、通带等波纹的切比雪夫滤波器。椭圆滤波器传输函数是一种较复杂的逼近函数,利用传统的设计方法进行电路网络综合要进行繁琐的计算,还要根据计算结果进行查表,整个设计、调整都十分困难和繁琐。有许多方法都是希望能快速简便地设计并实现椭圆滤波器从而把电子电路设计者从烦琐的模拟滤波器设计中解放出来。Matlab的信号处理工具箱提供了设计椭圆滤波器的函数:ellipord函数和ellip函数。通过编程可以很容易由滤波器的技术指标得到所需滤波器的阶数实现各种类型的椭圆滤波器,大大简化了椭圆滤波器的设计。本文采用的方法是MATLAB设计出滤波器的传输函数,然后再用通用的可编程滤波器来实现。燕山大学课程设计说明书2第二章信号处理原理2.1椭圆滤波器的基本理论模拟滤波器是电子设备中最重要的部分之一。常用的滤波器有巴特沃斯滤波器、切比雪夫滤波器以及椭圆滤波器;贝塞尔滤波器巴特沃斯和切比雪夫滤波器的传输函数都是一个常数除以一个多项式,为全极点网络,仅在无限大处阻带衰减为无限大,而椭圆函数滤波器在有限频率上既有零点又有极点。零、极点在通带内产生等纹波,阻带内的有限传输零点减少了过渡区,可获得极为陡峭的衰减曲线。也就是说对于给定的阶数和波纹要求,椭圆滤波器能获得较其它滤波器更窄的过渡带宽,就这点而言,椭圆滤波器是最优的。椭圆滤波器有如下特点:1、椭圆高通滤波器是一种零、极点型滤波器,它在有限频率范围内存在传输零点和极点。2、椭圆高通滤波器的通带和阻带都具有等波纹特性,因此通带,阻带逼近特性良好。3、对于同样的性能要求,它比前两种滤波器所需用的阶数都低,而且它的过渡带比较窄。它的振幅平方函数为2221()1/aNpHjR()其中RN(x)是雅可比(Jacobi)椭圆函数,ε为与通带衰减有关的参数。燕山大学课程设计说明书32.2采样定理模拟信号经过(A/D)变换转换为数字信号的过程称之为采样,信号采样后其频谱产生了周期延拓,每隔一个采样频率fs,重复出现一次。理想采样就是假设采样开关闭合时间无限短,即0的极限情况。此时采样序列可表示为一个冲激函数序列。采样定理:要想采样后能够不失真地还原出原模拟信号,则采样频率必须大于两倍原模拟信号频谱的最高截止频率(s2c)。燕山大学课程设计说明书4第三章软件仿真设计3.1椭圆滤波器设计结构图椭圆滤波器设计结构图如图所示:图3.1椭圆滤波器结构框图3.2设计椭圆模拟带通滤波器的步骤1.确定模拟滤波器的性能指标sRpRsWWp、、、。2.由性能指标计算出滤波器阶次N。3.通过归一化及去归一化求出的模拟滤波器)(sHa。3.3MATLAB相关函数介绍1.Matlab的信号处理软件提供了设计椭圆滤波器的函数:ellipord函数和ellip函数。(1).Ellipords,RsRp,Ws,Wp,ellipord=WnN,其中:N为椭圆滤波器最小阶数、Wp是椭圆滤波器通带频率(Hz)、Ws为椭圆滤波器阻带频率(Hz)、Rp为通带波纹最大衰减(dB)、Rs为阻带最小衰减(dB)。在本次设计中,Wp分别为10Hz和20Hz、Ws分别为8Hz和22Hz,、Rp采样(100HZ)连续混合信号带通滤波器输出燕山大学课程设计说明书5和Rs各为1dB和40db。具体程序如下:Wp=[10,20];Ws=[8,22];Rp=1;Rs=40;[N,Wn]=ellipord(Wp,Ws,Rp,Rs,'s');6NWn=1020(2).Ellip函数的功能是用来设计椭圆滤波器。其调用格式WpRs,Rp,n,ellip=ab,eftyp,WpRs,Rp,n,ellip=ab,其中hhig=eftyp为高通滤波器、wlo=eftyp为低通滤波器、psto=eftyp为带阻滤波器。返回长度为n+1的滤波器系数行向量b和a,进而求得传递函数H(z)1121121()H()()1+nnnnbbzzBzzAzazz…+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尺度上的应用。燕山大学课程设计说明书6DIM可适应于任意维度的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滤波器。滤波器的系统函数为nnmmzazazazazbzbzbzbbZH33221133221101)(即滤波器系数a=[a0a1a2...an],b=[b0b1...bm],输入序列矢量为x。这里,标准形式为a0=1,如果输入矢量a时,a0≠1,则MATLAB将自动进行归一化系数的操作;如果a0=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(ejω)。[h,w]=freqz(b,a,n)可得到数字滤波器的n点幅频响应值,这n个点均匀地分布在[0,π]上,并将这n个频点的频率记录在w中,相应的频响值记录在h中。要求n为大于零的整数,最好为2的整数次幂,以便采用FFT计算,提高速度。缺省时n=512。燕山大学课程设计说明书7[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)用于在当前图形窗口中绘制幅频和相频特性曲线。燕山大学课程设计说明书8第四章程序和仿真结果分析4.1带通通滤波器设计程序Wp=[10,20];Ws=[8,22];Rp=1;Rs=40;[N,Wn]=ellipord(Wp,Ws,Rp,Rs,'s');Fs=100;q=(0:255)/256*50;t=(1:100)/Fs;c=sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);figure(1);[b,a]=ellip(N,Rp,Rs,Wn/50);[H,w]=freqz(b,a,512);plot(w*Fs/(2*pi),abs(H));title('带通滤波器频率特性');xlabel('频率(HZ)');ylabel('频率响应图');sf=f
本文标题:椭圆带通滤波器的设计(matlab)
链接地址:https://www.777doc.com/doc-7332068 .html