DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计.doc

上传人:来看看 文档编号:3258021 上传时间:2019-08-06 格式:DOC 页数:38 大小:1.39MB
返回 下载 相关 举报
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计.doc_第1页
第1页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计.doc_第2页
第2页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计.doc_第3页
第3页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计.doc_第4页
第4页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计.doc》由会员分享,可在线阅读,更多相关《DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计.doc(38页珍藏版)》请在三一文库上搜索。

1、DSP综合课程设计 题目:基于TMS320C5402的FIR数字滤波器的设计姓名: 目录摘要- 3 -1.数字滤波器设计原理- 4 -1.1 数字滤波器的定义和分类- 4 -1.2 数字滤波器的优点- 5 -1.3 FIR滤波器的基本原理- 6 -1.3.1 FIR数字滤波器的特点和结构- 6 -1.3.2 FIR滤波器的优点- 8 -1.4 FIR和IIR滤波器的比较- 9 -2.TMS320C54的硬件结构与主要特性- 10 -3数字滤波器的MATLAB辅助设计- 12 -3.1 MATLAB简介- 12 -3.2 FIR数字滤波器的MATLAB设计原理方法- 12 -3.2.1FIR滤波

2、器的设计原理- 12 -3.2.3等效最佳一致逼近法- 17 -3.3 基于FDAtool的滤波器设计- 22 -3.3.1 FDAtool界面介绍- 22 -4 数字滤波器的CCS实现- 24 -4.1 简述CCS环境- 24 -4.2 CCS特点- 25 -4.3 CCS的配置- 25 -4.4 CCS环境中工程文件的使用- 26 -4.4.1 建立工程文件- 26 -4.4.2 创立新文件- 27 -4.4.3 向工程中添加文件- 27 -4.5 编译链接装载- 28 -4.6利用 Matlab 产生噪声信号用于滤波器测试- 29 -4.7 将滤波器设计文件载入到内存中- 31 -4.8

3、 查看滤波器滤波效果- 31 -4.9 观察结果- 33 -5 总结- 34 -6 附录 程序清单- 35 -摘要: 滤波器的设计是数字信号处理中最基础的部分,也是比较重要的部分。这次有限长单位脉冲响应(FIR)滤波器的设计考虑了如下三种方案:分别采用通用单片机、DSP 芯片、FPGA,考虑各种方案的优缺点以及这次设计的目的和用途,在本次设计中采纳第二中方案。首先采用MATLAB对滤波器进行仿真,使用的是它自带的函数库,仿真成功后得到滤波器的滤波系数,然后再基于TMS320VC5402 DSP 芯片采用C语言实现FIR数字滤波器。其中用到了CCS作为DSP开发环境。FIR滤波器主要采用非递归结

4、构,因此在有限精度运算中不存在稳定性问题,误差较小。而且它能适应某些特殊的场合,如构成微分器或微分器,因而有更大的适应性。关键字: 滤波器、FIR、MATLAB、TMS320C54X、DSP、CCS 1.数字滤波器设计原理1.1 数字滤波器的定义和分类数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和

5、无限冲击响应(IIR)数字滤波器。滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF)。按选择物理量分类,滤波器可分为频率选择、幅度选择、时间选择(例如PCM制中的话路信号)和信息选择(例如匹配滤波器)等四类滤波器按处理信号类型分类,可分为模拟滤波器和离散滤波器两大类。其中模拟滤波器又可分为有源、无源、异类三个分类;离散滤波器又可分为数字、取样模拟、混合三个分类。当然,每个分类又可继续分下去,总之,它们的分类可以形成一个树形结构,如图数字混合取样模拟无源异类有源滤波器离散模拟传输波各类谐振波表面波复数多维自适应FIR IIR窄带机械陶瓷

