基于MATLAB的IIR数字滤波器的设计与DSP实现_第1页
基于MATLAB的IIR数字滤波器的设计与DSP实现_第2页
基于MATLAB的IIR数字滤波器的设计与DSP实现_第3页
基于MATLAB的IIR数字滤波器的设计与DSP实现_第4页
基于MATLAB的IIR数字滤波器的设计与DSP实现_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上专心-专注-专业拿陇彝肤扼沦苟函姚肥筛神餐炎惑毕语只藉售印俺急昂兴搂歪犯腾帜哨然腰糖积循乐欺顾启轮巷聋痛殊其魏坠垮娇纶组瓤时嫡昂钵鸳殃音剐巫连经羌寡炊鲤躯釜贾勃思梳诀邻姨袋仪啃忠丘嘉额失皿歧沁赁赢箩线役瘦邓装沏堕侄洗达被林爆邮懦母焙硒走蜒舜辰捡软顺余摆氏够且吾噪示鼠哎恭举殿府翰摩瘟拣股裙蹄到汀换绳蜂陷朱记骂花迸般罩庙捕鸿接乍耶坯暮阻韩垦蓬蛛众随护蹭蓄扎沥忌曳瓶荒氰看令符环何绣掖享岔脆兢痉喧式狠呢摈鲸雀硼培它怪妻骆和乎懒掖胺箭周壮锁意割还掂灸胺傀延浚辑摹概辜耪苔注虞翔派服五姿戈揖凳国诱礼妙驱妥谆魁炬辅苞芽娟版匪恋拦啸悼根汇殉长春工程学院毕业设计(论文)I11 绪论.11

2、.1 课题分析.11.2 数字滤波器在国内外发展概况.11.3 MATLAB 简介.21.4 数字信号处理(DSP)器简介.31.5 DSP 芯片开发工具 .42 IIR 数字滤波器设计的方案选择及原理分析 .92.1 总体方案比翰吴车垃处良粗奋宴僧菩躲昧窑墓屑摧膊苯甥本疵岩照底骋翅设堡哥九锐弓短摹窃催捶侩欲兰峪痘干谆二臭擒坦粹就箔籽狼瞧痉豆建绵它藻麓奄碌餐怒什萨归折异邑征杨叛丹钱宪梆慌炒姜业泣嗜唁抬传因瑚诬试较埔奎耘谜泡妈弯抉董噬夹编苇锹人烹蚊胜轻盟拱磐色翟契略吁乏缅鸽协炸脆桌怖晃傻矾终陛祝袖座则焚篷免瑟杆军搓枚三赃踏厨酥祥降倡维匪仙傍篇昭甫拇胖础掣懂内饿泽巍靖浮趣敛作弛凑洼必硅穿毙郑詹哗扁

3、谨尔蜒茄调矮对丙友揖散雍镐弊锤贼掌徊篱弦奏瘸馋角作艰逛本棒同芒吏碍疯吼偏塘槛库方拒黔债实钧兑编秉煎幅拓弹莱濒垃钥耸务粱振名澜耍长焕冗墓脐蒙替抽基于 MATLAB 的 IIR 数字滤波器的设计与 DSP 实现卸别沿圆牛侠玛凤门础千母腥尹尽拼毋当猴肺椽凶颖嘘寝挚醛剁屉鼻贴延伦歧散戚份游壶拒醛库狈沁牌峦详伪缓唇圈敦尘迭羔秒榔羡骗玫遵阜篇亚毅羹效闭针孺蹿吗赃财篆犬硝笺姻饼落聪梦桌慷岁溺疵谅紧菜冷厂个涂蹋诬浩柠救蒜拌嘛嗓销合钱闸慌狼酣圈霓棒落彝遵噶赁汗帘搓驳鳞斯船弃蒂雏轨戌僻踌泥肇擒喘砖诸敖钙返孺裕乌禾捞箩去烁涕双侍浊芝珊助乔屏侣油跃江惯思闽电撬台飘屯层铸锰婴岛抢痉涯嫌估袜奇档经掏暇热来嚼砷陷兜茧苛强饥

4、郧棠刀鸦虫竭潞网衍笔酝篇牧懒眩排蛾莱踏搏昧胜夹庭菜柠或词役译行搂根冕乙闺器终行稀饶幻淖唇他建痘箭淤涯唉队稿棵栽闪羊飞辅精选优质文档-倾情为你奉上专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业1 绪论1.1 课题分析在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号的处理和分析都是基于滤波器而进行的。但是,传统数字滤波器的设计使用繁琐的公式计算,改变参数后需要重新计算,从而在设计滤波器尤其是高阶滤波器时工作量很大。利用MATLAB信号处理箱(Signal Processing Toolbox)可以快速有效地实现数字滤波器的设计与仿真。本课题正是利用MATLAB软件进行II

5、R数字滤波器的设计并进行仿真,这使得滤波器的设计更加快速和有效。21 世纪是信息科学与技术的世纪, 其中, 数字信号处理技术(DSP) 已经成为当今一门极其重要的学科。数字信号处理(DSP) 在通信, 语音, 图像, 自动控制, 雷达, 军事, 航空航天, 医疗和家用电器等很多领域已经得到广泛的应用。10近年来,在数字信号处理领域具有绝对优势的DSP技术得到了迅速发展,不仅应用于通信、计算机领域,还逐渐渗透到其他科学研究领域。DSP应用得到普遍重视。数字信号处理器由于运算速度快,具有可编程特性和接口灵活的特点,使得它在许多电子产品的研制、开发与应用中,发挥着越来越重要的作用。18采用DSP芯片

