毕业论文-基于MATLAB的IIR数字滤波器的设计与实现10631.doc

上传人:韩长文 文档编号:3940807 上传时间:2019-10-10 格式:DOC 页数:56 大小:475.52KB
返回 下载 相关 举报
毕业论文-基于MATLAB的IIR数字滤波器的设计与实现10631.doc_第1页
第1页 / 共56页
毕业论文-基于MATLAB的IIR数字滤波器的设计与实现10631.doc_第2页
第2页 / 共56页
毕业论文-基于MATLAB的IIR数字滤波器的设计与实现10631.doc_第3页
第3页 / 共56页
毕业论文-基于MATLAB的IIR数字滤波器的设计与实现10631.doc_第4页
第4页 / 共56页
毕业论文-基于MATLAB的IIR数字滤波器的设计与实现10631.doc_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《毕业论文-基于MATLAB的IIR数字滤波器的设计与实现10631.doc》由会员分享,可在线阅读,更多相关《毕业论文-基于MATLAB的IIR数字滤波器的设计与实现10631.doc(56页珍藏版)》请在三一文库上搜索。

1、长春工程学院毕业设计(论文) I 1 1 绪论绪论 1 1.1 课题分析 1 1.2 数字滤波器在国内外发展概况 1 1.3 MATLAB 简介2 1.4 数字信号处理(DSP)器简介 3 1.5 DSP 芯片开发工具.4 2 IIR 数字滤波器设计的方案选择及原理分析.9 2.1 总体方案比较 9 2.2 IIR 滤波器的基本原理.9 2.3 IIR 数字滤波器的设计方法11 3 IIR 滤波器的 MATLAB 设计与仿真.15 3.1 FDATOOL界面设计.15 3.2 程序设计 .18 3.3 IIR 数字滤波器的仿真20 4 IIR 滤波器在 DSP 上的实现30 4.1 IIR 数

2、字滤波器在 DSP 上的实现步骤和条件30 4.2 IIR 数字滤波器在 TMS320VC5416 DSP 上的实现过程 .30 5 总结 .36 参考文献 37 致 谢 38 附录一:XP-IIR-AD.C .39 附录二:XP-IIR-AD.CMD .48 长春工程学院毕业设计(论文) 1 1 绪论 1.1 课题分析 在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号的处理和分析都 是基于滤波器而进行的。但是,传统数字滤波器的设计使用繁琐的公式计算,改变参数后需 要重新计算,从而在设计滤波器尤其是高阶滤波器时工作量很大。利用MATLAB信号处理箱 (Signal Process

3、ing Toolbox)可以快速有效地实现数字滤波器的设计与仿真。本课题正是 利用MATLAB软件进行IIR数字滤波器的设计并进行仿真,这使得滤波器的设计更加快速和有 效。 21 世纪是信息科学与技术的世纪, 其中, 数字信号处理技术(DSP) 已经成为当今一门 极其重要的学科。数字信号处理(DSP) 在通信, 语音, 图像, 自动控制, 雷达, 军事, 航空 航天, 医疗和家用电器等很多领域已经得到广泛的应用。10 近年来,在数字信号处理领域具有绝对优势的DSP技术得到了迅速发展,不仅应用于通信、 计算机领域,还逐渐渗透到其他科学研究领域。DSP应用得到普遍重视。数字信号处理器由于 运算速度

4、快,具有可编程特性和接口灵活的特点,使得它在许多电子产品的研制、开发与应 用中,发挥着越来越重要的作用。18采用DSP芯片实现数字信号处理系统更是当前的发展趋 势。因此本课题在MATLAB设计完成IIR滤波器的情况下,通过在CCS软件环境下进行编程,利 用TMS320C54x进行IIR滤波器的硬件实现。 1.2 数字滤波器在国内外发展概况 数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号, 实质上是一个由有限精度算法实现的线性时不变离散系统。它的基本工作原理是利用离散系 统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信 号分量通过,抑