6、晶体RCRCLC图 1-1 滤波器的分类1.2 数字滤波器的优点 相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP处理器(Digital Signal Processor)的出现和FPGA(FieldProgrammable Gate Array)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。数字滤波器具有以下显著优点:精度高:模拟电路中元件精度很难达到10-3,以上,而数字系统17位字长就可以达到10-5精度。因此在一些精度要

7、求很高的滤波系统中,就必须采用数字滤波器来实现。灵活性大:数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。可靠性高:因为数字系统只有两个电平信号:1”和“0,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。并且数字滤波器多采用大规模集成电路,如用CPLD或FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。易于大规模集成:因为数字部

8、件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格。因此产品的成品率高,价格也日趋降低。相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显。比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多。并行处理:数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用DSP处理器来实现并行处理。TI公司的TMS320C5000系列的DSP芯片采用8条指令并行处理的结构,时钟频率为100MHZ的DSP芯片,可高达100MIPs(即每秒执

9、行百万条指令)。1.3 FIR滤波器的基本原理1.3.1 FIR数字滤波器的特点和结构 在数字信号处理应用中往往需要设计线性相位的滤波器,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。FIR滤波器不断地对输入样本x(n)延时后,再作乘法累加算法,将滤波结果y(n)输出,因此,FIR实际上是一种乘法累加运算。 在数字滤波器中,FIR滤波器的最主要的特点是没有反馈回路,故不存在不稳定的问题,同时,可以在幅度特性是随意设置的同时,保证精确的线性相位。稳定和线性相位特性是FIR滤波器的突出优点。另外,它还有以下特点:设计方式是线性的;硬件容易实现;滤波器过渡过程具有有限区

10、间;相对IIR滤波器而言,阶次较高,其延迟也要比同样性能的IIR滤波器大得多。3FIR数字滤波器系统的传递函数为:通过反z变换,数字滤波器的差分方程为:由此得到系统的差分方程: 由上式可以得出如下图所示的直接型结构,这种结构又可以称为卷积型结构。将转置理论应用于图1.1可以得到转置直接型结构。将式中的系统函数H(z)分解成若干一阶和二阶多项式的连乘积:(1.4) (1.4)则可构成如图所示的级联型结构。其中 为一阶节 ;为二阶节。每个一阶节、二阶节可用图1.2所示的直接型结构实现。当M1 = M2时,即得到图1.3所示的具体结构。这种结构的每一节都便于控制零点,在需要控制传输零点时可以采用。但

11、是它所需要的系数a比直接型的h(n)多,所需要的乘法运算也比直接型多。在对滤波器计算时间没有特殊要求的时候可以采用这种形式。若需要严格考虑滤波器的计算时间则需要折衷它们的优点和缺点来设计。这在算法设计时候要使用软件编辑环境来计算运行的时间问题。通常FIR的计算时间都较长。很多时候我们需要牺牲时间来获得想要得到的滤波器功能。图1.1 FIR滤波器直接型机构图图1.2 级联型结构图图1.3 级联型具体结构FIR滤波器实质上就是一个分节的延迟线,把每一节的输出用滤波器系数进行加权累加,便得到滤波器的输出结果,它总是稳定并且可实现的。在一些工程实际应用(如:图像处理、数据调制解调)中,往往对相位要求较

12、高。FIR滤波器可以实现严格的线性相位,从而得到了广泛应用。它的差分方程数学表达式为: 式中,N是FIR滤波器的抽头数,x(n)表示在n 时刻输入的信号样值,h(n)表示滤波器的第n级抽头系数。横截型FIR滤波器的结构如图2所示:1.3.2 FIR滤波器的优点可以在幅度特性随意设计的同时,保证精确、严格的线性相位;由于FIR滤波器的单位脉冲h(n)是有限长序列,因此FIR滤波器没有不稳定的问题;由于FIR滤波器一般为非递归结构,因此,在有限运算下不会出现递归型结构中的极限振荡等不稳定现象误差较小;FIR滤波器可以采用FFT算法实现,从而提高了运算效率。总结FIR数字滤波器的优点:l 很容易获得