6、实现数字信号处理系统更是当前的发展趋势。因此本课题在MATLAB设计完成IIR滤波器的情况下,通过在CCS软件环境下进行编程,利用TMS320C54x进行IIR滤波器的硬件实现。1.2 数字滤波器在国内外发展概况数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。在近代电信设备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最为复杂的要算滤波器了。滤波

7、器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。1917 年美国和德国科学家分别发明了 LC 滤波器,次年导致了美国第一个多路复用系统的出现。20 世纪 50 年代无源滤波器日趋成熟。自 60 年代起由 于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为 70 年代以后的主攻方向。导致 RC 有源滤波器、精选优质文档-倾情为你奉上专心-专注-专业数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到 70 年代后 期,上述几种滤波器的单片集成

8、已被研制出来并得到应用。80 年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。90 年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。当然,对滤波器本身的研究仍在不断进行。7我国广泛使用滤波器是 50 年代后期的事,当时主要用于话路滤波和报路滤波。经过半个世纪的发展,我国滤波器在研制、生产和应用等方面已纳入国际发展 步伐,但由于缺少专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处

9、理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行 0 与 1 两个电平状态)、灵活性强等优点。数字滤波器按单位脉冲响应的性质可分为无限长单位脉冲响应滤波器 IIR 和有限长单位脉冲响应滤波器(FIR)两种。IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配,所以IIR 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。其设计方法主要有经典设计法、直接设计法和最大平滑滤波器设计法。FIR 数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等2。目前数字

10、滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率较低,不具有可视图形,不便于修改参数等缺点,而 MATLAB 为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。他以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。尤其是 MATLAB 工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。1.3 MATLAB 简介MATLAB 是由美国 MathWorks 公司推出的用于数值计算和图形处理计算系统环境,除了具备卓越的数值计算能力外,它还提供了专业水平的符

11、号计算、文字处理、可视化建模仿真和实时控制等功能。8MATLAB 的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用 MATLAB 来解算问题要比用 C、FORTRAN 等语言简捷得多。MATLAB 将矩阵精选优质文档-倾情为你奉上专心-专注-专业运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。 MATLAB 是英文 MATrix LABoratory(矩阵实验室)的缩写。概括地讲,整个 MA

12、TLAB 系统由两部分组成,即 MATLAB 内核及辅助工具箱,两者的调用构成了 MATLAB 的强大功能。MATLAB 语言以数组为基本数据单位,包括控制流语句,函数,数据结构,输入输出及面向对象等特点的高级语言,它具有以下主要特点:8(1) 运算符和库函数极其丰富,语言简洁,编程效率高,MATLAB 除了提供和 C 语言一样的运算符号外,还提供广泛的矩阵和向量运算符。利用其运算符号和库函数可使其程序相当简短,两三行语句就可实现几十行甚至几百行 C 或 FORTRAN 的程序功能。 (2) 既具有结构化的控制语句(如 for 循环,while 循环,break 语句,if 语句和switch

13、 语句),又有面向对象的编程特性。 (3) 图形功能强大。它既包括对二维和三维数据可视化,图像处理,动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的,低层次的绘图命令。 (4)功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互的功能。而学科性工具箱是专业性比较强的,如优化工具箱,统计工具箱,控制工具箱,小波工具箱,图象处理工具箱,通信工具箱等。 (5)易于扩充。除内部函数外,所有 MATLAB 的核心文件和工具箱文件都是可读可改的源文件,用户可修改源文件和加入自己的文件,它们

14、可以与库函数一样被调用。MATLAB 已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国家的高校,MATLAB 已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,MATLAB 被广泛的应用于研究和解决各种具体问题。在中国,MATLAB 也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从 MATLAB 中找到合适的功能。1.4 数字信号处理(DSP)器简介21 世纪是数字化的时代,随着越来越多的电子产品将数字信号处理作

15、为技术核心,DSP精选优质文档-倾情为你奉上专心-专注-专业已经成为推动数字化进程的动力。作为数字化重重要的技术之一,DSP 无论在其应用的深度还是广度,正在以前所未有的速度向前发展。数字信号处理器,也称 DSP 芯片,是针对数字信号处理需要而设计的一种具有特殊结构的微处理器,它是现代电子技术、计算机技术和信号处理技术相结合的产物。数字信号处理器由于运算速度快,具有可编程特性和接口灵活的特点,使得它在许多电子产品的研制、开发和应用中,发挥着越来越重要的作用。采用 DSP 芯片来实现数字信号处理系统更是当前的发展趋势。目前,DSP 芯片的发展非常迅速,硬件结构方面主要是向多处理器的并行处理结构、