5、制无用的信号分量输出。在近代电信设备和各类控制系统中,滤波器应用极 为广泛;在所有的电子部件中,使用最多,技术最为复杂的要算滤波器了。滤波器的优劣直 接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。1917 年美国和德国科 学家分别发明了 LC 滤波器,次年导致了美国第一个多路复用系统的出现。20 世纪 50 年代无 源滤波器日趋成熟。自 60 年代起由 于计算机技术、集成工艺和材料工业的发展,滤波器发 展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力, 其中小体积、多功能、高精度、稳定可靠成为 70 年代以后的主攻方向。导致 RC 有源滤波器、

6、长春工程学院毕业设计(论文) 2 数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到 70 年代后 期,上 述几种滤波器的单片集成已被研制出来并得到应用。80 年代,致力于各类新型滤波器的研究, 努力提高性能并逐渐扩大应用范围。90 年代至现在主要致力于把各类滤波器应用于各类产品 的开发和研制。当然,对滤波器本身的研究仍在不断进行。7 我国广泛使用滤波器是 50 年代后期的事,当时主要用于话路滤波和报路滤波。经过半 个世纪的发展,我国滤波器在研制、生产和应用等方面已纳入国际发展 步伐,但由于缺少 专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际 发

7、展有一段距离。 数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、 带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还 有滤波精度高(与系统字长有关)、稳定性好(仅运行 0 与 1 两个电平状态)、灵活性强等优点。 数字滤波器按单位脉冲响应的性质可分为无限长单位脉冲响应滤波器 IIR 和有限长单位脉冲 响应滤波器(FIR)两种。IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配,所以 IIR 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。其设计方法主要 有经典设计法、直接设计法和最大平滑滤波器设计法。FIR 数

8、字滤波器的单位脉冲响应是有 限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设 计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等2。 目前数字滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率较低, 不具有可视图形,不便于修改参数等缺点,而 MATLAB 为数字滤波的研究和应用提供了一个 直观、高效、便捷的利器。他以矩阵运算为基础,把计算、可视化、程序设计融合到了一个 交互式的工作环境中。尤其是 MATLAB 工具箱使各个领域的研究人员可以直观方便地进行科 学研究与工程应用。其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤 波研究的蓬

9、勃发展提供了可能。 1.3 MATLAB 简介 MATLAB 是由美国 MathWorks 公司推出的用于数值计算和图形处理计算系统环境,除了具 备卓越的数值计算能力外,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和 实时控制等功能。8MATLAB 的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的 形式十分相似,故用 MATLAB 来解算问题要比用 C、FORTRAN 等语言简捷得多。MATLAB 将矩阵 长春工程学院毕业设计(论文) 3 运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程 问题的分析计算和程序设计工具,它还提供了专业水平的符号计

10、算、文字处理、可视化建模 仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。 MATLAB 是英文 MATrix LABoratory(矩阵实验室)的缩写。概括地讲,整个 MATLAB 系统 由两部分组成,即 MATLAB 内核及辅助工具箱,两者的调用构成了 MATLAB 的强大功能。 MATLAB 语言以数组为基本数据单位,包括控制流语句,函数,数据结构,输入输出及面向对 象等特点的高级语言,它具有以下主要特点:8 (1) 运算符和库函数极其丰富,语言简洁,编程效率高,MATLAB 除了提供和 C 语言一样 的运算符号外,还提供广泛的矩阵和向量运算符。利用其运算符号和库函数

11、可使其程序相当 简短,两三行语句就可实现几十行甚至几百行 C 或 FORTRAN 的程序功能。 (2) 既具有结构化的控制语句(如 for 循环,while 循环,break 语句,if 语句和 switch 语句),又有面向对象的编程特性。 (3) 图形功能强大。它既包括对二维和三维数据可视化,图像处理,动画制作等高层次 的绘图命令,也包括可以修改图形及编制完整图形界面的,低层次的绘图命令。 (4)功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。功能性工具 箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互的 功能。而学科性工具箱是专业性比较强的,