13、严格的线性相位,避免被处理的信号产生相位失真,这一特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要;l 可得到多带幅频特性;l 极点全部在原点(永远稳定),无稳定性问题;l 任何一个非因果的有限长序列,总可以通过一定的延时,转变为因果序列, 所以因果性总是满足;l 无反馈运算,运算误差小。FIR数字滤波器的缺点:l 因为无极点,要获得好的过渡带特性,需以较高的阶数为代价;l 无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助计算机辅助设计程序完成。1.4 FIR和IIR滤波器的比较在很多实际应用中如语音和音频信号处理中,数字滤波器来实现选频功能。因此,指标的形式应为频域中的幅

14、度和相位响应。在通带中,通常希望具有线性相位响应。在FIR滤波器中可以得到精确的线性相位。在IIR滤波器中通带的相位是不可能得到的,因此主要考虑幅度指标。IIR数字滤波器的设计和模拟滤波器的设计有着紧密的联系,通常要设计出适当地模拟滤波器,再通过一定的频带变换把它转换成为所需要的数字IIR滤波器。此外,任何数字信号处理系统中也还不可避免地用到模拟滤波器,比如A/D变换器前的抗混叠滤波器及D/A转换后的平缓滤波器,因此模拟滤波器设计也是数字信号处理中应当掌握的技术。从性能上来说,IIR数字滤波器传递函数包括零点和极点两组可调因素,对极点的唯一限制是在单位圆内。因此可用较低的阶数获得高的选择性,所

15、用的存储单元少、计算量小、效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。FIR滤波器传递函数的极点是固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能,所以要达到高的选择性,必须用高的阶数,对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,结果成本高信号延时也较大,如果按线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样大大增加了滤波器的阶数和复杂性。而FIR滤波器却可以得到严格的线性相位。从结构上看,IIR滤波器必须采用递归结构来配置极点,并保证极点位置在单位圆内。由于有限字长效应,运算过程中将对系数进

16、行舍入处理,引起极点的偏移,这种情况有时会造成稳定性问题,甚至造成寄生振荡。相反,FIR滤波器只要采用非递归结构,不论在理论上还是实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小。此外FIR滤波器可以采用快速傅立叶变换算法,在相同的阶数条件下运算速度可以快的多。2.TMS320C54的硬件结构与主要特性TMS320VC5402是TI公司于1999年10月推出的性价比极高的定点数字信号处理器(DSP)。运算速度高达100MIPS。图1是它的内部硬件组成框图,包括:CPU,总线,存储器,在片外设电路等。主要特点如下:n CPU:l 先进的多总线结构(1 条程序总线,3 条数据总

17、线和4 条地址总线)l 40 位算术逻辑运算单元(ALU),包括1 个40 位桶型移位寄存器和2 个独立的40 位累加器l 17 位17 位并行乘法器,与40 位专用加法器相连,用于非流水线式单周期乘法/累加(MAC)运算l 比较,选择,存储单元(CSSU),用于加法/比较选择l 指数编码器,可以在单周期内计算40 位累加器中数值得到指数l 双地址生成器,包括8 个辅助寄存器和2 个辅助寄存器算术运算单元(ARAU)存储器l 192K 字可寻址存储空间(64K 字程序存储器,64K 字数据存储器以及64K字I/O 空间)l 片内ROM,可配置位程序/数据存储器l 片内双寻址RAM(DARAM)

18、C5402 中的DARAM 分为若干块。由于在每个机器周期内,允许对同一DARAM 块寻址2 次,因此CPU 可以在一个机器周期内对同一DARAM 读出1 次。一般情况下,DARAM 总是映象到数据存储空间,主要用于存放数据。但是,它也可以映象到程序存储空间,用来存放程序代码。n 指令系统:l 单指令重复和块指令重复操作l 块存储器传送操作l 32 位长操作数指令l 同时读入2 或3 个操作数的指令l 能并行存储和并行加载的算术指令l 条件存储指令l 从中断快速返回n 在片外围电路:l 软件可编程等待状态发生器l 可编程分区转换逻辑电路l 带有内部震荡器或者用外部时钟源的片内锁相环(PLL)时