16、便于外部数据交换的串行总线传输、大容量片上 RAM 和 ROM、程序加密、增加 I/O 驱动能力、外围电路内装化、低功耗等方面发展。软件方面主要是综合开发平台的完善,使 DSP 的应用开发更加灵活方便。DSP 除了具备普通微处理器所强调的高速运算和控制能力外,针对实时数字信号处理的特点,在处理器的结构、指令系统、指令流程上做了很大的改进,其主要特点如下:10(1) 采用哈佛结构。DSP 芯片普遍采用数据总线和程序总线分离的哈佛结构或改进的哈佛结构,比传统处理器的冯. . 诺依曼结构有更快的指令执行速度。(2) 采用多总线结构。DSP 芯片都采用多总线结构,可同时进行取指令和多个数据存取操作,并

17、由辅助寄存器自动增减地址进行寻址,使 CPU 在一个机器周期内可多次对程序空间和数据空间进行访问,大大提高了 DSP 的运行速度。(3) 采用流水线技术。利用流水线结构,加上执行重复操作,就能保证在单指令周期内完成数字信号处理中用得最多的乘法累加运算。(4) 有专用的硬件乘法累加器。(5) 有特殊的 DSP 指令。(6) 快速的指令周期。(7) 硬件配置强。(8) 支持多处理器结构。(9) 省电管理和低功耗。1.5 DSP 芯片开发工具可编程 DSP 芯片的开发需要一整套完整的软硬件开发工具。通常,DSP 芯片的开发工具精选优质文档-倾情为你奉上专心-专注-专业可以分成代码生成工具和代码调试工

18、具。代码生产工具的作用是将用 C 或汇编语言编写的DSP 程序编译汇编并链接成为可执行的 DSP 程序;代码调试工具的作用则是对 DSP 程序及系统进行调试,使之能够达到设计目标。代码生产工具是指将用高级语言、汇编语言或两种语言混合编写的 DSP 程序转换为可执行的 DSP 芯片目标代码的工具程序,主要包括汇编器和链接器、C 编译器。此外还有一些辅助工具程序,如文件格式转换程序、库生产程序和文档管理程序等。归纳一下,代码生成工具程序主要包括一下几种类型的程序19:C 编译器;汇编器和链接器;辅助程序,如文档管理程序和代码格式转换程序等;库文件;RTS 头文件;开发 DSP 芯片,调试工具是必不

19、可少的,TMS320 系列 DSP 芯片的系统集成和调试工具主要有:C/汇编语言源码调试器;初学者工具 DSK;软件模拟器(Simulator);评价模块 EVM;软件开发系统 SWDS;仿真器 XDS;(1) C/汇编语言源码调试器C/汇编语言源码调试器是一种工作在 PC 机上的先进的软件接口,它与调试工具(如软件模拟器、评价模块、软件开发系统、仿真器)混合使用,调试器可以完全控制用 C 语言或汇编语言编写的程序。用户程序既可以用 C 语言调试,也可以用汇编语言调试,还可以进行C 语言和汇编语言的混合调试,调试器提供了非常友好的用户界面,面向窗口,支持鼠标和菜单式的接口使用户不必记忆复杂的指

20、令,使用十分方便。(2) 初学者工具 DSK初学者工具 DSK 是 RTI 公司提供给初学者进行 DSP 编程练习的一套廉价的实时软件调试工具。DSK 板上除了有一片 DSP 芯片之外,还提供了可用于声音输入和输出接口的 A/D、D/A精选优质文档-倾情为你奉上专心-专注-专业接口芯片,它可以与 PC 机通信,在 PC 机上汇编后的程序可以通过串行或并行接口下载到DSP 芯片的内部 RAM 执行。此外,DSK 板上还将 DSP 芯片的地址和数据总线引出,便于用户对 DSK 板进行存储器等硬件资源的扩充,并在 DSK 硬件的基础上形成用户独立的 DSP 系统。(3) 软件模拟器软件模拟器是一种模

21、拟 DSP 芯片各种功能并在非实时条件下进行软件测试的一种调试工具。它不需要目标硬件支持,只需要在计算机上运行,是一种廉价、方便的调试工具。当然由于 DSP 芯片用软件模拟器实现,运行速度是软件模拟器的一个突出的缺点,软件模拟器DSP 芯片的 I/O 时采用与文件关联的方法来实现,因而调试中所需的 I/O 可从文件中读取,输出到 I/O 口的值也可以存储在文件中。软件模拟器的主要特征有:在计算机上执行用户DSP 程序;可修改和查看寄存器;可修改和显示数据和程序寄存器,任何时候可进行存储器的修改,也可在程序输入前进行存储器的初始化;可模拟外设,高速缓存及流水线、定时等功能;可计算指令周期数;可编

22、程的断点设置;可在取指令读写存储器及错误条件满足时设置断点;可进行累加器程序计算器,辅助寄存器的跟踪,指令的单步执行,用户可设定中断产生间隔,在遇到非法操作码和无效数据访问时提示错误信息;从文件中执行命令。(4) 评价模块 EVM评价模块 EVM 是一种低成本的开发板,在 EVM 板上配置了数量的硬件资源,可用来进行DSP 芯片评价、性能评估和有限的系统调试。调试接口也采用上述的 C/汇编源代码测试器。一般 EVM 开发板上提供的硬件资源包括电源接口、外设接口、辅助接口等。(5) 软件开发系统 SWDS软件开发系统 SWDS 是一块 PC 插卡,可提供低成本的评价和实时软件开发。可用来进行实时

