资源描述:
《基于双线性变换法设计elliptic型iir数字低通滤波器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程设计课程设计名称:数字信号处理课程设计专业班级:电信1002学生姓名:周瑞峰学号:201046830409指导教师:李相国课程设计时间:2013年6月8数字信号处理专业课程设计任务书学生姓名周瑞峰专业班级电信1002学号201046830409题目基于双线性变换法设计Elliptic型IIR数字低通滤波器。课题性质其它课题来源自拟课题指导教师李相国同组姓名主要内容设计一个具有如下性能指标的Elliptic型IIR数字低通滤波器:=0.25,=0.4,=0.01,=0.001;分析最后设计结果性能。任务
2、要求1.掌握双线性变换法设计数字滤波器的基本流程;2.掌握Elliptic型模拟低通原型滤波器;3.求出所设计滤波器的传输函数;4.绘制所设计滤波器的幅频特性图。参考文献[1]胡广书.数字信号处理—理论、算法与实现[M].北京:清华大学出版社,1997.[2]R.Lyons.UnderstandingDigitalSignalProcessing[M].2nded.PrenticeHallPTR.,2004.[3]A.V.奥本海姆,R.W.谢弗andJ.R.巴克.离散时间信号处理[M].第二版.西安交通大
3、学出版社,2001.[4]S.K.Mitra.DigitalSignalProcessing:AComputer-BasedApproach[M].3rded.McGraw-Hill,2005.审查意见指导教师签字:教研室主任签字:年月日81需求分析此次实验是根据规定的要求=0.25,=0.4,=0.01,=0.001,利用双线性变换法设计一个椭圆形IIR数字低通滤波器。根据题目可看出设计要求有几点:1.双线性变换法2.椭圆型3.IIR4.数字低通5.各项参数如上2概要设计开始根据已给参数算出编程用的参数
4、低通滤波器设计与实现(用ellipord,ellip,filter函数实现)低通滤波器设计与实现绘图结束3运行环境硬件:计算机一台软件环境:WINDOWSXPMATLAB4开发工具和编程语言开发工具:MATLAB编程语言:c语言5详细设计参数配置程序:Wp=0.25*pi;通带截止频率Ws=0.4*pi;阻带截止频率Rp=-20*log10(1-0.01);峰值通带波纹Rs=-20*log10(0.001);最小阻带衰减8椭圆型低通数字滤波器的生成程序:[N,Wc]=ellipord(Ws,Wp,Rp,R
5、s);ellipord椭圆滤波器最小阶数和截止频率的确定函数。语法:[N,Wc]=ellipord(wp,ws,Rp,Rs,‘s’)Rp、Rs分别为通带最大波纹和阻带最小衰减;wp、ws分别为为通带边界频率和阻带边界频率,单位为rad/s。这四个参数为滤波器的基本性能指标返回值N为实现给定性能指标的最小阶数,Wc为数字滤波器的截止频率,单位为rad/s。's'表示模拟滤波器,缺省时该函数适用于数字滤波器,本程序中‘s’缺省。此时wp及ws均为0~1之间的数值,即频率与抽样频率的比值。[b,a]=ellip
6、(N,Rp,Rs,Wc);求传递函数的分子分母系数,b,a分别为传递函数的分子分母的系数,N是实现给定性能的最小阶数,Rp,Rs,分别为峰值通带波纹,最小阻带衰减,Wc,为数字滤波器的截止频率。[hw,w]=freqz(b,a,N);b和a分别为离散系统的系统函数分子、分母多项式的系数向量,返回量hw则包含了离散系统频响在0~pi范围内N个频率等分点的值(其中N为正整数),w则包含了范围内N个频率等分点。调用默认的N时,其值是512,本程序N用默认值。subplot(3,2,1);subplot(m,n,
7、p)或者subplot(mnp)。subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一列的,一共m行,如果m=2就是表示2行图。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。plot(w/pi,20*log10(abs(hw)));plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。本程序中,x是由freqz函数得到的512个等分点除以pi的值,y中abs函数式求绝对值,即求(hw)的绝对值,并依
8、此为纵坐标作图。grid;在画图中显示网格线axis([0,1,-80,5]);设置x轴,y轴的范围xlabel('w/pi');给x轴添加图例8ylabel('幅度(db)');给y轴添加图例subplot(3,2,3);plot(w/pi,angle(hw));angle函数的意思是hw的相角,即以hw的相角为纵坐标画出相位曲线grid;axis([0,1,-pi,pi])xlabel('w/pi');ylabel('相位