12、如优化工具箱,统计工具箱,控制工具箱,小波 工具箱,图象处理工具箱,通信工具箱等。 (5)易于扩充。除内部函数外,所有 MATLAB 的核心文件和工具箱文件都是可读可改的源 文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用。 MATLAB 已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国 家的高校,MATLAB 已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分 析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌 握的基本技能。在设计研究单位和工业开发部门,MATLAB 被广泛的应用于研究和解决各种具 体问题。在

13、中国,MATLAB 也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或 工程领域都可以从 MATLAB 中找到合适的功能。 1.4 数字信号处理(DSP)器简介 21 世纪是数字化的时代,随着越来越多的电子产品将数字信号处理作为技术核心,DSP 长春工程学院毕业设计(论文) 4 已经成为推动数字化进程的动力。作为数字化重重要的技术之一,DSP 无论在其应用的深度 还是广度,正在以前所未有的速度向前发展。 数字信号处理器,也称 DSP 芯片,是针对数字信号处理需要而设计的一种具有特殊结构 的微处理器,它是现代电子技术、计算机技术和信号处理技术相结合的产物。数字信号处理 器由于运算速度快,

14、具有可编程特性和接口灵活的特点,使得它在许多电子产品的研制、开 发和应用中,发挥着越来越重要的作用。采用 DSP 芯片来实现数字信号处理系统更是当前的 发展趋势。 目前,DSP 芯片的发展非常迅速,硬件结构方面主要是向多处理器的并行处理结构、便 于外部数据交换的串行总线传输、大容量片上 RAM 和 ROM、程序加密、增加 I/O 驱动能力、 外围电路内装化、低功耗等方面发展。软件方面主要是综合开发平台的完善,使 DSP 的应用 开发更加灵活方便。 DSP 除了具备普通微处理器所强调的高速运算和控制能力外,针对实时数字信号处理的 特点,在处理器的结构、指令系统、指令流程上做了很大的改进,其主要特

15、点如下:10 (1) 采用哈佛结构。DSP 芯片普遍采用数据总线和程序总线分离的哈佛结构或改进的哈 佛结构,比传统处理器的冯. . 诺依曼结构有更快的指令执行速度。 (2) 采用多总线结构。DSP 芯片都采用多总线结构,可同时进行取指令和多个数据存取 操作,并由辅助寄存器自动增减地址进行寻址,使 CPU 在一个机器周期内可多次对程序空间 和数据空间进行访问,大大提高了 DSP 的运行速度。 (3) 采用流水线技术。利用流水线结构,加上执行重复操作,就能保证在单指令周期 内完成数字信号处理中用得最多的乘法累加运算。 (4) 有专用的硬件乘法累加器。 (5) 有特殊的 DSP 指令。 (6) 快速

16、的指令周期。 (7) 硬件配置强。 (8) 支持多处理器结构。 (9) 省电管理和低功耗。 1.5 DSP 芯片开发工具 可编程 DSP 芯片的开发需要一整套完整的软硬件开发工具。通常,DSP 芯片的开发工具 长春工程学院毕业设计(论文) 5 可以分成代码生成工具和代码调试工具。代码生产工具的作用是将用 C 或汇编语言编写的 DSP 程序编译汇编并链接成为可执行的 DSP 程序;代码调试工具的作用则是对 DSP 程序及系 统进行调试,使之能够达到设计目标。代码生产工具是指将用高级语言、汇编语言或两种语 言混合编写的 DSP 程序转换为可执行的 DSP 芯片目标代码的工具程序,主要包括汇编器和链

17、 接器、C 编译器。此外还有一些辅助工具程序,如文件格式转换程序、库生产程序和文档管 理程序等。归纳一下,代码生成工具程序主要包括一下几种类型的程序19: C 编译器; 汇编器和链接器; 辅助程序,如文档管理程序和代码格式转换程序等; 库文件; RTS 头文件; 开发 DSP 芯片,调试工具是必不可少的,TMS320 系列 DSP 芯片的系统集成和调试工具主 要有: C/汇编语言源码调试器; 初学者工具 DSK; 软件模拟器(Simulator); 评价模块 EVM; 软件开发系统 SWDS; 仿真器 XDS; (1) C/汇编语言源码调试器 C/汇编语言源码调试器是一种工作在 PC 机上的先