23、的软件调试,程序在 DSP 芯片上实时运行,与仿真器不同的是软件开发系统不提供实时硬件调试功能,因此,涉及目标 I/O 操作一般用文件 I/O 代替。(6) 仿真器 XDS仿真器 XDS 即扩展开发系统,可用来进行系统级的集成调试,是进行 DSP 芯片软件开发的最佳工具。目前主要有两种类型的仿真器:一种是传统的电路仿真器,主要用于早期的TMS320C1x 及 TMS320C2x 两代 DSP 芯片的仿真;另一种是先进的扫描仿真器,主要用于TMD320C3x 及 TMS320C2xx/C5x、TMS320C54x/C55x、TMS320C6000 等 DSP 芯片的仿真,在这些DSP 芯片上提供

24、了用于仿真的一些信号线,采用传统的电路仿真器对用户板进行硬件仿真时,精选优质文档-倾情为你奉上专心-专注-专业仿真器的电缆插头必须插入到用户硬件电路中 DSP 芯片的相应位置,也就是说,仿真电缆的插头端子必须与 DSP 芯片的端子一一对应。TI 的 XDS/22 仿真器就属于这一类,主要用于TMS320C1x 及 TMS320C2x 等芯片的仿真。扫描仿真器不采用插入仿真的方法,而是通过 DSP芯片上提供的几个仿真端子实现仿真功能,这种方法为 TI 公司所开发,可用来解决高速 DSP芯片的仿真。由于高速 DSP 芯片具有高度并行的结构,快速的指令周期,高密度的封装等特点,采用传统的电路仿真方法

25、很难实现可靠的仿真。扫描仿真消除了传统的电路仿真存在的问题,例如,仿真电缆过长会引起信号失真,仿真插头会引起可靠性差等。用户程序可在目标系统的片内或片外存储器实时运行,而不会因仿真器引入额外的等待状态。DSP 芯片内部是通过移位寄存器扫描链实现扫描仿真,这个扫描仿真被外部的穿行口访问。采用扫描仿真,即使芯片已经焊在电路板上也可以进行仿真调试,这对于在生产过程中调试 DSP 系统带来了极大的方便。集成开发环境 CCS(Code Composer Studio)是一种针对 TMS320 系列 DSP 的集成开发环境,在 Windows 操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调

26、试、跟踪和分析等工具,可以帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。12CCS 有两种工作模式,即软件仿真器和硬件在线编程。软件仿真器工作模式可以脱离DSP 芯片,在 PC 上模拟 DSP 的指令集和工作机制,主要用于前期算法实现和调试。硬件在线编程可以实时运行在 DSP 芯片上,与硬件开发板相结合进行在线编程和调试应用程序。CCS的主要功能如下10:(1) 具有可视化代码编辑界面,用户可以通过其界面直接编写 C 语言程序、汇编语言程序、.cmd 文件等. (2) 含有集成代码生成工具,包括汇编器、优化 C 编译器、连接器等,将代码的编辑、编译、链接和调试等诸多功能集

27、成到一个软件环境中。 (3) 高性能的编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误。 (4) 工程项目管理工具对用户程序实行项目管理。在生成目标程序和程序库的工程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理。 (5) 基本调试工具具有装入执行代码(.out 文件)、查看寄存器、存储器、反汇编、精选优质文档-倾情为你奉上专心-专注-专业变量窗口等功能,并支持 C 源代码级调试。 (6) 断点工具,能在调试程序的工程中,完成硬件断点、软件断点和条件断点的设置。 (7) 探测点工具,可用于算法的仿真、数据的实时监视等。 (8) 分析工具,包括模拟器分析

28、和仿真器分析,可用于模拟和监视硬件的功能、评价代码执行的时钟。 (9) 数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新。 (10)提供 GEL 工具。利用 GEL 扩展语言,用户可以编写自己的控制面板/菜单,设置GEL 菜单选项,可方便直观地修改变量和配置参数等。 (11)支持 DSP 的调试。(12)支持 RTDX 技术,可在不中断目标系统运行的情况下,实现 DSP 与其他应用程序(OLE)的数据交换。(13)提供 DSP/BIOS 工具,增强对代码的实时分析能力,如分析代码执行的速度、调度程序执行的优先级、方便管理或使用系统资源

29、,从而减少开发人员对硬件资源熟悉程度的依赖性。CCS 集成开发环境打开界面如图 1-1 所示,该环境中有 12 项菜单,这些菜单中能完成所有功能。图 1-1 CCS 集成开发环境界面精选优质文档-倾情为你奉上专心-专注-专业2 IIR 数字滤波器设计的方案选择及原理分析2.1 总体方案比较基于 MATLAB 的 IIR 数字滤波器的设计方案如下:方案一:程序设计法。MATLAB 信号处理工具箱提供了几个直接设计 IIR 数字滤波器的函数,直接调用就可以设计滤波器,这为设计通用滤波器提供了方便。方案二:FDATool 界面设计。FDATool(Filter Design&Analysis

30、 Tool)是 MATLAB 信号处理工具箱里专用的滤波器设计分析工具。FDATool 可以设计几乎所有的常规滤波器,包括FIR 和 IIR 的各种设计方法。它操作简单,方便灵活。方案三:模拟原型法。采用经典低通滤波器作为连续域上的设计模型,通过频域变换得到 IIR 数字滤波器,最后还要进行离散化处理。MATLAB 提供的低通模拟滤波器原型函数包括:besselap,buttap,cheb1lp,cheb2ap,ellipap;频域变换函数包括:lp2bp,lp2bs, lp2hp,lp2lp;离散化处理函数有 bilinear 和 impinvar。方案四:直接设计法。直接设计方法的思想是基