19、钟发生器l 时分多路l 缓冲串行口(BSP)l 16 位可编程定时器l 8 位并行主机接口(HPI)l 外部总线关断控制,以断开外部的数据总线、地址总线和控制信号l 数据总线具有总线保持器特性n 电源:l 可用IDLE1,IDLE2,IDLE3 指令控制功耗,使其工作在省电方式下l CLKOUT 输出信号可以关断n 在片仿真接口:l 具有符合IEEE 1149.1 标准的在片仿真接口。3数字滤波器的MATLAB辅助设计3.1 MATLAB简介MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实

20、时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,当前流行的MATLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。MATLAB具有许多的优点比如:语言简洁紧凑,使用方便灵活,库函数极其丰富;MATLAB既具有

21、结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性;程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行,等等优点。因此在各个学科和领域得到了广泛的应用。3.2 FIR数字滤波器的MATLAB设计原理方法3.2.1FIR滤波器的设计原理滤波器就是在时间域或频域内,对已知激励,产生规定响应的网络,使其能够从信号中提取并放大有用的信号,抑制并衰减不需要的信号。数字滤波器的设计,实质上就是对提出的设计要求给出相应的性能指标,再通过计算,使物理可实现的实际滤波器频率响应特性,逼近给出的频率响应特性。设计完成后,可根据计算结果在FPG

22、A或DSP上实现。FIR 数字滤波器系统的传递函数为: (3-9)由此得到系统的差分方程:y ( n) = b(0) x (n) + b(1) x (n-1) + +b( N-1) x n-( N -1) (3-10)若FIR数字滤波器的单位脉冲响应序列为h(n),它就是滤波器系数向量b(n)。应用Matlab设计FIR滤波器的主要任务就是根据给定的性能指标,设计一个H(z),使其逼近这一指标,进而计算并确定滤波器的系数b( n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化。3.2.2窗函数法窗函数设计的基本思想是要选取某一种合适的理想频率选择

23、性滤波器,然后将它的脉冲响应截断以得到一个线性相位和因果的FIR滤波器。因此这种方法的重点在于选择某种合适的窗函数和一种理想滤波器。对于给定的滤波器技术指标,选择滤波器长度和具有最窄主瓣宽度和尽可能小的旁瓣衰减的某个窗函数。任何数字滤波器的频率响应 都是w的周期函数,它的傅立叶级数展开式为:(3.1) (3.2) 其中的Wc为滤波器的归一化的截止频率。傅立叶系数hd(n)实际上就是理想数字滤波器的冲激响应。获得有限冲激响应数字滤波器的一种可能方法就是把无穷级数截取为有限项级数来近似,而吉布斯(Gibbs)现象使得直接截取法不甚令人满意。 窗函数法就是用被称为窗函数的有限加权系列W(n)来修正式

24、(3.2)的傅立叶级数,以求得要求的有限冲激响应序列h(n),即有: h(n)=hd(n)W(n) (3.3)w(n)是有限长序列,当nN-1及n0时,W(n)=0。几种常用的窗函数工程中比较常用的窗函数有矩形窗函数、三角形(Bartlett)窗函数、汉宁(Harming)窗函数、海明(Hamming)窗函数、布莱克曼(Blackman)窗函数和凯塞Kaiser)窗函数。窗函数的选择原则是:l 具有较低的旁瓣幅度,尤其是第一旁瓣幅度;l 旁瓣幅度下降速度要大,以利增加阻带衰减;l 主瓣的宽度要窄,以获得较陡的过渡带。通常上述三点很难同时满足。当选用主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和

