毕业设计(论文)基于matlab的FIR滤波器设计.doc

上传人:仙人指路1688 文档编号:3979409 上传时间:2023-03-30 格式:DOC 页数:30 大小:2.10MB
返回 下载 相关 举报
毕业设计(论文)基于matlab的FIR滤波器设计.doc_第1页
第1页 / 共30页
毕业设计(论文)基于matlab的FIR滤波器设计.doc_第2页
第2页 / 共30页
毕业设计(论文)基于matlab的FIR滤波器设计.doc_第3页
第3页 / 共30页
毕业设计(论文)基于matlab的FIR滤波器设计.doc_第4页
第4页 / 共30页
毕业设计(论文)基于matlab的FIR滤波器设计.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《毕业设计(论文)基于matlab的FIR滤波器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于matlab的FIR滤波器设计.doc(30页珍藏版)》请在三一办公上搜索。

1、基于matlab的FIR滤波器设计摘 要在这个具有挑战性的时代,把计算机充分运用到教学及工程运算中,虽然具有重要的意义,而随着计算机技术的发展,计算机软件在工程设计领域应用越来越广。本设计研究是基于MATLAB的FIR数字滤波器的设计,是基于应用计算机软件编程。首先了解滤波器的基本工作原理,针对FIR滤波器,有各种不同的方法。FIR滤波器一般要求信号具有线性相位,同时由于脉冲响应无限长,因此具有永远稳定的特性。根据这个特点,。本文主要对FIR滤波器采用了窗函数法,最优设计法,最小二乘设计法,升余弦函数设计法和任意响应设计法来设计FIR滤波器,同时,还对滤波器进行阶数评估。滤波是信号处理中最基本

2、有极为重要的技术,利用滤波器技术可以从复杂的信号中提取出所需要的信号,抑制不需要的信号。绝大多数传感器输出的信号,在使用过程中,都必须进行滤波,所以滤波器是具有一定传输选择特性的,对信号进行加工处理的装置,它允许输入信号中的一些成分通过,抑制或衰减另一些成分。其功能是将输入信号变换为人们所需要的输入信号。本设计主要给出了FIR数字滤波器的基本特性和设计方法。关键词:MATLAB 特性 FIR滤波器 设计AbstractIn this challenging era, the full use of computers to teaching and engineering operations

3、, 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 b

4、asic 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 wind

5、ow 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

6、 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

7、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

8、滤波器的第一类线性相位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

9、.1 kaiserord函数244.2 remezord函数25第五章 小结27参考文献28致 谢29第一章 绪论当前,通信技术高速发展,业务范围不断扩大,人们对产品的需求迅速增长,滤波器在这些产品电路中就扮演着重要的角色,当然数字滤波器更影响着人们生活的方方面面。数字滤波器既可以是用数字硬件装配成德一台完成给定运算的专用数字计算机,也可将所需的运算编成程序,让通用计算机来执行。MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,它是由美国Mathworks公司于1984年正式推出的,是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。MATLAB是

10、功能强大的科学及工程计算软件,它不但具有以矩阵计算为基础的强大数学计算和分析功能,而且还具有丰富的可视化图形表现功能和方便的程序计算能力。MATLAB的应用领域极为广泛,除数学计算和分析外,还被广泛地应用于自动控制、系统仿真、数字信号处理、图形图像分析、数理统计、人工智能、虚拟现实技术、通信工程、金融系统等领域,因此,MATLAB是面向21世纪的计算机程序设计及科学计算语言。1.1 数字滤波器定义数字滤波器通常是指一个有限精度算法实现的离散线性是不变系统。通常用的数字滤波器一般属于选频滤波器,可以用下式表示:称为滤波器幅频响应,称为滤波器的相频响应。幅频响应表示信号通过该滤波器后各频率成分的衰