18、进的软件接口,它与调试工具(如软 件模拟器、评价模块、软件开发系统、仿真器)混合使用,调试器可以完全控制用 C 语言或 汇编语言编写的程序。用户程序既可以用 C 语言调试,也可以用汇编语言调试,还可以进行 C 语言和汇编语言的混合调试,调试器提供了非常友好的用户界面,面向窗口,支持鼠标和 菜单式的接口使用户不必记忆复杂的指令,使用十分方便。 (2) 初学者工具 DSK 初学者工具 DSK 是 RTI 公司提供给初学者进行 DSP 编程练习的一套廉价的实时软件调试 工具。DSK 板上除了有一片 DSP 芯片之外,还提供了可用于声音输入和输出接口的 A/D、D/A 长春工程学院毕业设计(论文) 6

19、 接口芯片,它可以与 PC 机通信,在 PC 机上汇编后的程序可以通过串行或并行接口下载到 DSP 芯片的内部 RAM 执行。此外,DSK 板上还将 DSP 芯片的地址和数据总线引出,便于用户 对 DSK 板进行存储器等硬件资源的扩充,并在 DSK 硬件的基础上形成用户独立的 DSP 系统。 (3) 软件模拟器 软件模拟器是一种模拟 DSP 芯片各种功能并在非实时条件下进行软件测试的一种调试工 具。它不需要目标硬件支持,只需要在计算机上运行,是一种廉价、方便的调试工具。当然 由于 DSP 芯片用软件模拟器实现,运行速度是软件模拟器的一个突出的缺点,软件模拟器 DSP 芯片的 I/O 时采用与文

20、件关联的方法来实现,因而调试中所需的 I/O 可从文件中读取, 输出到 I/O 口的值也可以存储在文件中。软件模拟器的主要特征有:在计算机上执行用户 DSP 程序;可修改和查看寄存器;可修改和显示数据和程序寄存器,任何时候可进行存储器 的修改,也可在程序输入前进行存储器的初始化;可模拟外设,高速缓存及流水线、定时等 功能;可计算指令周期数;可编程的断点设置;可在取指令读写存储器及错误条件满足时设 置断点;可进行累加器程序计算器,辅助寄存器的跟踪,指令的单步执行,用户可设定中断 产生间隔,在遇到非法操作码和无效数据访问时提示错误信息;从文件中执行命令。 (4) 评价模块 EVM 评价模块 EVM

21、 是一种低成本的开发板,在 EVM 板上配置了数量的硬件资源,可用来进行 DSP 芯片评价、性能评估和有限的系统调试。调试接口也采用上述的 C/汇编源代码测试器。 一般 EVM 开发板上提供的硬件资源包括电源接口、外设接口、辅助接口等。 (5) 软件开发系统 SWDS 软件开发系统 SWDS 是一块 PC 插卡,可提供低成本的评价和实时软件开发。可用来进行 实时的软件调试,程序在 DSP 芯片上实时运行,与仿真器不同的是软件开发系统不提供实时 硬件调试功能,因此,涉及目标 I/O 操作一般用文件 I/O 代替。 (6) 仿真器 XDS 仿真器 XDS 即扩展开发系统,可用来进行系统级的集成调试

22、,是进行 DSP 芯片软件开发 的最佳工具。目前主要有两种类型的仿真器:一种是传统的电路仿真器,主要用于早期的 TMS320C1x 及 TMS320C2x 两代 DSP 芯片的仿真;另一种是先进的扫描仿真器,主要用于 TMD320C3x 及 TMS320C2xx/C5x、TMS320C54x/C55x、TMS320C6000 等 DSP 芯片的仿真,在这些 DSP 芯片上提供了用于仿真的一些信号线,采用传统的电路仿真器对用户板进行硬件仿真时, 长春工程学院毕业设计(论文) 7 仿真器的电缆插头必须插入到用户硬件电路中 DSP 芯片的相应位置,也就是说,仿真电缆的 插头端子必须与 DSP 芯片的

