




免费预览已结束,剩余25页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于matlab的fir数字滤波器设计及其软件实现基于matlab的fir滤波器设计摘 要在这个具有挑战性的时代,把计算机充分运用到教学及工程运算中,虽然具有重要的意义,而随着计算机技术的发展,计算机软件在工程设计领域应用越来越广。本设计研究是基于matlab的fir数字滤波器的设计,是基于应用计算机软件编程。首先了解滤波器的基本工作原理,针对fir滤波器,有各种不同的方法。fir滤波器一般要求信号具有线性相位,同时由于脉冲响应无限长,因此具有永远稳定的特性。根据这个特点,。本文主要对fir滤波器采用了窗函数法,最优设计法,最小二乘设计法,升余弦函数设计法和任意响应设计法来设计fir滤波器,同时,还对滤波器进行阶数评估。滤波是信号处理中最基本有极为重要的技术,利用滤波器技术可以从复杂的信号中提取出所需要的信号,抑制不需要的信号。绝大多数传感器输出的信号,在使用过程中,都必须进行滤波,所以滤波器是具有一定传输选择特性的,对信号进行加工处理的装置,它允许输入信号中的一些成分通过,抑制或衰减另一些成分。其功能是将输入信号变换为人们所需要的输入信号。本设计主要给出了fir数字滤波器的基本特性和设计方法。关键词:matlab 特性 fir滤波器 设计abstractin this challenging era, the full use of computers to teaching and engineering operations, although of great significance, and with the development of computer technology, computer software in engineering design applications more widely. the design study is based on matlab for fir digital filter design, is based on the application of computer software programming. first understand the basic working principle of the filter for fir filters, a variety of different ways. general requirements for fir filters with linear phase signals, and because of infinite impulse response, so it has always stable characteristics. according to this feature. in this paper, fir filters used on the window function method, optimal design method, least squares design method, design raised cosine function and design method to design arbitrary response fir filters, it is also the order of the filter evaluation. signal processing filter is the most basic there is a very important technology, the use of technology can filter the signal from the complex by the need to extract the signal, to suppress unwanted signals. most of the sensor output signal, in the course, must be filtered, so the filter is chosen with a certain transmission characteristics, the signal processing device, which allows some components of the input signal through the inhibition or attenuation other ingredients. its function is to transform the input signal is needed for people to input signal 朗读字典目录摘 要iabstractii第一章绪论11.1 数字滤波器定义11.2 数字滤波器的分类11.3 实际滤波器的设计指标21.4 几种常见的特殊滤波器2第二章fir滤波器特性32.1 fir滤波器简介32.2 fir滤波器的线性相位特性32.2.1 fir滤波器的第一类线性相位42.2.2 fir滤波器的第二类线性相位62.2.3 线性相位fir滤波器的零点特性8第三章fir滤波器的设计93.1 用窗函数法设计fir数字滤波器93.1.1 fir数字滤波器窗函数设计法93.1.2 加窗的线性相位fir数字滤波器设计函数fir1和fir2123.2 fir滤波器的最优设计法153.2.1 firs函数153.2.2 remez函数163.3 fir滤波器最小二乘设计法173.3.1 fircls函数173.3.2 fircls函数193.4 fir滤波器升余弦函数设计法203.5 fir滤波器的任意响应设计法21第四章fir 滤波器阶数估计244.1 kaiserord函数244.2 remezord函数25第五章 小结27参考文献28致 谢2927第一章 绪论当前,通信技术高速发展,业务范围不断扩大,人们对产品的需求迅速增长,滤波器在这些产品电路中就扮演着重要的角色,当然数字滤波器更影响着人们生活的方方面面。数字滤波器既可以是用数字硬件装配成德一台完成给定运算的专用数字计算机,也可将所需的运算编成程序,让通用计算机来执行。matlab是“矩阵实验室”(matrix laboratoy)的缩写,它是由美国mathworks公司于1984年正式推出的,是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。matlab是功能强大的科学及工程计算软件,它不但具有以矩阵计算为基础的强大数学计算和分析功能,而且还具有丰富的可视化图形表现功能和方便的程序计算能力。matlab的应用领域极为广泛,除数学计算和分析外,还被广泛地应用于自动控制、系统仿真、数字信号处理、图形图像分析、数理统计、人工智能、虚拟现实技术、通信工程、金融系统等领域,因此,matlab是面向21世纪的计算机程序设计及科学计算语言。1.1 数字滤波器定义数字滤波器通常是指一个有限精度算法实现的离散线性是不变系统。通常用的数字滤波器一般属于选频滤波器,可以用下式表示:hei=h(ei)ei(w)式中,h(ei)称为滤波器幅频响应,(w)称为滤波器的相频响应。幅频响应表示信号通过该滤波器后各频率成分的衰减情况,而相频响应反映各频率成分通过滤波器后在时间上的延时情况。滤波器性能最容易通过它的幅频响应的形状来描述 。滤波器在某个频率的幅度增益决定了滤波器对此频率输入的放大因子,增益可取任意值。增益高的频率范围,信号可以通过,称之为滤波器的通带,增益低的频率范围,滤波器对信号有衰减和阻塞作用,称这位滤波器的阻带。1.2 数字滤波器的分类数字滤波器按照不同的分类方法,有许多种类,总体上可分为两大类。一类是经典滤波器,即一般的线性系统滤波器。另一类即所谓的现代滤波器,它的理论建立在随机信号处理的理论基础上,利用了随机信号内部的统计特性对信号进行滤波。从功能上可以分为低通、高通、带通和带阻滤波器,根据数字滤波器冲激响应的时域特性,可将数字滤波器分为两种,即无限长冲激响应(iir)滤波器和有限长冲激响应(fir)滤波器3。1.3 实际滤波器的设计指标当滤波器形状为非理想时,要用一些参数指标来描述其关键特性。滤波器的通带定义了滤波器允许通过的频率范围。在阻带内,滤波器对信号严重衰减。wp和ws分别称为通带截止频率(或通带上限频率)和阻带截止频率(或阻带下限频率)。参数1定义了通带波纹,及滤波器通带内偏移单位增益的最大值。参数2定义了阻带波纹,及滤波器阻带内偏离零增益的最大值。参数bt定义了过渡带宽度,即阻带下限和通带上限之间的距离,bt=ws-wp。过渡带一般是单调下降的,通带内和阻带内允许的衰减一般用单位db表示,通带内允许的最大衰减用p表示,阻带内允许的最小衰减用s表示,它们分别定义为p=20lgamaxamin=20lg1+11-1dbs=20lgamaxas=20lg1+12db式中,amax是通带内的幅度最大值;amin是通带内的幅度最小值,as是阻带内最大值。幅度下降到0.707即22时,w=wc,此时p=3db,称wc为3db通带截止频率。1.4 几种常见的特殊滤波器全通滤波器、数字陷波器、梳状滤波器、最小相位滤波器第二章fir滤波器特性2.1 fir滤波器简介fir系统只有零点,因此这类系统不像iir系统那样易取得比较好的通带和阻带衰减特性。但fir系统有自己突出的优点,其一是系统总是稳定的,其二是易实现线性相位,其三是允许设计多通带(或多阻带)滤波器。fir滤波器是指系统的单位冲击响应h(n)仅在有限的范围内有非零值的滤波器。n-1阶滤波器的系统函数h(z)可表示为hz=n=0n-1h(n)z-nh(n)是z-1的n-1次多项式,它在z平面上有n-1个零点,原点z=0是n-1阶重极点。因此,fir滤波器永远稳定。fir滤波器的频率响应为hei=n=0n-1h(n)e-in由于h(ei)一般为复数,因此,可将其表示成hei=h(ei)ei(w)2.2 fir滤波器的线性相位特性fir滤波器的频率响应为hei=n=0n-1h(n)e-in由于h(ei)一般为复数,因此,可将其表示成hei=h(ei)ei(w)hei线性相位特性是指(w)是w的线性函数,即w=-w式中,是常数。此时通过这一系统的各频率分量的时延为相同的常数,系统的群时延为g=-dwdw=即系统的时延是一个与w无关的常数,称系统h(z)具有严格的线性相位。由于严格线性相位条件在数学上处理较为困难,因此在fir滤波器设计中一般使用广义线性相位。若一个离散系统的频率响应h(ei)可以写为h(ei)=hg(w)ei(-w+)=hg(w)ei(w)其中,和是与w无关的常数,hg(w)是w的是函数(可任意取值),则称为广义幅频响应,(w)称为广义相频响应。上式中,(w)为w=-w+当=0时,称是第一类线性相位,当0(一般=-2)时,称是第二类线性相位。2.2.1 fir滤波器的第一类线性相位fir滤波器满足第一类线性相位的条件是h=h(n-1-n)由于h(n)的点数n可分为奇数和偶数两种情况,因而第一类线性相位又可分为两类。(1) h(n)为偶对称,n为奇数hei=hgei(w)=n=0n-1hne-in=n=0n-3 2h(n)e-in+hn-12e-in-12+n+12n-1h(n)e-in=n=0n-32h(n)e-in+e-i(n-1-n)+h(n-12)e-i(n-12)=e-i(n-12)n=0n-322h(n)coswn-n-12+h(n-12)显然w=-n-12w满足第一类线性相位的条件,而hgw=n=0n-322h(n)coswn-n-12+h(n-12)由于n为奇数,因此n-n-12为整数。由于cos(nw)关于w=0,2这些点都是偶对称的,因此hgw关于w=0,2也是偶对称的,这种情况适合设计低通、高通、带通、带阻滤波器。(2)h(n)为偶对称,n为偶函数采用类似的方法,可以得到hei=n=0n2-1hne-in+n=0n2-1h(n-1-n)e-i(n-1-n)=n=0n2-1h(n)e-in+e-i(n-1-n)=e-i(n-12)n=0n2-12h(n)coswn-n-12其相频响应与n为奇数时相同,为w=-n-12w而幅频响应为hgw=n=0n2-12h(n)coswn-n-12由于n为偶数,因此n-12为0.5的奇数倍。coswn-n-12关于w=奇对称,当w=时,coswn-n-12=0,因此,hg=0,即h(z)在z=-1处必然有一个零点,而且,hgw关于w=奇对称这种情况不适合设计高通和带阻滤波器。2.2.2 fir滤波器的第二类线性相位fir滤波器满足第二类相位的条件hn=-h(n-1-n)(1) h(n)为奇对称,n为奇数h(n)的中间项h(n-12)必须为零,因此hei=n=0n-32h(n)e-in+n=n+12n-1h(n)e-in=n=0n-32hne-in-e-i(n-1-n)=e-iwn-12+2n=0n-322hnsinwn-n-12此时的相位为w=-2-n-12w满足第二类线性相位的条件,而幅频响应为hgw=n=0n-322hnsinwn-n-12因为sin(wn)在w=0,2处都为0,因此hgw在w=0,2处为0,也即h(z)在z=1处都有零点,并且hgw关于w=0,2奇对称。因此,该类型滤波器不适合设计低通、高通和带阻滤波器,只适合设计带通滤波器。(2)h(n)为奇对称,n为偶数hei=e-iwn-12+2n=0n2-12hnsinwn-n-12相位为w=-2-n-12w幅频响应为hgw=n=0n2-12hnsinwn-n-12由于sinwn-n-12在w=0,2处为0,因此hgw在w=0,2处为0,即h(z)在z=1上有零点,且关于w=0,2奇对称。h(n)为奇对称有两种情况,对于任何频率都有固定的2相移,因此第二类线性相位fir滤波器一般用于正交移相或微分器。2.2.3 线性相位fir滤波器的零点特性线性相位fir滤波器的单位脉冲响应具有对称特性,即hn=h(n-1-n)则hz=n=0n-1hnz-n=n=0n-1h(n-1-n)z-n将m=n-1-n代入上式,得hz=m=0n-1hmz-(n-1-m)=z-(n-1)n=0n-1h(m)z-m因此,其系统函数具有以下特点:hz=z-n-1h(z-1)可以看出,若z=zi*及z=1zi*也必定是零点。第三章fir滤波器的设计iir滤波器设计利用了模拟滤波器成熟理论以及设计图表,保持了典型模拟滤波器优良的幅频特性,但设计中只考虑了幅频特性,没有考虑相位特性,因此滤波器的相位特性通常是非线性的,要得到线性相位必须外加相位矫正网络,使滤波器变得复杂。而fir滤波器在保证幅频满足技术要求的同时,更荣易做到严格的线性相位。fir滤波器的系统函数为-()-()在z平面上有n-1个零点,并且z=0是n-1阶重极点,位于r=1的单位圆内,系统永远稳定。fir滤波器的设计方法有窗函数法、频率采样法和契比雪夫等波纹逼近法3.1 用窗函数法设计fir数字滤波器3.1.1 fir数字滤波器窗函数设计法通常,理想数字滤波器的单位取样序列hd(n)是无限长的,是非因果序列,在物理上是不可实现的或者难以实现的。为了可物理实现,需要对hd(n)截取一段h(n)来近似代表,即hdnh(n)=hdnrn(n)窗函数主瓣宽度要尽可能窄,以获取最小的过渡带;旁瓣相对值尽可能小,以使得通带波纹小,并且阻带衰减大。(1)常用的窗函数为矩形窗、巴特利窗、汉宁窗、海明窗、布莱克曼窗、凯泽窗和契比雪夫窗。1)矩形窗wrn=rn(n)矩形窗的频域响应为wrei=sinwn2sinw2e-i12n-1w其主瓣宽度为4n。调用w=boxcar(n)函数2)巴特利窗wbrn=2nn-1 ,0n(n-1)22-2nn-1 ,12 n-1n n-1 其频率响应为wbrn=n2sinn4wsinw22e-i(w+n-12w)其主瓣宽度为8n,调用w=bartlett(n)函数3)汉宁窗whnn=0.51-cos2nn-1rn(n)其频域表达式为whnw=0.5wrw+0.25wrw-2n+wr(w+2n)主瓣宽度为8n,调用w=hann(n)函数4)海明窗whmn=0.54-0.46cos2nn-1rn(n)其频域表达式为whmei=0.54wrw+0.23wreiw-2n-1-0.23wr(ei(w+2n-1)主瓣宽度为8n,调用w=hamming(n)函数5)布莱克曼窗wbln=0.42-0.5cos2nn-1+0.08cos4nn-1rn(n)其频域表示式为wblei=0.42wrei-0.25weiw-2n-1+weiw+2n-1+0.04weiw-4n-1+weiw+4n-1其主瓣宽度为12n,调用w=blackman(n)函数6)凯泽窗wkn=io()i() 0nn-1式中,=1-2nn-1-12,io(x)为第一类修正贝塞尔函数,窗函数的幅度函数为wkw=wk0+2n=1n-12wk(n)coswn其主瓣宽度为10n,调用w=kaiser(n,beta)函数7)契比雪夫窗调用w=chebwin(n,r)表3.1 窗函数基本参数窗函数旁瓣峰值幅度/db过渡带阻带最小衰减/db矩形窗-134n-21巴特利窗-268n-25汉宁窗-318n-44海明窗-408n-53布莱克曼窗-5712n-74凯泽窗-5710n-80(2)fir滤波器的设计步骤1)根据技术要求确定待求滤波器的单位取样响应或者频率响应hd(ei)。2)根据对过渡带和阻带衰减的要求,选择窗函数形式,并估计窗口长度n。3)计算滤波器的单位取样响应h(n)=hdnw(n),h(n)即为所求。4)检测所设计的滤波器性能,验算技术指标是否满足条件。3.1.2 加窗的线性相位fir数字滤波器设计函数fir1和fir21)fir1。其调用格式为:b=fir1(n,wn)b=fir1(n,wn,ftype)b=fir1(n,wn,window)b=fir1(n,wn,ftype,window)b=fir1(,normalization)该函数实现加窗的线性相位fir数字滤波器设计,可以设计标准低通、带通、高通和带阻滤波器。b=fir1(n,wn)得到n阶低通fir滤波器,调用后返回维数为n+1的行向量b,它是滤波器的系数。b与fir滤波器的系统函数的关系为hz=b1+b2z-1+b(n+1)zn对于高通、带阻滤波器,n取偶数,wn为滤波器的截止频率,范围为(0,1)对于带通和带阻滤波器,wn=w1,w2,且w1w2;对于多通带滤波器,w=w1,w2,w3,w4,频段为0ww1,w1ww2,w2ww3。用窗函数法设计线性相位fir低通滤波器,通带截止频率wp=0.5,ws=0.6,阻带衰减不小于40db,通带衰减不大于3db。下面采用汉宁窗设计滤波器:design fir filter with windowswp=0.5*pi;ws=0.6*pi;wdel=ws-wp;n=ceil(8*pi*wdel);wn=(0.5+0.6)*pi/2;window=hanning(n+1);b=firl(n,wn/pi,window);freqz(b,1,512)图3.1 采用汉宁窗设计低通滤波器用窗函数法设计多通带滤波器,归一化通带为0.0.2,0.4,0.6,0.8,1。由于高频段为通带,滤波器的阶数应为偶数,这里定位36,实现程序代码如下,滤波器幅频-相频特性如图design multiband fir filter with windowsw=0.2 0.4 0.6 0.8; b=fir1(36,w,dc-1); freqz(b,1,512);图3.2 多通带fir数字滤波器2)fir2。其调用格式为b=fir2(n,f,m)b=fir2(n,f,m,window)b=fir2(n,f,m,npt)b=fir2(n,f,m,npf,window)b=fir2(n,f,m,npf,lap)b=fir2(n,f,m,npf,lap,window)该函数用于设计基于窗函数的任意相应的fir滤波器,其频率响应由向量f和m决定,取值在0,1之间;n为滤波器阶数;b向量为返回滤波器的系数;window为窗类型,长度必须为n+1,默认时为hanning窗;npt为对频率响应进行内插点数,默认时为512;lap参数用于指定fir2在重复频率点附近插入的区域大小。设计多通带滤波器,滤波器阶数为,比较理想滤波器和实际滤波器的频率响应。滤波器设计程序代码为design multiband fir filter with fir2m=0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0;f=0 0.1 0.15 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.7 0.75 0.8 0.85 1;n=40;b=fir2(n,f,m,hamming(n+1);h,w=freqz(b,1,128);plot(f,m,w/pi,abs(h)xlabel(frequency)ylabel(magnitude)grid;图3.3 用fir2设计的多通带fir数字滤波器3.2 fir滤波器的最优设计法firs是fir1和fir2函数的扩展,它采用最小二乘法,使指定频段内的理想分段线性函数与滤波器幅频响应之间的误差平方和最小。remez函数则利用parks-mcclellan算法设计线性相位fir滤波器。该算法能使期望频率响应和实际频率响应之间的最大误差最小。firs函数设计的滤波器在频率响应上出现等波纹滤波器。函数firs、remez调用的语法规则相同。3.2.1 firs函数其调用格式是b=firs(n,f,a)b=firs(n,f,a,w)b=firs(n,f,a,ftype)b=firs(n,f,a,w,ftype)该函数用于设计n阶fir滤波器,其幅频特性由f和a向量确定,调用后返回长度为n+1的滤波器系数向量b,且这些系数遵循以下偶对称关系:bk=-bn+2-k,k=1,2,n+1f是频率点向量,范围为0,1,频率点是逐渐增大,允许向量中有重复的频率点;a是指定频率点的幅频响应,期望的频率响应由(f(k),a(k+1)的连线组成,firls()则把f(k+1)和f(k+2)之间的频带视为过渡带。所以,所需要的频率响应是分段线性的,其总体平方误差最小。b=firls(n,f,a,w)则使用权系数w给误差加权。w的长度为f和a的一半。b=firls(n,f,a,w,ftype)调用形式中,参数ftype用于指定所设计的滤波器类型,ftype=hilbert,为奇对称的线性相位滤波器,返回的滤波器系数满足b(k)=-b(n+2-k),k=1,2.,n+1;ftype=differentiator,则采用特殊加权技术,生成奇对称的线性相位滤波器,使低频段误差大大小于高频段误差。设计24阶反对陈滤波器,使其具有分段线性的通带,并画出理想滤波器和实际滤波器的频率响应。实现代码如下performance of filterf=0 .3 .4 .6 .7 .9;m=0 1 0 0 0.5 0.5;b=firls(24,f,m,hilbert)for i=1:2:6plot(f(i) f(i+1),m(i),m(i+1),-),hold onendh,f=freqz(b,1,512,2);plot(f,abs(h);grid图3.4 理想和实际分段带通滤波器特性注:虚线是理想滤波器3.2.2 remez函数该函数的调用格式与参数意义都与firls函数一样,只是采用的算法不同,下面通过实力比较它们的区别分别使用remez和firls函数设计20阶带通滤波器,通常频率为wp1=0.4,wp2=0.6,实现代码如下design fir filter with firls and remezf=0 0.3 0.4 0.6 0.7 1;m=0 0 1 1 0 0 ;n=20;b=firls(n,f,m);h,w=freqz(b);bb=remez(n,f,m);hh,w=freqz(bb);axes(position,0.2 0.2 0.5 0.5);plot(w/pi,abs(h),b:,w/pi,abs(hh),r-);xlabel(frequency);ylabel(magnitude);grid on;图3.5 两种最优fir滤波器的比较3.3 fir滤波器最小二乘设计法约束最小二乘法就是在给定滤波器幅频响应最大允许波纹阀值约束条件下,使滤波器在整个幅频范围内误差平方最小化。fircls和fircls1两个函数,可以实现此滤波器的设计。3.3.1 fircls函数其调用格式为b=fircls(n,f,a,up,lo)该函数返回长度n+1的线性相位滤波器,期望逼近的频率分段恒定,由向量f和a确定,频率的上下限由参数up和lo确定,长度与a相同。f中元素为临界频率,取值范围0,1,且按递增顺序排列。使用fircls函数设计一带通滤波器,通带为0.2,0.4,并用设计的滤波器对信号sin2*pi*15*t+0.5*sin2*pi*90*t+0.2*sin2*pi*300*t滤波(信号采样频率为600hz)。实现代码如下design fir filter with firclst=0:1/600:1;sig=sin(2*pi*15*t)+0.5*sin(2*pi*90*t)+0.2*sin(2*pi*300*t);plot(t,sig);n=50;f=0 0.2 0.4 1;a=0 1 0;up=0.02 1.02 0.01;lo=-0.02 0.98 -0.01;b=fircls(n,f,a,up,lo);newsig=fftfilt(b,sig);figureft=t(301:350);ns=newsig(301:350);zns=interp(ns,12);znt=interp(ft,12);plot(znt,zns);时间/s时间/s图3.6 滤波前后的波形3.3.2 fircls函数该函数采用约束最小二乘法设计基本的线性相位高通和低通滤波器,其调用格式为b=fircls(n,wo,dp,ds)b=fircls1(n,wo,dp,ds,high)b=fircls1(n,wo,dp,ds,wt)b=fircls1(n,wo,dp,ds,wt,high)b=fircls1(n,wo,dp,ds,wp,ws,k)b=fircls1(n,wo,dp,ds,wp,ws,k,high)b=fircls1(n,wo,dp,ds,design-flag)b=fircls(n,wo,dp,ds)函数返回长度为n+1的线性相位低通fir滤波器,截止频率为wo,取值01之间。通常幅度偏离1.0的最大值为dp,阻带偏离0的最大值为ds。b=fircls1(n,wo,dp,ds,high)则返回高通滤波器,n必为偶数。b=fircls1(n,wo,dp,ds,wp,ws,k)采用平方误差加权,通常的权值比阻带的大k倍。wp为通带边缘频率,ws为阻带边缘频率,其中wpwows;如果要设计高通滤波器,则必须使wswowp。设计55阶低通滤波器,截止频率在0.3。设计代码如下design fir filter with fircls1n=55;wo=0.3;dp=0.02;ds=0.008;b=fircls1(n,wo,dp,ds);h,w=freqz(b);plot(w/pi,abs(h);grid图3.7 fircls1 设计的低通滤波器3.4 fir滤波器升余弦函数设计法用fircos函数,用于设计有光滑、升余弦过渡带的低通线性相位滤波器,其调用格式为:b=fircos(n,fo,df,fs)b=fircos(n,fo,df,fs,bandwidth)b=fircos(n,fo,df)b=fircos(n,fo,r,fs,rolloff)b=fircos(,type)b=fircos(,type,delay,window)b,a=fircos()其中,n为滤波器阶数;fo为低通滤波器的截止频率,df为过渡带频宽,fs是采样频率,单位都是hz;fo和fo+df2都介于0fs2之间;b为返回滤波器系数向量。设计20阶升余弦滤波器,截止频率为250hz,过渡带宽为100hz,采样频率为1000hz。其程序代码如下design fir filter with firrcosn=20;fo=250;df=100;fs=1000;b=firrcos(n,fo,df,fs);h,f=freqz(b,1,512,fs);axes(position,0.2 0.2 0.5 0.5);plot(f,abs(h);xlabel(frequency(hz);ylabel(magnitude);grid on;图3.8 升余弦函数设计低通滤波器3.5 fir滤波器的任意响应设计法cremez函数是设计fir滤波器的另一函数,该函数可用来设计任意响应的复数和非线性相位等波纹fir滤波器。它在指定的滤波器频率响应的方式上和其他滤波器设计函数有所不同,接收的是函数。cremez函数采用扩展remez交换算法,能使契比雪夫误差最小,其调用格式为b=cremez(n,f,fresp)b=cremez(n,f,fresp,w)b=cremez(n,f,fresp,p1,p2,w)b=cremez(n,f,a,w)b=cremez(,sym)b=cremez(,skip-stage2)b=cremez(,debug)b=cremez(,lg rid)b,delta,opt=crme()其中,参数f是频率边界向量,范围是-1到1。w是每个频带的加权系数,长度为f的一半。p1/p2是可选参数,fresp则指定滤波器类型,可能取值为:(1) lowpass、highpass、bandpass、bandstop。比如以下引用形式b=crme(n,f,lowpass,)b=cremez(n,f,lowpass,d,)(2) multiband。该函数指定设计多通带滤波器,例如:b=cremez(n,f,multiband,a,)b=cremez(n,f,multiband,a,d,)其中,a为在边界频带向量f各点上的期望幅值。(3) differentiator。该函数指定设计线性相位微分器,其零频必须在过渡带,而频带加权设置与频率成反比,引用方式如下,其中fs用于确定微分器的响应斜率,默认值为1。b=cremez(n,f,differentiator,fs,)b=cremez(n,f,differentiator,fs,d,)(4) hilbfilt。该函数指定设计线性相位希尔伯特变换滤波器,其零频必须在过渡带,比如:b=crme(n,f,hilbfilt,)b=cremez(n,f,hilbfilt,d,)b=cremez(,sym)则使用所设计滤波器的冲击响应有对称性,sym取值如下:none,默认值,若f中有负值或fresp未赋值则为默认值。even,使单位冲击响应为实偶对称序列。odd,使单位冲击响应为实奇对称序列。设计希尔伯特和差分滤波器时,取默认值。real,使频率响应为共轭对称。b=crme(,debug)则将显示中间计算结果,debug可为trace、plot、both或者off之一,默认值为off。设计30阶任意响应多频带滤波器。滤波器的频率边界频率向量为f=-1,-0.5,-0.4,0.3,0.4,0.8;各频段的幅值响应为a=3,1,2,2,2,1;各频段最优化权向量为w=1,10,5设计代码如下complex and nonlinear phase fir filter designn=30;f=-1 -0.5 -0.4 0.3 0.4 0.8;a=3 1 2 2 2 1;w=1 10 5;b=cremez(n,f,multiband,a,w);h,wf=freqz(b,1,512,whole);plot(wf/pi-1,fftshift(abs(h);xlabel(frequency);ylabel(maginitude)grid on;图3.9 任意复响应滤波器频谱图第四章fir 滤波器阶数估计4.1 kaiserord函数其调用格式为n,wn,beta,ftype=kaiserord(f,a,dev)n,wn,beta,ftype=kaiserord(f,a,dev,fs)c=kaiserord(f,a,dev,fs,cell)该函数返回值在函数b=fir1(n,wn,kaiser(n+1,beta),ftype,noscale)中需要使用的阶数n、归一化频带边缘wn、kaiser窗函数beta、滤波器类型ftype的估计值。所设计的滤波器近似满足由输入参数f、a和dev给定的性能。f为频率向量,a为f定义的各频带的理想频率响应幅值,f的长度是a的2倍减去2(是偶数),第一频带的起始频率为0,最后一个频带截止频率为fs。向量dev的各元素分别是各频带允许的最大偏移量。而c=kaiserord(f,a,dev,fs,cell)返回的是向量组,用于fir1函数的参数。设计低通滤波器,通带范围为01hz,阻带范围为41500hz,通带波纹为5,阻带衰减为40db,系数采样频率fs=8000hz。设计程序如下design lowpass filter with kaiserordfsamp=8000;fcuts=1000 1500;mags=1 0;devs=0.05 0.01;n,wn,beta,ftype=kaiserord(fcuts,mags,devs,fsamp);hh=fir1(n,wn,ftype,kaiser(n+1,beta),noscale);freqz(hh)图4.1 利用kaiserord设计的低通滤波器幅频特性4.2 remezord函数remezord函数为remez函数选择滤波器阶数,在给定频域中的性能指标后,remezord可产生近似的满足指标的最小阶数。函数调用格式如下:n,fo,ao,w=remezord(f,a,dev)n,fo,ao,w=remezord(f,a,dev,fs)c=remezord(f,a,dev,fs,cell)该函数能找出近似阶数n、归一化频率边界fo、频带内幅值ao、以及权向量w,使由remez函数构成的滤波器满足参数f、a、dev指定的性能要求。f为频率向量,长度是参数a的2倍减去2(是偶数),而a为f各频带理想频率响应的幅值,向量dev的元素分别是各频带允许的最大偏差。设计最小阶数的低通滤波器,通常截止频率为500hz,阻带截止频率为600hz采样频率为2000hz,阻带最小衰减为40db,通带最大衰减为3db。程序代码如下design lowpass filter with kaiserordrp=3;rs=4.0;fs=2000;f=500 600;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据库事务管理的核心概念与应用试题及答案
- 2024年宁波工程学院辅导员考试真题
- 2024年南京林业大学辅导员考试真题
- 2024年西安市雁塔区第六小学招聘笔试真题
- 战略管理中的法律风险识别试题及答案
- 2024年广州市培艺学校老师招聘笔试真题
- 2024年成都理工大学选调工作人员笔试真题
- 生物与艺术结合的跨界教学探索计划
- 企业战略创新与市场风险试题及答案
- 优化系统资源的使用策略试题及答案
- 12J3-3蒸压加气混凝土砌块墙
- 2023年版《安宁疗护实践指南(试行)》解读课件
- 7《玩磁铁》(教学设计)-一年级上册科学青岛版
- 2024建筑工程施工承包人工费合同书
- 四川省成都市2024年七年级下学期期末数学试题附答案
- 思辨与创新智慧树知到期末考试答案章节答案2024年复旦大学
- 2024年湖北水利发展集团有限公司招聘笔试冲刺题(带答案解析)
- MOOC 算法设计与分析-武汉理工大学 中国大学慕课答案
- 2024春期国开电大思政课《中国近现代史纲要》在线形考(专题检测一至八)试题及答案
- (正式版)JBT 9229-2024 剪叉式升降工作平台
- 2024猫砂行业调研报告(比亿奇、LORDE)-解数咨询
评论
0/150
提交评论