11、减情况,而相频响应反映各频率成分通过滤波器后在时间上的延时情况。滤波器性能最容易通过它的幅频响应的形状来描述 。滤波器在某个频率的幅度增益决定了滤波器对此频率输入的放大因子,增益可取任意值。增益高的频率范围,信号可以通过,称之为滤波器的通带,增益低的频率范围,滤波器对信号有衰减和阻塞作用,称这位滤波器的阻带。1.2 数字滤波器的分类数字滤波器按照不同的分类方法,有许多种类,总体上可分为两大类。一类是经典滤波器,即一般的线性系统滤波器。另一类即所谓的现代滤波器,它的理论建立在随机信号处理的理论基础上,利用了随机信号内部的统计特性对信号进行滤波。从功能上可以分为低通、高通、带通和带阻滤波器,根据数

12、字滤波器冲激响应的时域特性,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器3。1.3 实际滤波器的设计指标当滤波器形状为非理想时,要用一些参数指标来描述其关键特性。滤波器的通带定义了滤波器允许通过的频率范围。在阻带内,滤波器对信号严重衰减。和分别称为通带截止频率(或通带上限频率)和阻带截止频率(或阻带下限频率)。参数定义了通带波纹,及滤波器通带内偏移单位增益的最大值。参数定义了阻带波纹,及滤波器阻带内偏离零增益的最大值。参数定义了过渡带宽度,即阻带下限和通带上限之间的距离,=。过渡带一般是单调下降的,通带内和阻带内允许的衰减一般用单位dB表示,通带内允

13、许的最大衰减用表示,阻带内允许的最小衰减用表示,它们分别定义为dBdB式中,是通带内的幅度最大值;是通带内的幅度最小值,是阻带内最大值。幅度下降到0.707即时,w=,此时=3dB,称为3dB通带截止频率。1.4 几种常见的特殊滤波器全通滤波器、数字陷波器、梳状滤波器、最小相位滤波器第二章FIR滤波器特性2.1 FIR滤波器简介FIR系统只有零点,因此这类系统不像IIR系统那样易取得比较好的通带和阻带衰减特性。但FIR系统有自己突出的优点,其一是系统总是稳定的,其二是易实现线性相位,其三是允许设计多通带(或多阻带)滤波器。FIR滤波器是指系统的单位冲击响应h(n)仅在有限的范围内有非零值的滤波

14、器。N-1阶滤波器的系统函数H(z)可表示为H(n)是的N-1次多项式,它在z平面上有N-1个零点,原点z=0是N-1阶重极点。因此,FIR滤波器永远稳定。FIR滤波器的频率响应为由于H()一般为复数,因此,可将其表示成2.2 FIR滤波器的线性相位特性FIR滤波器的频率响应为由于H()一般为复数,因此,可将其表示成线性相位特性是指是w的线性函数,即式中,是常数。此时通过这一系统的各频率分量的时延为相同的常数,系统的群时延为即系统的时延是一个与w无关的常数,称系统H(z)具有严格的线性相位。由于严格线性相位条件在数学上处理较为困难,因此在FIR滤波器设计中一般使用广义线性相位。若一个离散系统的

15、频率响应H()可以写为H()=其中,和是与w无关的常数,是w的是函数(可任意取值),则称为广义幅频响应,称为广义相频响应。上式中,为当=0时,称是第一类线性相位,当(一般)时,称是第二类线性相位。2.2.1 FIR滤波器的第一类线性相位FIR滤波器满足第一类线性相位的条件是由于h(n)的点数N可分为奇数和偶数两种情况,因而第一类线性相位又可分为两类。(1) h(n)为偶对称,N为奇数显然满足第一类线性相位的条件,而由于N为奇数,因此n-为整数。由于关于w=0,2这些点都是偶对称的,因此关于w=0,2也是偶对称的,这种情况适合设计低通、高通、带通、带阻滤波器。(2)h(n)为偶对称,N为偶函数采

16、用类似的方法,可以得到其相频响应与N为奇数时相同,为而幅频响应为由于N为偶数,因此为0.5的奇数倍。关于w=奇对称,当w=时,=0,因此,=0,即H(z)在z=-1处必然有一个零点,而且,关于w=奇对称这种情况不适合设计高通和带阻滤波器。2.2.2 FIR滤波器的第二类线性相位FIR滤波器满足第二类相位的条件(1) h(n)为奇对称,N为奇数h(n)的中间项h()必须为零,因此此时的相位为满足第二类线性相位的条件,而幅频响应为因为在w=0,处都为0,因此在w=0,处为0,也即H(z)在z=1处都有零点,并且关于w=0,奇对称。因此,该类型滤波器不适合设计低通、高通和带阻滤波器,只适合设计带通滤