25、阻带的波动明显增加:当选用最小的旁瓣幅度时,虽能得到匀滑的幅度响应和较小的阻带波动,但过渡带加宽。因此,实际选用的窗函数往往是它们的折衷。在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣波动的减少。总之窗函数不仅有截短的作用,而且能够起到平滑的作用在很多领域得到应用。表3.1给出了几种常用窗函数的性能对比表。表3.1 常用窗函数的性能对比表MATLAB信号处理工具箱提供了基于窗函数法的FIR滤波器的设计函数fir1和fir2,它们能使滤波器的设计更加简单。fir1:功能:基于窗函数的FIR滤波器设计标准频率响应形状。格式:b=fir1(N,wc,ftype,window).说明:

26、标准频率响应应指所设计的滤波器的预期特性为理想频率响应,包括低通、带通、高通或带阻特性。ftype和window可以默认。B=fie1(N,wc)可得到截止频率为wc且满足线性相位条件的N阶FIR低通滤波器,window默认选用hamming窗。其单位脉冲响应h(n)为 h(n)=b(n+1) n=0,1,2,N当wc=wc1,wc2时,得到的是通带为wc1wwc2的带通滤波器.b=fir1(N,wc,ftype). 可设计高通和带阻滤波器。当ftype=high时,设计高通FIR滤波器;当ftype=stop时,设计带阻FIR滤波器。fir2:功能:基于窗函数的FIR滤波器设计任意频率响应形

27、状。格式:b=fir2(N,f,m,window)说明:fir2函数用于设计具有任意频率响应形状的加窗线性相位FIR数字滤波器,其幅频特性由频率点向量f和幅度值向量m给出,0f1,要求f为单增向量,而且从0开始,以1结束,1表示数字频率w=.m与f等长度,m(k)表示频点f(k)的幅频响应曲线。n 用各种窗函数设计FIR数字滤波器分别用矩形窗和Hamming窗设计线性相位FIR低通滤波器。通带截止频率,单位脉冲响应h(n)的长度N=21。用窗函数法设计FIR数字滤波器时,先求出相应的理想滤波器单位脉冲响应,再根据阻带最小衰减选择合适的窗函数w(n),最后得到FIR滤波器单位脉冲响应。 ,N=2