23、端子一一对应。TI 的 XDS/22 仿真器就属于这一类,主要用于 TMS320C1x 及 TMS320C2x 等芯片的仿真。扫描仿真器不采用插入仿真的方法,而是通过 DSP 芯片上提供的几个仿真端子实现仿真功能,这种方法为 TI 公司所开发,可用来解决高速 DSP 芯片的仿真。由于高速 DSP 芯片具有高度并行的结构,快速的指令周期,高密度的封装等特 点,采用传统的电路仿真方法很难实现可靠的仿真。扫描仿真消除了传统的电路仿真存在的 问题,例如,仿真电缆过长会引起信号失真,仿真插头会引起可靠性差等。用户程序可在目 标系统的片内或片外存储器实时运行,而不会因仿真器引入额外的等待状态。DSP 芯片

24、内部 是通过移位寄存器扫描链实现扫描仿真,这个扫描仿真被外部的穿行口访问。采用扫描仿真, 即使芯片已经焊在电路板上也可以进行仿真调试,这对于在生产过程中调试 DSP 系统带来了 极大的方便。 集成开发环境 CCS(Code Composer Studio)是一种针对 TMS320 系列 DSP 的集成开发环 境,在 Windows 操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、 跟踪和分析等工具,可以帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分 析等工作。12 CCS 有两种工作模式,即软件仿真器和硬件在线编程。软件仿真器工作模式可以脱离 DSP 芯片,在 P

25、C 上模拟 DSP 的指令集和工作机制,主要用于前期算法实现和调试。硬件在线 编程可以实时运行在 DSP 芯片上,与硬件开发板相结合进行在线编程和调试应用程序。CCS 的主要功能如下10: (1) 具有可视化代码编辑界面,用户可以通过其界面直接编写 C 语言程序、汇编语言 程序、.cmd 文件等. (2) 含有集成代码生成工具,包括汇编器、优化 C 编译器、连接器等,将代码的编辑、 编译、链接和调试等诸多功能集成到一个软件环境中。 (3) 高性能的编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发 现语法错误。 (4) 工程项目管理工具对用户程序实行项目管理。在生成目标程序和程序库

26、的工程中, 建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理。 (5) 基本调试工具具有装入执行代码(.out 文件)、查看寄存器、存储器、反汇编、 长春工程学院毕业设计(论文) 8 变量窗口等功能,并支持 C 源代码级调试。 (6) 断点工具,能在调试程序的工程中,完成硬件断点、软件断点和条件断点的设置。 (7) 探测点工具,可用于算法的仿真、数据的实时监视等。 (8) 分析工具,包括模拟器分析和仿真器分析,可用于模拟和监视硬件的功能、评价 代码执行的时钟。 (9) 数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼 图、星座图、图像等,并能进行自动刷新。

27、(10)提供 GEL 工具。利用 GEL 扩展语言,用户可以编写自己的控制面板/菜单,设置 GEL 菜单选项,可方便直观地修改变量和配置参数等。 (11)支持 DSP 的调试。 (12)支持 RTDX 技术,可在不中断目标系统运行的情况下,实现 DSP 与其他应用程序 (OLE)的数据交换。 (13)提供 DSP/BIOS 工具,增强对代码的实时分析能力,如分析代码执行的速度、调度 程序执行的优先级、方便管理或使用系统资源,从而减少开发人员对硬件资源熟悉程度的依 赖性。 CCS 集成开发环境打开界面如图 1-1 所示,该环境中有 12 项菜单,这些菜单中能完成 所有功能。 图 1-1 CCS