17、波器。(2)h(n)为奇对称,N为偶数相位为幅频响应为由于在w=0,2处为0,因此在w=0,2处为0,即H(z)在z=1上有零点,且关于w=0,2奇对称。h(n)为奇对称有两种情况,对于任何频率都有固定的相移,因此第二类线性相位FIR滤波器一般用于正交移相或微分器。2.2.3 线性相位FIR滤波器的零点特性线性相位FIR滤波器的单位脉冲响应具有对称特性,即则将m=N-1-n代入上式,得因此,其系统函数具有以下特点:可以看出,若z=及z=也必定是零点。第三章FIR滤波器的设计IIR滤波器设计利用了模拟滤波器成熟理论以及设计图表,保持了典型模拟滤波器优良的幅频特性,但设计中只考虑了幅频特性,没有考

18、虑相位特性,因此滤波器的相位特性通常是非线性的,要得到线性相位必须外加相位矫正网络,使滤波器变得复杂。而FIR滤波器在保证幅频满足技术要求的同时,更荣易做到严格的线性相位。FIR滤波器的系统函数为()在z平面上有N-1个零点,并且z=0是N-1阶重极点,位于r=1的单位圆内,系统永远稳定。FIR滤波器的设计方法有窗函数法、频率采样法和契比雪夫等波纹逼近法3.1 用窗函数法设计FIR数字滤波器3.1.1 FIR数字滤波器窗函数设计法通常,理想数字滤波器的单位取样序列是无限长的,是非因果序列,在物理上是不可实现的或者难以实现的。为了可物理实现,需要对截取一段h(n)来近似代表,即h(n)=窗函数主

19、瓣宽度要尽可能窄,以获取最小的过渡带;旁瓣相对值尽可能小,以使得通带波纹小,并且阻带衰减大。(1)常用的窗函数为矩形窗、巴特利窗汉宁窗、海明窗、布莱克曼窗、凯泽窗和契比雪夫窗。1)矩形窗矩形窗的频域响应为其主瓣宽度为。调用w=boxcar(n)函数2)巴特利窗其频率响应为其主瓣宽度为,调用w=bartlett(n)函数3)汉宁窗其频域表达式为主瓣宽度为,调用w=hann(n)函数4)海明窗其频域表达式为主瓣宽度为,调用w=hamming(n)函数5)布莱克曼窗其频域表示式为其主瓣宽度为,调用w=blackman(n)函数6)凯泽窗式中,为第一类修正贝塞尔函数,窗函数的幅度函数为其主瓣宽度为,调

20、用w=Kaiser(n,beta)函数7)契比雪夫窗调用w=chebwin(n,r)表3.1 窗函数基本参数窗函数旁瓣峰值幅度/dB过渡带阻带最小衰减/dB矩形窗-13-21巴特利窗-26-25汉宁窗-31-44海明窗-40-53布莱克曼窗-57-74凯泽窗-57-80(2)FIR滤波器的设计步骤1)根据技术要求确定待求滤波器的单位取样响应或者频率响应。2)根据对过渡带和阻带衰减的要求,选择窗函数形式,并估计窗口长度N。3)计算滤波器的单位取样响应h(n)=,h(n)即为所求。4)检测所设计的滤波器性能,验算技术指标是否满足条件。3.1.2 加窗的线性相位FIR数字滤波器设计函数fir1和fi

21、r21)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滤波器的系统函数的关系为+1对于高通、带阻滤波器,n取偶数,为滤波器的截止频率,范围为(0,1)对于带通和带阻滤波器,且;对于多通带滤波器,w=,频段为0用窗函数法设计线性相位

