目录第一章摘要.......................................................第二章引言.......................................................第三章基本原理...................................................3.1滤波器的基本理论...............................................3.2模拟滤波器的设计...............................................3.3数字滤波器的设计.....................................................第四章设计过程...................................................4.1设计低通数字滤波器.............................................4.2滤波器的MATLAB实现............................................第五章程序和仿真图...............................................5.1设计程序..............................................................5.2特性曲线仿真图.......................................................第六章结语.......................................................参考文献资料......................................................燕山大学课程设计说明书共页第页第一章摘要滤波器是自动控制、信号处理和通信领域的重要组成部分,广泛地应用于各种系统中。MATLAB语言是一种简单、高效的高级语言,是一种内容丰富、功能强大的分析工具,其应用范围几乎覆盖了所有的科学和工程计算领域。MATLAB中提供了丰富的用于模拟滤波器设计的函数,通过编程可以很容易实现低通、高通、带通、带阻滤波器,并能画出滤波器的幅频特性曲线,大大简化了模拟滤波器设计。本文将通过利用MATLAB滤波器设计函数直接实现巴特沃斯低通滤波器的设计,找到应用MATLAB来设计低通滤波器的方法。介绍了用脉冲响应不变法设计巴特沃斯低通滤波器的基本理论和设计思想,给出了基于MATLAB设计巴特沃斯低通滤波器的具体步骤,文中还给出了利用MATLAB产生的滤波器的幅频及相频特性曲线。详细介绍了在基于MATLAB设计低通滤波器过程中常用到的工具和命令。关键字:巴特沃斯低通滤波器脉冲响应不变法第二章引言滤波器设计在电子工程、应用数学和计算机科学领域都是非常重要的内,。而低通滤波器在信号处理中的作用等同于其它领域如金融领域中移动平均数(movingaverage)所起的作用,低通滤波器有很多种,其中,最通用的就是巴特沃斯滤波器和切比雪夫滤波器。巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。在振幅的对数对角频率的波得图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。巴特沃斯滤波器的振幅对角频率单调下降,并且也是唯一的无论阶数,振幅对角频率曲线都保持同样的形状的滤波器。只不过滤波器阶数越高,在阻频带振幅衰减速度越快。其他滤波器高阶的振幅对角频率图和地结束的振幅对角频率有不同的形状。燕山大学课程设计说明书共页第页第三章基本原理3.1滤波器的基本理论3.1.1滤波器的分类滤波器分两大类:经典滤波器和现代滤波器。经典滤波器是假定输入信号)(nx中的有用成分和希望取出的成分各自占有不同的频带。这样,当)(nx通过一个线性系统(即滤波器)后可讲欲去除的成分有效的去除。现代滤波器理论研究的主要内容是从含有噪声的数据记录(又称时间序列)中估计出信号的某些特征或信号本身。经典滤波器分为低通、高通、带通、带阻滤波器。每一种又有模拟滤波器(AF)和数字滤波器(DF)。对数字滤波器,又有IIR滤波器和FIR滤波器。IIRDF的转移函数是:NkkkMrrrzazbzXzYzH101)()()(FIRDF的转移函数是:10)()(NnnznhzHFIR滤波器可以对给定的频率特性直接进行设计,而IIR滤波器目前最通用的方法是利用已经很成熟的模拟滤波器的设计方法进行设计。3.1.2滤波器的技术要求低通滤波器:p:通带截止频率s:阻带下限截止频率p:通带允许的最大衰减s:阻带允许的最小衰减(p,s的单位dB)p:通带上限角频率s:阻带下限角频率燕山大学课程设计说明书共页第页(sppT,sssT)即CppF2CssF23.2模拟滤波器的设计3.2.1巴特沃思(Butterworth)滤波器的介绍:因为我们设计的滤波器的冲击响应一般都为实数,所以有2*)()()()()(sjsjGsGsGsGsG这样,如果我们能由p,p,s,s求出2)(jG,那么就容易得到所需要的)(sG。不同类型的2)(jG的表达式,代表了几种不同类型的滤波器。巴特沃思(Butterworth)滤波器为:nCjG)(11)(222C为待定常数,N为待定的滤波器阶次。3.2.2巴特沃思模拟低通滤波器的设计由于每一个滤波器的频率范围将直接取决于设计者的应用目的,因此必然是千差万别。为了使设计规范化,我们需要将滤波器的频率参数作归一化处理。设所给的实际频率为(或f),归一化后的频率为,对低通模拟滤波器,令=p/显然,1p,pss/。又令归一化复数变量为p,jp,显然ppsjjp//所以巴特沃思模拟低通滤波器的设计可按以下三个步骤来进行。燕山大学课程设计说明书共页第页(1)将实际频率归一化(2)求C和NC,N可按下式求解:11010/2PCspsNlg110110lg10/10/若令p=3dB,则C=1,这样巴特沃思滤波器的设计就只剩一个参数N,这时NpNjG222)/(1111)((3)确定)(sG因为jp,根据上面公式有NNNpjppGpG22)1(11)/(11)()(由0)1(12NNp解得)2212exp(NNkjpk,k=1,2,···,2N这样可得1)212cos(21))((1)(21NNkpppppppGkNkk求得)(pG后,用ps/代替变量p,即得实际需要得)(sG。3.3数字滤波器的设计按一定规则将给出的数字滤波器的技术指标转换魏模拟低通滤波器的技术指标。根据转换后的技术指标设计模拟低通滤波器)(sG;燕山大学课程设计说明书共页第页再按一定的规则将)(sG转换成)(zH。若是高通、带通或带阻数字滤波器则将它们的技术指标先转化为低通模拟滤波器的技术指标,然后按上述步骤2)设计出低通)(sG,再将)(sG转换为所需的)(zH。第四章设计过程4.1设计低通数字滤波器4.1.1数字低通滤波器设计结构图用脉冲响应不变法转换原理如下图:Ha(s)拉氏逆变换ha(t)等间隔采样ha(nT)=h(n)Z变换H(z)图4.1结构框图4.1.2设计步骤设计要求:脉冲响应不变法设计数字低通滤波器,给定技术指标为:Hzfp100,Hzfs300,dBp3,dBs20,采样频率HzFs1000。首先应该得到角频率,然后再按如下步骤求解:(1)将数字滤波器的技术要求转换为模拟滤波器的技术要求。(2)设计低通滤波器)(sG由=p/依次求出p,s,再求出N,可得)(pG然后由psppGsG)()(转换成)(sG(3)由)(sG求)(zH4.2滤波器的MATLAB实现燕山大学课程设计说明书共页第页4.1.1在MATLAB下,设计巴特沃斯IIR滤波器可使用butter函数。Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用butter函数。butter函数的用法为:[b,a]=butter(n,Wn,/ftype/)其中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定。buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn。buttord函数的用法为:[n,Wn]=buttord(Wp,Ws,Rp,Rs)其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则:a.高通滤波器:Wp和Ws为一元矢量且WpWs;b.低通滤波器:Wp和Ws为一元矢量且WpWs;c.带通滤波器:Wp和Ws为二元矢量且WpWs,如Wp=[0.2,0.7],Ws=[0.1,0.8];d.带阻滤波器:Wp和Ws为二元矢量且WpWs,如Wp=[0.1,0.8],Ws=[0.2,0.7]。4.1.2Matlab的信号处理工具箱提供了频谱分析函数:freqz函数。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,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)用于在当前图形窗口中绘制幅频和相频特性曲线。4.1.3采用脉冲响应不变法将模拟滤波器转换为数字滤波器可使用impinvar函数。[BZ,AZ]=IMPINVAR(B,A,Fs)生成一个数字滤波器。BZ和AZ分别为脉冲值,结果与模拟滤波器的值相当。B和A为采样区间,采样周期为1/Fs。当Fs缺省时,默认采样频率为1Hz。第五章程序和仿真图5.1设计程序fp=100;fs=300;Rp=3;Rs=20;Fs=1000;Wp=2*pi*fp;Ws=2*pi*fs;Nn=256;n=(0:100-1);%采样点数[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s');[b,a]=butter(N,Wn,'s');w=linspace(1,400,100)*2*pi;H=freqs(b,a,w);%在[0,2π]上进行采样,采样频率点由矢量w指定figure(1);plot(w/(2*pi),20*log10(abs(H)));title('巴特沃斯模拟滤波器幅频特性');xlabel('频率/Hz');ylabel('幅度/db');[bz,az]=impinvar(b