28、集成开发环境界面 长春工程学院毕业设计(论文) 9 2 IIR 数字滤波器设计的方案选择及原理分析 2.1 总体方案比较 基于 MATLAB 的 IIR 数字滤波器的设计方案如下: 方案一:程序设计法。MATLAB 信号处理工具箱提供了几个直接设计 IIR 数字滤波器的函 数,直接调用就可以设计滤波器,这为设计通用滤波器提供了方便。 方案二:FDATool 界面设计。FDATool(Filter Design离散化处理函数有 bilinear 和 impinvar。 方案四:直接设计法。直接设计方法的思想是基于给定的滤波器参数直接在离散域上寻 找合适的数字滤波器,他不限于常规的滤波器类型,如低

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

30、函数有 invfreqs 和 invfreqz。 比较上述方案,在该课题里,我将采用方案一设计一个低通滤波器,采用方案二设计一 个带阻滤波器。 2.2 IIR 滤波器的基本原理 2.2.1 IIR 和 FIR 的性能对比 1. FIR 滤波器的一个重要特点就是能够提供准确的线性相位1, 所以在对相位要求较严 格的地方, FIR 占据了统治地位, 但是严格的线性相位的IIR 滤波器也已经被提出, 只是其 阶数比普通IIR 滤波器要提高一倍, 其基本思路如下: 长春工程学院毕业设计(论文) 10 采用双重滤波(double filtering)技术, 将信号一次通过两个滤波器, 第二个滤波器恰好对

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

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

33、R 滤波器中比在FIR 中更加严重。为了解决这个问题,Artur Krukowski 对相同传递函数, 不同内部结构的全通IIR 滤波器基本单元的量化效应和其他一些特性作了 研究,得到了各种结构的特点, 可以根据应用的需要选择不同的结构,来达到特定的指标要 求,从而发挥出IIR 滤波器的最大优势。 2.2.2 IIR 滤波器的差分表示 数字滤波器一般都具有差分方程形式 01 MN mn mn y na x kmb y kn (3) 其中,x( n)为输入序列,y( n)为输出序列, m a 和 n b为滤波系数, N 是滤波器的阶数。 当 k b为零,则有 长春工程学院毕业设计(论文) 11

34、0 M m m y na x km (4) 其中,式(3)为IIR滤波器,式(4)为FIR滤波器。 2.2.3 IIR 滤波器的传递函数 求 IIR 滤波器的传递函数 H(z)时,应把差分方程【式(3)】的两边加以 Z 变换,得出: 01 MN mn mn mn YZXZa ZYZb Z (5) 式中x(Z)、Y(Z)分别表示输入信号与输出信号的Z变换。由此,按下述求出传递函数: 0 1 M m m m N n n n a Z YZA Z HZ XZB Z b Z (6) 式中各变量为: (1)系数 m a , n b:称为抽头系数或滤波器系数,是决定滤波器特性的数值; (2)M: 滤波器的分

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

36、成数字低通滤波器的系统函数 H(Z)。这样设计的关键问题就是 找这种转换关系,将 S 平面上的 G(S)转换成 Z 平面上的 H(Z)。为了保证转换后的 H(Z)稳定 且满足技术要求,对转换关系提出两点要求: (1) 因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。 (2) 数字滤波器的频率响应模仿模拟滤波器的频响,S 平面的虚轴映射 Z 平面的单位圆, 长春工程学院毕业设计(论文) 12 相应的频率之间成线性关系。 将传输函数 G(S)从 S 平面转换到 Z 平面的方法用多种,但工程上常用的是标准 Z 变换和 双一阶 Z 变换。 2.3.1 SZ 变换的概述 SZ变换是一种对模拟滤波器

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

38、应g(t)的采样值等于所设计的数 字滤波器的冲激响应h(k),亦即使 |0,1,2,. tkT h kg tk (7) 今设模拟滤波器的传递函数G(S)由下式表达: 1 N n n n A G S SS (8) 通过对式(8)进行拉普拉斯变换反演计算,可得此滤波器的冲激响应为 1 n K s t n n g tA e (9) 代入(7)式后成为 1 | n N S kT tkTn n g kg tA e (10) 至此,如果再计算模拟滤波器的冲激响应序列g(k)的Z变换,就显然与数字滤波器的传 递函数H(Z)相一致。亦即得到 长春工程学院毕业设计(论文) 13 1 00110 nn NN k

39、S kTS Tkk nn kknnk H Zg k ZA eZAeZ (11) 此无限等比级数可改写为 1 11 n N n S kT n A H Z eZ (12) 在这里把式(12)看作是由S域向Z域的变换,就导出了 ST Ze的关系(称为标准Z变换)。 2.3.3 双一阶 Z 变换(即双线性变化) 这种变换也称梯形积分法,目的在于克服标准 Z 变换不适应设计产生混叠误差、频带未 受限制的滤波器这一缺点。 今把由下述 SZ 变换式 1 1 2 1 1 Z S TZ A (13) 所示的 S 值代入模拟滤波器的传递函数 G(S)中去,就得到传递函数为 1 1 2 1 1 | Z S TZ H

40、ZG S A (14) 的数字滤波器。通过简单的考察可知,双一阶 Z 变换是把整个 S 平面映射到 Z 平面的单 位圆内,不存在混叠现象,只要模拟滤波器是稳定的,那么数字滤波器就也是稳定的。但它 们的冲激响应与频率特性切不是一样的。 把式(14)中的 S 代以 A jw、Z 代以 D iw T e,用 A Gjw表示模拟滤波器 G(S)的频率 特性、 D iw T H e表示数字滤波器 H(Z)的频率特性,则(14)式可以写成 /2/2 /2/2 2 12 1 DDD DDD jw Tiw Tiw T A jw Tiw Tiw T eee jw TeT ee AA (15) 用欧拉公式得出模拟

41、角频率 A w与数字角频率 D w的关系为 2 tan 2 D A w T w T (16) 长春工程学院毕业设计(论文) 14 式(16)表示了 A w与 D w之间的畸变亦即变形。这就是说,双一阶 Z 变换是给频率特性带来畸 变的,它把模拟滤波器的角频率0 A w 凝聚成为数字滤波器的角频率0/ D wT。 因此,在利用双一阶 Z 变换进行设计的场合,当确定模拟滤波器的指标参数时,必须把式 (16)加给数字滤波器角频率的畸变考虑进来。这称为预变形。 2.3.4 利用模拟滤波器设计 IIR 滤波器的步骤 (1) 将给定的数字滤波器的性能指标,按某一变换(映射)规则转换成相应的模拟滤波器 性能

42、指标。 (2) 如果要设计的不是数字滤波器,则还需要将步骤(1)中变换所得到相应的(高通,带通, 带阻)模拟滤波器性能指标变换成模拟滤波器的性能指标。这是因为模拟滤波器才有图形和 表格可以利用。 (3) 用所得到的模拟低通滤波器的性能指标,利用某种模拟滤波器逼近方法,设计并查表 求得此模拟低通滤波器的系统函数,以它作为设计数字滤波器的“样本”。 (4) 利用与步骤(1),(2) 中的同一变换规则,将此作为“样本”的模拟原型低通滤波器 的系统函数最终变换成所需的数字各型滤波器的系统函数H (z)。 步骤(1)中的变换规则就是从模拟滤波器数字化成为数字滤波器的方法,也就是要把s 平 面映射到z平面

43、,使模拟系统函数Ha(s)变换成所需的数字滤波器的系统函数H(z)。这种由复 变量s到复变量z之间的映射(变换)关系,必须满足以下两条基本要求: 第一,H(z)的频率响应 必须有可能模仿Ha(s)的频率响应,即s平面的虚轴必须映射到z平面的单位圆上,也就是频率 轴要对应。第二,因果稳定的Ha(s)应能映射成因果稳定的H(z)。也就是s平面的左半平面Re s 70KHz。在 CCS2.0 环境下,加载“Exp-IIR- AD.out”,在中程序 flag=0 处设置断点,单击“Run”运行程序,程序将运行至断点处停止。 用 View/Graph/Time/Frequency 打开一个图形观察窗口

44、(如图 4-3 所示);采用双综观 察在起始地址分别为 x 和 y,长度为 256 的单元中数值的变化,数值类型为 32 位浮点型变量, 这两个数组分别存放的是经 A/D 转换的混叠信号和对该信号进行 IIR 低通滤波后的输出信号 (如图 4-4 所示)。 长春工程学院毕业设计(论文) 35 图 4-3 图形编辑窗口 图 4-4 滤波前、后信号的波形 长春工程学院毕业设计(论文) 36 5 总结 通过对数字滤波器的理论研究、MATLAB 软件在数字信号处理的研究、对 DSP 技术的学习 和研究,本课题最终完成的主要成果具体如下: 1、研究了数字滤波器的理论知识,为系统整体设计奠定了理论基础。

45、2、经过长时间摸索学会了 MATLAB 软件在数字信号处理,尤其是 IIR 数字滤波器处理中 的应用,并利用所学完成了一个低通 IIR 数字滤波器和一个带通 IIR 数字滤波器的设计和仿 真。 3、研究了 TI 公司 TMS320VC5416 数字信号处理器的内部结构及片上资源,以及 TI 公司 DSP 系统开发工具的应用,结合平时积累的系统程序调试经验,利用实验室的现有资源对一 个 IIR 低通滤波器的设计实例进行了长时间的调试,使得软件程序能在硬件平台上得以稳定 的运行。 由于本人的时间和能力有限,文中难免有不足之处,诚恳希望各位老师批评指正。 长春工程学院毕业设计(论文) 37 参考文献

46、 1 王世一,数字信号处理,北京:北京理工大学出版社,1997 年 12 月第二版 2 丁玉美,高西全,数字信号处理,西安:西安电子科技大学出版社,2000.12 3 汪安民,TMS320C54XX DSP 实用技术,北京:清华大学出版社,2002.5 4 程佩青,数字信号处理教程,北京:清华大学出版社,2001.8 5 胡广书,数字信号处理、理论、算法与实现,北京:清华大学出版社,1997 6 蒋志凯,数字滤波器与卡尔曼滤波,北京:中国科学技术出版社,1993 7 楼顺天,李博菡,基于 MATLAB 的系统分析与设计-信号处理,西安:西安电子科技大学出版社,1998 8 李海涛,邓樱,MAT

47、LAB 程序设计课程,北京:高等教育出版社,2002.8 9 郭仕剑,王宝顺,贺志国,杨可心等,MATLAB7.x 数字信号处理,北京:人民邮电出版社,2006.12 10 邹彦,DSP 原理与应用,北京:电子工业出版社,2005.1 11 常华,袁刚,常敏嘉,仿真软件教程-Multisim 和 MATLAB,北京:清华大学出版社,2006.11 12 彭启宗,管庆等,DSP 集成开发环境CCS 及 DSP/BIOS 的原理与应用,北京:电子工业出版社,2004.7 13 戴明祯,周建江,TMs320C54xDSP 结构、原理及应用,北京:北京航空航天大学出版社,2002.3 14 刘敏等,M

48、ATLAB 通信仿真与应用,北京:北京国防 t 业出版社,2001 15 张志涌,精通 MATLAB,北京:北京航空航天大学出版社,2000 16 陈桂明,应用 MATLAB 语言处理数字信号与数字图象,北京:科学出版社,2000 17 管致中,夏恭格,信号与线性系统,北京:高等教育出版社,1992 年 10 月第三版 18 李昌立,李双田,DSP 的发展概况和应用前景,中兴新通信,1998.1 19 刘和平,TMS320LF240x DSP C 语言开发应用,北京:北京航空航天大学出版社,2003 长春工程学院毕业设计(论文) 38 致 谢 近四年的大学生活即将结束,在此期间得到了很多老师和同学的关心与支持,借此机会 向所有他们表示忠心的感谢! 谨向长春工程学院电子信号工程系教研室在我攻读大学学习期间给予我帮助和关怀

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

当前位置:首页 > 其他


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