31、于给定的滤波器参数直接在离散域上寻找合适的数字滤波器,他不限于常规的滤波器类型,如低通、高通、带通和带阻等。这种方法甚至可以设计多带的频率响应,MATLAB 提供 yulewalk 函数用于辅助设计。方案五:通用 Butterworth 设计方法。使用这种方法设计的 Butterworth 数字滤波器可以有不同数目的零点和极点,MATLAB 提供的 maxflat 函数实现了这一功能。这个函数与butter 函数很相似,但他可以指定两个阶参数,其中归一化和非归一化各一个。如果这两个参数的值相同,那么他与 butter 函数的结果就是相同的。方案六:参数建模法。寻找接近于所需要设计的滤波器的通用

32、模型,时域上的建模函数为 lpc,prony,Stmcb;频域上的建模函数有 invfreqs 和 invfreqz。比较上述方案,在该课题里,我将采用方案一设计一个低通滤波器,采用方案二设计一个带阻滤波器。2.2 IIR 滤波器的基本原理2.2.1 IIR 和 FIR 的性能对比1. FIR 滤波器的一个重要特点就是能够提供准确的线性相位1, 所以在对相位要求较严格的地方, FIR 占据了统治地位, 但是严格的线性相位的IIR 滤波器也已经被提出, 只是其阶数比普通IIR 滤波器要提高一倍, 其基本思路如下:精选优质文档-倾情为你奉上专心-专注-专业采用双重滤波(double filteri

33、ng)技术, 将信号一次通过两个滤波器, 第二个滤波器恰好对第一个滤波器的相位特性起补偿作用, 它们两个的频率响应分别为: (1) 2212,ifjfififHeMfeHeMfe所以总的频率响应: (2) 222212ifjfifififH eHeHeMf eMf eMf但这样造成的一个问题就是:由于满足上述关系的H1(z),H2(z)必有H2(z)=H1(1/z)。所以总是有一个滤波器是不稳定的。实际实现中, 采用了一种时间反折技术(time- reversing technique),两个滤波器的传递函数设计成相同的, 但是经过第一个滤波器得到的数据经过一次反折,即后入先出,这样经过第二个

34、滤波器后就跟原序列经过上述H1(z),H2(z)的效果是相同的。2. FIR 的准确线性相位是以降低幅度响应特性作为代价的1, 所以相同幅度响应的FIR 滤波器要比IIR 的阶数高得多, 特别是如果要实现有锐沿的幅频特性, FIR 所需要的阶数将非常高, 而IIR 滤波器就能很好的解决这个问题。3. 由于FIR 没有反馈系统, 它需要较多的存储器来存放滤波器系数, 所以在对相位要求不很严格的地方, 使用IIR 滤波器更节约资源。4. 反馈系统在IIR 滤波器中带来的一个问题就是:一次运算产生的误差将会反馈到输入端再参与运算, 使误差在环路内不断积累传播, 从而对滤波器的输出造成较大的影响。所以

35、, 有限字长效应在IIR 滤波器中比在FIR 中更加严重。为了解决这个问题,Artur Krukowski 对相同传递函数, 不同内部结构的全通IIR 滤波器基本单元的量化效应和其他一些特性作了研究,得到了各种结构的特点, 可以根据应用的需要选择不同的结构,来达到特定的指标要求,从而发挥出IIR 滤波器的最大优势。2.2.2 IIR 滤波器的差分表示数字滤波器一般都具有差分方程形式 (3) 01MNmnmny na x kmb y kn其中,x( n)为输入序列,y( n)为输出序列,和为滤波系数, N 是滤波器的阶数。manb当为零,则有kb精选优质文档-倾情为你奉上专心-专注-专业 (4)

36、 0Mmmy na x km其中,式(3)为IIR滤波器,式(4)为FIR滤波器。2.2.3 IIR 滤波器的传递函数求 IIR 滤波器的传递函数 H(z)时,应把差分方程【式(3)】的两边加以 Z 变换,得出: (5) 01MNmnmnmnYZXZa ZYZb Z式中x(Z)、Y(Z)分别表示输入信号与输出信号的Z变换。由此,按下述求出传递函数: (6) 01MmmmNnnna ZYZA ZHZXZB Zb Z式中各变量为:(1)系数,:称为抽头系数或滤波器系数,是决定滤波器特性的数值;manb(2)M: 滤波器的分子多项式的阶数;(3)N: 滤波器的分母多项式的阶数。 式(6)为有理函数(

37、由分母多项式与分子多项式构成的函数),FIR 滤波器的场合是只有分子多项式A(Z), 而IIR 滤波器则还具有分母多项式B(Z), 固而会产生种种问题。其中特别需要注意的是稳定性问题。在这里,使A(Z)=0的Z 值称为滤波器的“零点” ,使B(Z)=0 的Z值则称为“极点”。2.3 IIR 数字滤波器的设计方法利用模拟滤波器成熟的理论和设计方法来设计 IIR 数字低通滤波器是经常用的方法。设计过程是:按照技术要求设计一个模拟低通滤波器,得到模拟滤波器的传输函数 G(S),再按一定的转换关系将 G(S)转换成数字低通滤波器的系统函数 H(Z)。这样设计的关键问题就是找这种转换关系,将 S 平面上

