西南科技大学课程设计报告课程名称:数字通信课程设计设计名称:IIR高通、带通和带阻数字滤波器设计姓名:学号:班级:指导教师:龙惠民起止日期:西南科技大学信息工程学院制课程设计任务书学生班级:通信学生姓名:学号:设计名称:IIR高通、带通和带阻数字滤波器设计起止日期:指导教师:龙惠民设计要求:IIR高通、带通和带阻数字滤波器设计要求:用MATLAB设计以下的IIR数字滤波器:1、巴特沃思数字高通滤波器设计:抽样频率为10kHZ,,通带截止频率为2.5kHZ,通带衰减不大于2dB,阻带上限截止频率1.5kHZ,阻带衰减不小于15dB2、巴特沃思数字带通滤波器设计:抽样频率为10kHZ,,通带范围是1.5kHZ到2.5kHZ,通带衰减不大于3dB,在1kHZ和4kHZ处衰减不小于20dB3、巴特沃思数字带阻滤波器设计:抽样频率为10kHZ,,在-2dB衰减处的边带频率是1.5kHZ,4kHZ,在-13dB衰减处频率是2kHZ和3kHZ4、分别绘制这三种数字滤波器的幅度响应曲线和相位响应曲线;5、采用切比雪夫Ⅰ型滤波器为原型重新设计上述三种数字滤波器;6、分别绘制这三种数字滤波器的幅度响应曲线和相位响应曲线;7、对两种滤波器原型的设计结果进行比较。课程设计学生日志时间设计内容6-21——6-23熟悉MATLAB软件与数字信号处理得有关资料6-24——6-28用MATLAB编写并调试程序,实现高通,带通,带阻滤波器6-29——7-1书写课程设计的论文7-2完善论文,准备答辩7-4答辩课程设计考勤表周星期一星期二星期三星期四星期五课程设计评语表指导教师评语:成绩:指导教师:年月日IIR高通、带通和带阻数字滤波器设计一、设计目的和意义目的:用MATLAB设计以下的IIR数字滤波器:1巴特沃思数字高通滤波器设计2巴特沃思数字带通滤波器设计3巴特沃思数字带阻滤波器设计4切比雪夫数字高通滤波器设计5切比雪夫数字带通滤波器设计6切比雪夫数字带阻滤波器设计意义:掌握用MATLAB工具来实现各种不同原型的数字滤波器,包括各种数字滤波器的原理,工作流程,实现方法等。二、设计原理数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。如果系统是一个连续系统,则滤波器称为模拟滤波器。如果系统是一个离散系统,则滤波器称为数字滤波器。数字滤波器和模拟滤波器一样可以分为低通,高通,带通和带阻等。数字滤波器是一个离散时间系统,在频率响应中具有周期性,因此我们讨论的频率仅在0到pi的范围内,相应的归一化频率在0到1,pi和1对应于Nyquist频率。和模拟滤波器也一样,数字滤波器的设计目的是使滤波器的频率特性达到所给定的性能指标。器性能指标也包括带通波纹,阻带衰减,通带边界频率,阻带频率,阻带边界频率等。IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。IIR数字滤波器的设计步骤:(1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;(2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器;(3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;(4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。实现模拟滤波器系统传递函数到数字系统传递函数的转变又冲激响应不变发和双线性变换法。在应用冲激响应不变法设计数字滤波器时要注意它的特点。如果模拟滤波器频率响应是有限带宽的话,通过变换得到的数字滤波器的频率响应应非常接近模拟滤波器的频率响应。由于数字滤波器的频率响应是模拟滤波器响应的周期延拓,因此对于高通和带阻滤波器存在混叠效应,会造成频率响应失真。因此这种方法原则上只适用于有限带宽滤波器,对于高通,带阻等滤波器,由于它的高频成分不衰减,势必会产生严重的混叠失真。双线性变化法克服了脉冲响应不变法的频谱混叠问题,其幅只逼近程度较好,可用于高通,带通,带阻等各类型的滤波器的设计,但是缺点是频率变化的非线性导致数字滤波器和模拟滤波器在幅度和频率的对应关系上发生畸变。但一般滤波器的幅频响应具有分段常数的特点。即滤波器允许某一频段信号通过,而不允许另一频段的信号通过,故变换后这一特点仍保留,影响不大。由数字边界频率计算模拟边界频率时,不是按线性关系进行的,这就是所谓的预畸变。但是如果给定预畸变频率为边界频率,经预畸变频率校正则可以保证所涉及的模拟边界频率精确映射在所要求的数字边界频率上。三、详细设计步骤1巴特沃思数字高通滤波器设计(1)计算出通带和阻带的截止频率即wp和ws。wp=2500*2/Fs;ws=1500*2/Fs。(2)利用在butter函数计算出滤波器的阶数和截止频率N和Wn。(3)确定滤波器传递函数的分子和分母系数向量,即B,A,用频率变换法设计巴特沃斯高通滤波器[B,A]=butter(N,Wn,'high')。(4)根据系统响应绘制出滤波器的幅度响应曲线和相位响应曲线。用matlab实现巴特沃思数字高通滤波器:Fs=10000;%采样频率wp=2500*2/Fs;ws=1500*2/Fs;%根据采样频率将边界频率进行转换Rp=2;Rs=15;%带通衰减和阻带衰减Nn=128;%显示滤波器的频率特性的数据长度[N,Wn]=buttord(wp,ws,Rp,Rs);%求的数字滤波器的最小阶数和截止频率[b,a]=butter(N,Wn,'high');%确定滤波器传递函数的分子和分母系数向量[H,f]=freqz(b,a,Nn,Fs);%绘制滤波器的频率特性figure(1)subplot(2,1,1),plot(f,20*log10(abs(H)))xlabel('频率/Hz');ylabel('振幅/^o');title('幅度响应曲线');gridon;subplot(2,1,2),plot(f,180/pi*unwrap(angle(H)))xlabel('频率/Hz');ylabel('振幅/^o');title('相位响应曲线');gridon;2巴特沃思数字带通滤波器设计(1)计算出通带和阻带的截止频率即wp和ws。(2)利用在butter函数计算出滤波器的阶数和截止频率N和Wn。(3)确定滤波器传递函数的分子和分母系数向量,即B,A,用频率变换法设计巴特沃斯带通滤波器[B,A]=butter(N,Wn,'bandpass')。(4)根据系统响应绘制出滤波器的幅度响应曲线和相位响应曲线。用matlab实现巴特沃思数字带通滤波器:Fs=10000;%采样频率wp=[15002500]*2/Fs;%通带边界频率ws=[10004000]*2/Fs;%阻带边界频率Rp=3;Rs=20;Nn=128;%带通波纹和阻带衰减以及绘制频率特性的数据点数[N,Wn]=buttord(wp,ws,Rp,Rs);%求的数字滤波器的最小阶数和归一化截止频率[b,a]=butter(N,Wn,'bandpass');%按最小阶数,带通波纹和截止频率设计数字滤波器[H,f]=freqz(b,a,Nn,Fs);%绘制滤波器的频率特性figure(1)subplot(2,1,1),plot(f,20*log10(abs(H)))xlabel('频率/Hz');ylabel('振幅/^o');title('幅度响应曲线');gridon;subplot(2,1,2),plot(f,180/pi*unwrap(angle(H)))xlabel('频率/Hz');ylabel('振幅/^o');title('相位响应曲线');gridon;3巴特沃思数字带阻滤波器设计(1)计算出通带和阻带的截止频率即wp和ws。(2)利用在butter函数计算出滤波器的阶数和截止频率N和Wn。(3)确定滤波器传递函数的分子和分母系数向量,即B,A,用频率变换法设计巴特沃斯带阻滤波器[B,A]=butter(N,Wn,'stop')。(4)根据系统响应绘制出滤波器的幅度响应曲线和相位响应曲线。用matlab实现巴特沃思数字带阻滤波器:Fs=10000;wp=[15004000]*2/Fs;ws=[20003000]*2/Fs;%阻带边界频率Rp=-2;Rs=-13;%带通衰减和阻带衰减Nn=512;%显示滤波器的频率特性的数据长度[N,Wn]=buttord(wp,ws,Rp,Rs);%求的数字滤波器的最小阶数和归一化截止频率[b,a]=butter(N,Wn,'stop');%按最小阶数,截止频率设计数字滤波器[H,f]=freqz(b,a,Nn,Fs);%绘制滤波器的频率特性figure(1)subplot(2,1,1),plot(f,20*log10(abs(H)))xlabel('频率/Hz');ylabel('振幅/^o');title('幅度响应曲线');gridon;subplot(2,1,2),plot(f,180/pi*unwrap(angle(H)))xlabel('频率/Hz');ylabel('振幅/^o');title('相位响应曲线');gridon;4切比雪夫数字高通滤波器设计切比雪夫Ⅰ型滤波器设计设计步骤与巴特沃斯滤波器基本相同,但是对于阶数和截止频率的计算则用[N,Wn]=cheb1ord(wp,ws,Ap,As);[b,a]=cheby1(N,Ap,Wn);函数。用matlab实现切比雪夫数字高通滤波器:Fs=10000;%采样频率wp=2500*2/Fs;ws=1500*2/Fs;%根据采样频率将边界频率进行转换Rs=15;Rp=2;%带通衰减和阻带衰减Nn=128;%显示滤波器的频率特性的数据长度[N,Wn]=cheb1ord(wp,ws,Rp,Rs);%求的数字滤波器的最小阶数和截止频率[b,a]=cheby1(N,Rp,Wn,'high');%设置成切比雪夫高通滤波器[H,f]=freqz(b,a,Nn,Fs);figure(1)subplot(2,1,1),plot(f,20*log10(abs(H)))xlabel('频率/Hz');ylabel('振幅/^o');title('幅度响应曲线');gridon;subplot(2,1,2),plot(f,180/pi*unwrap(angle(H)))xlabel('频率/Hz');ylabel('振幅/^o');title('相位响应曲线');gridon;5切比雪夫数字带通滤波器设计用matlab实现切比雪夫数字带通滤波器:Fs=10000;%采样频率wp=[15002500]*2/Fs;%通带边界频率ws=[10004000]*2/Fs;%阻带边界频率Rs=20;Rp=3;Nn=128;%带通波纹和阻带衰减以及绘制频率特性的数据点数[N,Wn]=cheb1ord(wp,ws,Rp,Rs);%求的数字滤波器的最小阶数和归一化截止频率[b,a]=cheby1(N,Rp,Wn);%按最小阶数,带通波纹和截止频率设计数字滤波器[H,f]=freqz(b,a,Nn,Fs);%绘制滤波器的频率特性figure(1)subplot(2,1,1),plot(f,20*log10(abs(H)))xlabel('频率/Hz');ylabel('振幅/^o');title('幅度响应曲线');gridon;subplot(2,1,2),plot(f,180/pi*unwrap(angle(H)))xlabel('频率/Hz');ylabel('振幅/^o');title('相位响应曲线');gridon;6切比雪夫数字带阻滤波器设计用matlab实现切比雪夫数字带阻滤波器:F