28、1,所以线性相位理想低通滤波器的单位脉冲响应为: (3-13)MATLAB的实现:%cjf2_1.mN=21;wc=pi/4; %理想低通滤波器参数n=0:N-1;r=(N-1)/2;hdn=sin(wc*(n-r)/pi./(n-r); %计算理想低通单位脉冲响应if rem(N,2)=0 hdn(r+1)=wc/pi;end %N为奇数时,处理n=r点的0/0型wn1=boxcar(N); %矩形窗hn1=hdn.*wn1; %加窗wn2=hamming(N); %hamming窗hn2=hdn.*wn2; %加窗w=2*0:511/512;hw1=fft(hn1,512);hw2=fft

29、(hn2,512);subplot(2,2,1); %作图stem(n,hn1,.);grid;xlabel(n); ylabel(h(n);title(矩形窗设计的h(n) ); %图形划分及标注语句subplot(2,2,2);plot(w,20*log10(abs(hw1);grid;xlabel(w/pi); ylabel(Magnitude(dB);title(幅频特性(dB));subplot(2,2,3);stem(n,hn2,.);grid;xlabel(n); ylabel(h(n);title(hamming窗设计的h(n) );subplot(2,2,4);plot(w,

30、20*log10(abs(hw2);grid;xlabel(w/pi); ylabel(Magnitude(dB);title(幅频特性(dB));作图如下:结果分析:对两种窗函数的设计结果分别如图所示。由图中可以看出,不同的窗函数生成的过渡带宽度和阻带最小衰减是不同的。这就是选择窗函数的根据。n 利用用fir2函数对FIR数字滤波器的设计。逼近截止频率wc=0.6,30阶%cjf2_2.m%fir2使用举例f=0,0.6,0.6,1;m=0,0,1,1; %预期设定幅频响应b=fir2(30,f,m);n=0:30; %设计FIR数字滤波器系数subplot(1,2,1);stem(n,b,

31、 .); %画图xlabel(n); ylabel(h(n);axis(0,30,-0.4,0.5); %标注line(0,30,0,0);h,w=freqz(b,1,256);subplot(1,2,2); plot(w/pi,20*log10(abs(h);grid;axis(0,1,-80,0); xlabel(w/pi); ylabel(幅度(dB);图形如下:3.2.3等效最佳一致逼近法信号处理工具箱采用remez算法实现线性相位FIR数字滤波器的等波纹最佳一致逼近设计。与其他设计法相比,起优点是,设计指标相同时,使滤波器阶数最低;或阶数相同时,使通带最平坦,阻带最小衰减最大;通带和

32、阻带均为等波纹形式,最适合设计片段常数特性的滤波器。其调用格式如下:b=remez(N,f,m,w,ftype)其中,w和ftype可默认。b为滤波器系数向量,调用参数N,f,m的含义与函数fir2中类同,但这里有一点不同,期望逼近的频幅响应值位于f(k)与f(k+1)(k为奇数)之间的频段上,而f(k+1)与f(k+2)之间为无关区。w为加权向量,其长度为f的一半。W(k)为对m中第k个常数片段的逼近精度加权值,w值越大逼近精度越高。rtype用于指定滤波器类型。Remezord函数用于估算FIR数字滤波器的等波纹最佳一致逼近设计的最低阶数N,从而使滤波器在满足指标的前提下造价最低。基本调用

33、格式如下:N,fo,mo,w=remezord(f,m,dev,Fs)其返回参数供remez函数使用。设计的滤波器可以满足由参数f,m,dev和Fs指定的指标。F和m与remez中所用的类似,这里f可以是模拟频率(Hz)或归一化数字频率,但必须以0开始,以Fs/2(用归一化频率时为1)结束,而且其中省略了0和Fs/2两个频点。Fs为采样频率,省略时默认为2Hz。dev为各逼近频段允许的幅频响应偏差(波纹振幅)。remez函数可直接调用remezord返回的参数,使用格式如下:b=remez(N,fo,mo,w)。n 用remez函数设计FIR低通滤波器逼近低通滤波特性。 (3-14)通带波纹,

34、阻带衰减,并用最小阶数实现。设计参数f=1/4,5/16,m=1,0;由于所以, MATLAB的实现:%cjf2_3.m,%用remez函数设计FIR低通滤波器fc=1/4;fs=5/16;%输入给定指标Rp=3;As=60;Fs=2;f=fc,fs;m=1,0;%计算remezord函数所需要参数f,m,devdev=(10(Rp/20)-1)/(10(Rp/20)+1),10(-As/20);N,fo,mo,w=remezord(f,m,dev,Fs);%确定remez函数所需参数hn=remez(N,fo,mo,w);%调用remez函数进行设计hw=fft(hn,512); %求设计出

35、的滤波器频率特性w=0:511*2/512;plot(w,20*log10(abs(hw);grid;%画对数幅频特性曲线axis(0,max(w)/2,-90,5);xlabel(w/pi); ylabel(Magnitude(dB);title(幅频特性);line(0,0.4,-3,-3); %画线检验设计结果line(1/4,1/4,-90,5); line(5/16,5/16,-90,5);图形如下:结果分析:如图所示,图3-5横线为-3dB,两条竖线分别位于频率/4和5/16。显然,通带指标稍有富裕,过渡带宽度和阻带最小衰减刚好满足指标要求。用remez函数设计高通滤波器观察等波纹

36、逼近法中加权系数w()及滤波器阶数N的作用和影响。期望逼近的滤波器通带为3/4,阻带为0,23/32。在滤波器设计中,技术指标越高,实现滤波器的阶数也就越高。在remez函数调用格式b=remez(N,f,m,w)中,f=0,3/4,23/32,1,m=0,0,1,1.其余参数分三种情况进行设计:(1)N=30,w=1,1;(2)N=30,w=1,5(3)N=60,w=1,1MATLAB的实现:%cjf2_4.m%用remez函数设计高通滤波器clear;close allf=0, 23/32, 3/4,1;m=0,0,1,1;N1=30;w1=1,1; hn1=remez(N1,f,m,w1

37、);%情况(1)k=0:1023*2/1024;Hw1=fft(hn1,1024);figure(1);plot(k,20*log10(abs(Hw1);%求出其幅频特性axis(0,1,-40,5);grid on; %只画出正半轴频谱xlabel(w/pi); ylabel(Magnitude(dB);%标注title( N1=30,w1=1,1 );N2=30;w2=1,5;hn2=remez(N2,f,m,w2);%情况(2)Hw2=fft(hn2,1024); %求出其幅频特性figure(2);plot(k,20*log10(abs(Hw2);axis(0,1,-40,5);gri

38、d on; %只画出正半轴频谱xlabel(w/pi); ylabel(Magnitude(dB);%标注title( N2=30,w2=1,5 );N3=60;w2=1,1;hn3=remez(N3,f,m,w2);%情况(3)Hw3=fft(hn3,1024); %求出其幅频特性figure(3);plot(k,20*log10(abs(Hw3);axis(0,1,-40,5);grid on; %只画出正半轴频谱xlabel(w/pi); ylabel(Magnitude(dB);%标注title( N3=60,w1=1,1 );3.3 基于FDAtool的滤波器设计3.3.1 FDAt

39、ool界面介绍 FDAtool(Filter Design Analysis tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(Filter Design toolbox)。FDAtool可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。它操作简单,方便灵活。FDAtool界面总共分两大部分,一部分是design filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。design filter部分主要分为:filter type(滤波器

40、类型)选项,包括lowpass(低通)、highpass(高通)、bandpass(带通)、bandstop(带阻)和非凡的fir滤波器。design method(设计方法)选项,包括iir滤波器的butterworth(巴特沃思)法、chebyshev type i(切比雪夫i型)法、chebyshev type ii(切比雪夫ii型)法、elliptic(椭圆滤波器)法和fir滤波器的equiripple法、least-squares(最小乘方)法、window(窗函数)法。filter order(滤波器阶数)选项,定义滤波器的阶数,包括specify order(指定阶数)和mini

41、mum order(最小阶数)。在specify order中填入所要设计的滤波器的阶数(n阶滤波器,specify ordern-1),假如选择minimum order则matlab根据所选择的滤波器类型自动使用最小阶数。 frenquency specifications选项,可以具体定义频带的各参数,包括采样频率fs和频带的截止频率。它的具体选项由filter type选项和design method选项决定,例如bandpass(带通)滤波器需要定义fstop1(下阻带截止频率)、fpass1(通带下限截止频率)、fpass2(通带上限截止频率)、fstop2(上阻带截止频率),而l

42、owpass(低通)滤波器只需要定义fstop1、fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。 magnitude specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义wstop1(频率fstop1处的幅值衰减)、wpass(通带范围内的幅值衰减)、wstop2(频率fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。window specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。 设置

43、好参数后点击下方的(design Filter)滤波器设计即可得到所设计的滤波器。设计完成后,可通过主菜单选项Analysis来分析滤波器的幅频响应和相频响应特性。点击Analysis中的Magnitude Response对幅频特性和相频特性进行分析。3.3.2 FIR参数设定及频域响应特性 设计最小阶的低通滤波器,采样频率fs=2000Hz,通带截止频率为500Hz,阻带的截止频率为600Hz,阻带的最小衰减为40dB,通带的最大衰减为3dB。频率响应特性如下图所示。下图为FIR低通滤波器参数设置及频率响应特性设计最小阶的高通滤波器,采样频率fs=2000Hz,通带截止频率为800Hz,阻带的截止频率为750Hz,阻

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1