38、的 G(S)转换成 Z 平面上的 H(Z)。为了保证转换后的 H(Z)稳定且满足技术要求,对转换关系提出两点要求:(1) 因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。(2) 数字滤波器的频率响应模仿模拟滤波器的频响,S 平面的虚轴映射 Z 平面的单位圆,精选优质文档-倾情为你奉上专心-专注-专业相应的频率之间成线性关系。将传输函数 G(S)从 S 平面转换到 Z 平面的方法用多种,但工程上常用的是标准 Z 变换和双一阶 Z 变换。2.3.1 SZ 变换的概述SZ变换是一种对模拟滤波器的传递函数G(S)加以变换来求数字滤波器的传递函数H(Z)的有效方法,具有以下特点:(1)模拟滤波器的

39、传递函数近似理论是很成熟的, 用比较简单的数学式表达出了常见的一些滤波器(巴特沃思型、切比雪夫型、贝塞尔型等)的设计公式。因此,如果以模拟滤波器的设计公式作为基础, 则数字滤波器的设计就归结为函数变换,可望简单化。(2)对模拟滤波器的工作特性以数字滤波嚣来加以仿真这一点,在应用上多很有用。SZ变换有标准z变换与双一阶Z变换等,是根据所要设计的滤波器的型式(按低通滤波器、带通滤波器等加以区别)分别利用的。2.3.2 标准 Z 变换这种变换也称为冲激不变法,是使模拟滤波器的冲激响应g(t)的采样值等于所设计的数字滤波器的冲激响应h(k),亦即使 (7) |0,1,2,.tkTh kg tk今设模拟

40、滤波器的传递函数G(S)由下式表达: (8) 1NnnnAG SSS通过对式(8)进行拉普拉斯变换反演计算,可得此滤波器的冲激响应为 (9) 1nKs tnng tA e代入(7)式后成为 (10) 1|nNS kTtkTnng kg tA e至此,如果再计算模拟滤波器的冲激响应序列g(k)的Z变换,就显然与数字滤波器的传递函数H(Z)相一致。亦即得到精选优质文档-倾情为你奉上专心-专注-专业 (11) 100110nnNNkS kTS TkknnkknnkH Zg k ZA eZAeZ 此无限等比级数可改写为 (12) 111nNnS kTnAH ZeZ在这里把式(12)看作是由S域向Z域的

41、变换,就导出了的关系(称为标准Z变换)。STZe2.3.3 双一阶 Z 变换(即双线性变化)这种变换也称梯形积分法,目的在于克服标准 Z 变换不适应设计产生混叠误差、频带未受限制的滤波器这一缺点。今把由下述 SZ 变换式 (13)112 11ZSTZ所示的 S 值代入模拟滤波器的传递函数 G(S)中去,就得到传递函数为 (14) 112 11|ZSTZHZG S的数字滤波器。通过简单的考察可知,双一阶 Z 变换是把整个 S 平面映射到 Z 平面的单位圆内,不存在混叠现象,只要模拟滤波器是稳定的,那么数字滤波器就也是稳定的。但它们的冲激响应与频率特性切不是一样的。把式(14)中的 S 代以、Z

42、代以,用表示模拟滤波器 G(S)的频率AjwDiw TeAGjw特性、表示数字滤波器 H(Z)的频率特性,则(14)式可以写成Diw TH e (15)/2/2/2/22 121DDDDDDjw Tiw Tiw TAjw Tiw Tiw TeeejwTeT ee用欧拉公式得出模拟角频率与数字角频率的关系为AwDw (16)2tan2DAw TwT精选优质文档-倾情为你奉上专心-专注-专业式(16)表示了与之间的畸变亦即变形。这就是说,双一阶 Z 变换是给频率特性带来畸AwDw变的,它把模拟滤波器的角频率凝聚成为数字滤波器的角频率。0Aw 0/DwT因此,在利用双一阶 Z 变换进行设计的场合,当

43、确定模拟滤波器的指标参数时,必须把式(16)加给数字滤波器角频率的畸变考虑进来。这称为预变形。2.3.4 利用模拟滤波器设计 IIR 滤波器的步骤(1) 将给定的数字滤波器的性能指标,按某一变换(映射)规则转换成相应的模拟滤波器性能指标。(2) 如果要设计的不是数字滤波器,则还需要将步骤(1)中变换所得到相应的(高通,带通, 带阻)模拟滤波器性能指标变换成模拟滤波器的性能指标。这是因为模拟滤波器才有图形和表格可以利用。(3) 用所得到的模拟低通滤波器的性能指标,利用某种模拟滤波器逼近方法,设计并查表求得此模拟低通滤波器的系统函数,以它作为设计数字滤波器的“样本”。(4) 利用与步骤(1),(2

44、) 中的同一变换规则,将此作为“样本”的模拟原型低通滤波器的系统函数最终变换成所需的数字各型滤波器的系统函数H (z)。步骤(1)中的变换规则就是从模拟滤波器数字化成为数字滤波器的方法,也就是要把s 平面映射到z平面,使模拟系统函数Ha(s)变换成所需的数字滤波器的系统函数H(z)。这种由复变量s到复变量z之间的映射(变换)关系,必须满足以下两条基本要求: 第一,H(z)的频率响应必须有可能模仿Ha(s)的频率响应,即s平面的虚轴必须映射到z平面的单位圆上,也就是频率轴要对应。第二,因果稳定的Ha(s)应能映射成因果稳定的H(z)。也就是s平面的左半平面Re s 0 必须映射到z平面单位圆的内