22、FIR低通滤波器,通带截止频率=0.5,阻带衰减不小于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 采用汉宁窗设计低通滤波器用窗函数法设计多通带滤波器,归一化通带为。由于高频段为通带,滤波器的阶数应为偶数,这里定位36,实现程序代码如下,滤波器幅频-相频特性如图desi

23、gn 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决定,取值在之间;n为滤波器阶数;b向量为返回

24、滤波器的系数;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,hammi

25、ng(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调用的语

26、法规则相同。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,且这些系数遵循以下偶对称关系:f是频率点向量,范围为,频率点是逐渐增大,允许向量中有重复的频率点;a是指定频率点的幅频响应,期望的频率响应由(F(k),A(k+1)的连线组成,firls()则把F(k+1)和F(k+2)之间的频带视为过渡带。所以,所需要的频率响应是分段线性的,其总体平方误差最小。b=firls(

27、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

28、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 fir

29、ls 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滤波器最小二乘设计法约束最小二乘法就是在给定滤波器幅频响应最大允许波纹阀值约束条件下,使滤波器在整个

30、幅频范围内误差平方最小化。Fircls和fircls1两个函数,可以实现此滤波器的设计。3.3.1 fircls函数其调用格式为b=fircls(n,f,a,up,lo)该函数返回长度N+1的线性相位滤波器,期望逼近的频率分段恒定,由向量f和a确定,频率的上下限由参数up和lo确定,长度与a相同。f中元素为临界频率,取值范围,且按递增顺序排列。使用fircls函数设计一带通滤波器,通带为,并用设计的滤波器对信号滤波(信号采样频率为600Hz)。实现代码如下Design FIR filter with firclst=0:1/600:1;sig=sin(2*pi*15*t)+0.5*sin(2*

31、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函数该函数采用约束最小二乘法设计基本的线性相位高通和低通滤

32、波器,其调用格式为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=fircl

33、s1(n,wo,dp,ds,high)则返回高通滤波器,n必为偶数。b=fircls1(n,wo,dp,ds,wp,ws,k)采用平方误差加权,通常的权值比阻带的大k倍。Wp为通带边缘频率,ws为阻带边缘频率,其中;如果要设计高通滤波器,则必须使。设计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滤波器升余弦函

34、数设计法用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)=fircos()其中,n为滤波器阶数;Fo为低通滤波器的截止频率,df为过渡带频宽,fs是采样频率,单位都是Hz;Fo和Fo+都介于0之间;b为返回滤波器系数向量。设计20阶升余弦滤波器,截止频率为250Hz,过渡带宽为100Hz,

35、采样频率为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滤波器

36、。它在指定的滤波器频率响应的方式上和其他滤波器设计函数有所不同,接收的是函数。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是可选参

37、数,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用于确定微分器的响应斜

38、率,默认值为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

39、,使频率响应为共轭对称。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

40、,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,n

41、oscale)中需要使用的阶数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。设计程序如下De

42、sign 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可产生近似的满足指标的最小阶数。函数调用格式如

43、下: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。程序代码如下

44、Design lowpass filter with kaiserordrp=3;rs=4.0;fs=2000;f=500 600;a=1 0;dev=(10(rp/20)-1)/(10(rp/20)+1) 10(-rs/20);n,fo,ao,w=remezord(f,a,dev,fs);b=remez(n,fo,ao,w);freqz(b,1,1024,fs);title(lowpass filter designed to specifications);图4.2 利用remezord设计的低通滤波器幅频特性估计函数还包括buttord、cheblord、cheb2ord、ellipord、kaiserord、firpm,它们分别用于各自不同类型的滤波器的阶数估计。第五章 小结滤波是信号处理中最基本有极为重要的技术,利用滤波器技术可以从复杂的信号中提取出所需要的信号,抑制不需要的信号。FIR滤波器的优点FIR滤波器能严格做到线性相位或群延时为常数,而IIR滤波器只能逼近线性相位。FIR滤波器是全零点型滤波器,总是稳定的,不会因滤波运算的舍入误差而产生极限环振荡现象对同样幅度相应的滤波器,用FIR滤波器实现比用IIR滤波器实现需要较高的阶数,多达5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号