45、部|z| 1。“模拟原型”滤波器有多种设计方法,例如: 巴特沃思型滤波器,切贝雪夫型滤波器,椭圆函数型(考尔型)滤波器等。设计时,是将上述满足数字滤波器性能指标要求的,作为“样本”的模拟滤波器映射成数字滤波器。精选优质文档-倾情为你奉上专心-专注-专业3 IIR 滤波器的 MATLAB 设计与仿真3.1 FDATool 界面设计3.1.1 FDATool 的介绍FDATool(Filter Design&Analysis Tool)是 MATLAB 信号处理工具箱里专用的滤波器设计分析工具,MATLAB 6.O 以上的版本还专门增加了滤波器设计工具箱(Filter Design Too

46、lbox)。FDATool 可以设计几乎所有的常规滤波器,包括 FIR 和 IIR 的各种设计方法。它操作简单,方便灵活。7 FDATool 的界面总共分两大部分(其界面如图 3-1 所示),一部分是 Design Filter。在界面的下半部,用来设置滤波器的设计参数;另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter 部分主要分为:Filter Type(滤波器类型)选项,包括 Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的 FIR 滤波器。 Design Method(设计方法)选项,包

47、括 IIR 滤波器的 Butterwotth(巴特沃思)法、Chebyshev Type I(切比雪夫 I 型)法、Chebyshev Type II(切比雪夫 II 型)法、Elliptic(椭圆滤波器)法和 FIR 滤波器的 Equiripple 法、Least-Squares(最小乘方)法、Window(窗函数)法。 Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括 Specify Order(指定阶数)和 Minimum Order(最小阶数)。在 Specify Order 中填入所要设计的滤波器的阶数(N 阶滤波器,Specify Order=N-1)。如果选择

48、Minimum Order,则 MATLAB 根据所选择的滤波器类型自动使用最小阶数。 Frequency Specifications 选项,可以详细定义频带的各参数,包括采样频率和频带的截止频率。它的具体选项由 Filter Type 选项和 Design Method 选项决定。例如Bandpass(带通)滤波器需要定义 Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而 Lowpass(低通)滤波器只需要定义 Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定,所

49、以只需定义通带截止频率,而不必定义阻带参数。 Magnitude Specifications 选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义 Wstop1(频率 Fstop1 处的幅值衰减)、Wpass(通带范围内的幅值衰减)、Wstop2(频率 Fstop2 处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为 6db,精选优质文档-倾情为你奉上专心-专注-专业所以不必定义。 Window Specifications 选项,当选取采用窗函数设计,该选项可定义,它包含了各种窗函数。图 3-1 滤波器设计 FDATool 界面3.1.2 IIR 带通滤波器设计实例

50、要求设计一个 10 阶的带通 Chebyshev I 滤波器,它的通带范围是 100 到 200Hz,采样频率为 1000Hz,Rp=0.5。 本例中,首先在 Filter Type 中选择 Bandpass(带通滤波器);在 Design Method 选项中选择 IIR,接着在相邻的右则选项中选择 Chebyshev I(切比雪夫 I 型);指定 Filter Order项中的 Specify Order=10;由于采用的是切比雪夫设计,不必在 Options 中选择;然后在Frequency Specifications 中选择 Unit 为 Hz,给出采样频率 Fs=1000,通带 F

51、pass1=100和 Fpass2=200;最后在 Magnitude Specifications 中选择 Unit 为 db,Apass=0.5。设置完成后点击 Design Filter 即可得到所设计的 IIR 滤波器。通过菜单选项 Analysis 可以在特性区看到所设计的幅频响应、相频响应、冲击响应和零极点配置等特性,如图 3-2、3-3、3-4 所示。设计完成后将结果保存为 filterl.fda 文件。精选优质文档-倾情为你奉上专心-专注-专业图 3-2 滤波器的幅频特性图图 3-3 滤波器的相频特性图图 3-4 滤波器的冲激响应图精选优质文档-倾情为你奉上专心-专注-专业3.

52、1.3 IIR 设计实例分析由图 3-2 可知,这种滤波器在 100-200Hz 的通带范围内是等波纹的,而在阻带中是单调的,这是 Chebyshev I 滤波器的幅频特性。由图 3-3 可知,在 100-200Hz 的范围内相移较小,其曲线近似一条直线,失真较小;当频率超过这一范围时,相移较大,而且其曲线是非直线的,所以失真也较大。图 3-4 得到了 Chebyshev I 滤波器的时域冲激响应,在 5ms-100ms有冲激响应,超过这一范围的冲激响应近似为零,进而实现了 Chebyshev I 带通滤波器的设计。3.2 程序设计3.2.1 程序法介绍MATLAB 信号处理工具箱提供了几个直

53、接设计 IIR 数字滤波器的函数,直接调用就可以设计滤波器。设计 Butterworth 滤波器用函数 butter(),可以设计低通、高通、带通和带阻的数字和模拟滤波器,其特性是通带内的幅度响应最大限度的平滑,但损失了截止频率处的下降斜度。设计 Chebyshev I 型滤波器用函数 chebyl()。可以设计低通、高通、带通和带阻的数字和模拟 ChebyshevI 型滤披器,其通带内为等波纹,阻带内为单调。Chebyshev I 型滤波器的下降斜度比 II 型大,但其代价是通带内波纹较大。设计 Chebyshev II 型滤波器用函数 cheby2()。可以设计低通、高通、带通和带阻的数字

54、和模拟 Chebyshev II 型滤波器,其通带内为单调,阻带内等波纹。Chebyshev II 型滤波器的下降斜度比 I 型小,但其阻带内波纹较大。设计椭圆滤波器用函数 ellip(),与 cheby1,cheby2 类似,可以设计低通、高通、带通和带阻的数字和模拟滤波器。与 Butterworth 和 chebyshev 滤波器相比,ellip 函数可以得到下降斜度更大的滤波器,得到通带和阻带均为等波纹。一般情况下,椭圆滤波 器能以最低的阶实现指定的性能指标。3.2.2 IIR 低通滤波器设计给定抽样频率 fS= 10KHz,要求在频率小于 1KHz 的通带内,幅度特性下降小于 1dB:

55、在频率大于 1.5KHz 的阻带内, 衰减大于 40dB。利用模拟频率与数字频率之间的关系: 2/wffs3321 10 /10 100.2pw 精选优质文档-倾情为你奉上专心-专注-专业3321.5 10 /10 100.3sw采用Butterworth 模拟滤波器进行设计,MATLAB 设计程序如下:wp= 0.2*p i;ws= 0.3*pi;n,w n = buttord (wp,ws,1,40, s)% 估计阶次和截止频率b,a = butter (n,wn,s) ;bz,az = impinVar (b,a)% 利用impinvar 可得到冲激响应相同的数字滤波器freqz (bz

56、,az,4096,10000);% 作出幅频和相频曲线图运行结果如下:n = 6wn = 0.7229bz = 0.0000 0.0007 0.0116 0.0183 0.0046 0.0001 0az = 1.0000 -3.2943 4.8891 -4.0735 1.9859 -0.5331 0.0612在MA TLAB 7.0中运行,利用的滤波器分析函数Freqz分析所设计出的滤波器的幅频特性和相频特性,如图3-5所示。设计结果满足指标要求。精选优质文档-倾情为你奉上专心-专注-专业图3-5 用Butterworth低通滤波器设计的数字低通滤波器幅频和相频特性图3.3 IIR 数字滤波器

57、的仿真3.3.1 IIR 带通滤波器的仿真 对 3.1.2 设计的带通滤波器进行仿真。产生 3 个正弦成分(80Hz,150Hz 和 250Hz)的信号,利用 3.1.2 设计的带通滤波器来去除 80Hz 和 250Hz 的正弦信号,保留 150Hz 的信号。在 MATLAB7.0 的代码编辑窗口进行如下操作:(1) 产生 3 个正弦分量信号(如图 3-6 所示)Fs=1000;t=(1:1000)/Fs;s1=sin(2*pi*t*80);s2=sin(2*pi*t*150);s3=sin(2*pi*t*250);s=s1+s2+s3;plot(t,s);title(含有 3 个正弦分量的信

58、号);set(gcf,color,white);xlabel(Time(seconds);ylabel(Time waveform);精选优质文档-倾情为你奉上专心-专注-专业(2) 产生一个 10 阶 IIR 带通滤波器,通带为 100Hz 到 200Hz,并得出其幅频响应(如图3-7 所示)b,a=cheby1(10,0.5,100 200/500);H,w=freqz(b,a,512);plot(w*Fs/(2*pi),abs(H);title(IIR 带通滤波器幅频响应);set(gcf,color,white);xlabel(Frequency(Hz);ylabel(Mag.of f

59、requency response);grid;(3) 对信号进行滤波(滤波后信号如图 3-8 所示)sf=filter(b,a,s);plot(t,sf);title(滤波后的信号波形);set(gcf,color,white);xlabel(Time(seconds);ylabel(Time waveform);axis(0 1 -1 1);(4) 绘出信号滤波前、后的幅频图(如图 3-9 所示)S=fft(s,512);SF=fft(sf,512); w=(0:255)/256*(Fs/2); plot(w,abs(S(1:256),SF(1:256);title(滤波前、后的幅频图);

60、set(gcf,color,white);xlabel(Frequency(Hz);ylabel(Mag.of frequency response);grid;legend(滤波前的幅频,滤波后的幅频);精选优质文档-倾情为你奉上专心-专注-专业(5) 绘制滤波前的 150Hz 信号波形和滤波器好保留下的 150Hz 信号波形进行比较(如图3-10 所示)subplot(211)plot(t,s2);title(滤波前的 150Hz 信号的波形);set(gcf,color,white);xlabel(Time(seconds);ylabel(Time waveform);axis(0 1 -1 1);ho

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论