1、 现代信号处理课程设计 课程设计 报告 设计题目 基于 DSP 的无限冲击响应 滤波器 (IIR)系统设计 目录 第一章 绪论 . 1 II 1.1 设计背景 . 1 1.2 课程设计的目的和意义 . 1 1.3 设计要求 . 2 第二章 系统开发平台与环境 . 3 2.1 CCS 开发环境 . 3 2.2 ICETEKF2812-A 评估板 . 4 第三章 IIR 滤波器设计过程 . 6 3.1 IIR 滤波器设计的原理 . 6 3.1.1 数字滤波器的原理 . 6 3.1.2 低通 IIR 滤波器的系数确定 . 6 3.2 IIR 滤波器设计总框图 . 8 第四章 系统软件设计 . 9 4
2、.1 程序流程图 . 9 4.2 C 程序源代码 . 12 第五章 系统仿真 . 16 5.1 仿真过程 . 16 5.2 仿真结果 . 16 第六章 结果分析与心得体会 . 18 参考文献 . 19 1 第 一 章 绪论 1.1 设计 背景 在信号处理中,滤波占有十分重要的地位。数字滤波是数字信号处理的基本方法。数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求。 DSP( 数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选
3、用 TMS320F2812 作为 DSP 处理芯片,通过对其编程来实现 IIR 滤波器。 对数字滤波器而言 , 从实现方法上 , 有 FIR 滤波器和无限冲激响应 (IIR)滤波器之分。 IIR 滤波器的优点在于,其设计可以直接利用模拟滤波器设计的成果,因为模拟滤波器本身就是无限长冲激响应的。通常 IIR 滤波器设计的过程如下:首先根据滤波器参数要求设计对应的模拟滤波器(如 巴特沃斯滤波器 、 切比雪夫滤波器 等等),然后通过映射(如 脉冲响应不变法、双线性映射等等)将模拟滤波器变换为数字滤波器,从而决定 IIR 滤波器的参数。 IIR 滤波器的重大缺点在于,由于存在反馈其稳定性不能得到保证。
4、另外,反馈还使 IIR 滤波器的数字运算可能溢出。 FIR 滤波器最重要的优点就是由于不存在 系统极点 , FIR 滤波 器是绝对稳定的系统。 FIR 滤波器还确保了线性相位,这在信号处理中也非常重要。此外,由于不需要反馈, FIR 滤波器的实现也比 IIR 滤波器简单。 FIR 滤波器的缺点在于它的性能不如同样阶数的 IIR 滤波器 。 1.2 课程设计的目的和意义 本课程设计教学所要达到的目的是: 1. 掌握如何使用 DSP 仿真平台; 2 2. 掌握 DSP 内部结构和工作原理; 3. 熟悉 DSP 的指令系统; 4. 熟悉用 DSP 实现各种基本算法。 通过对课程设计任务的完成,使学生
5、理解课堂 教学的理论内容,并且能够掌握和熟悉 DSP 的开发流程和基本的编程方法 ,熟悉 DSP2812 系 列芯片,并利用CCS 的开发环境进行程序设计,完成相应功能 。同时,由于设计中涉及到各种器件的使用,可以起到综合运用各种技术和知识的作用。 此外学生的实验技能、动手能力、分析问题、解决问题的能力都将得到培养,为进一步进行工程实践奠定良好的基础。 1.3 设计 要求 根据要求设计低通 IIR 滤波器 要求:低通巴特沃斯滤波器在其通带边缘 1kHz 处的增益为 -3dB, 12kHz 处的阻带衰减为 30dB,采样频率 25kHz。 利用 C 语言在 CCS 环境中编写一个 IIR 滤波器
6、程序,并能利用已设计好的滤波器对常用信号进行 滤波处理。3 第 二 章 系统开发平台与环境 开发 TMS320C28xx 应用系统一般需要以下设备和软件调试工具: 1通用 PC 一台,安装 Windows9x 或 Windows2000 或 WindowsXP 操作系统及常用软件。 2 TMS320C28xx 评估板及相关电源。如: ICETEK F2812-A 评估板。 3通用 DSP 仿真器一台及相关连线。如: ICETEK-5100USB 仿真器。 4 控制对象 (选用 )。如: ICETEK-CTR 控制板(在 2812 实验箱中已包含)。 5 TI 的 DSP 开发集成环境 Code
7、 Composer Studio。如: CCS3. 3。 6仿真器驱动程序。(见配套光盘“开发系统驱动”目录中。) 7实验程序及文档。 2.1 CCS 开发环境 Code Composer Studio 包含一整套用于开发和调试嵌入式应用的工具。它包含适用于每个 TI 器件系列的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器以及多种其它功能。 CCS IDE 提供了单个用户界面,可帮助 用户完成应用开发流程的每个步骤。借助于精密的高效工具,用户能够利用熟悉的工具和 界面快速上手并将功能添加至他们的应用。 版本 4 之前的 CCS 均基于 Eclipse 开放源码软件框架。 Eclip
8、se 软件框架可用于多种不同的应用,但是它最初被开发为开放框架以用于创建开发工具。我们之所以选择让 CCS 基于 Eclipse ,是因为它为构建软件开发环境提供了出色的软件框架,并且正成为众多嵌入式软件供应商采用的标准框架。 CCS 将 Eclipse 软件框架的优点和德州仪器 (TI) 先进的嵌入式调试功能相结合,为嵌入式开发人员提供了一个引人注目、功能丰富的开发环境。 CCS 提供了配置、 建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。 4 CCS 提供了基本的代码生成工具,它们具有一系列的调试、分析能力。 CCS支持如下
9、图 2.1 所示的开发周期的所有阶段。 图 2.1 开发周期 2.2 ICETEKF2812-A 评估板 ICETEKF2812-A 嵌入式 DSP 开发板本着模块化、总线型、开放式、系列化的设计思想,采用统一的系统结构、模块结构和机械结构,以 TMS320F2812处理器构成的高性能嵌入式 DSP 开发板。 ICETEKF2812-A 嵌入式 DSP 开发板 原理框图如图 2.2 所示 : 图 2.2 ICETEK F2812-A 评估板原理框图 设计概念性规划编程和编译创建工程文件 、 编写源代码和配置文件调试语法检查 、 探测点设置和日志保存等分析实时调试 、 统计和跟踪5 ICETEK
10、 F2812-A 评估板 所有的寄存器和存储器全部映射在 XINTF ZONE 2 译码的空间内,占用 TMS320F2812A 芯片的 80000h-0FFFFFh 地址单元中。因此,如果用户需要使用 DSP 芯片的管脚外扩硬件设备的话,请避免使用这部分地址资源。 对于这部分地址单元,基本上分为两个部分,从 80000h 到 0BFFFFh 共 256K 的地址单元分配给片外 扩展存储器。这里有一个声明,一般来说,在出厂时,板上所连接的存储器一般为 64K 的存储器,因此这部分的实际有效内存是 80000h-8FFFFh。为了特殊的需求,这里最多可以扩展到 256K 的实际存储器。 从 C0
11、000h 到 FFFFFh 是外围其他设备的寄存器接口,这里包含一个 12 位的模数转换器 DAC7528,以及四位的状态显示数码管和四位可读入数字量的开关。 使用这些存储器的注意事项有: 1 存储器不能任意调整 2 保留区为今后的扩展做准备,用户应用不应该访问这些区域 3 启动代码和片外扩 展空间 7 依赖 MP/MC 引脚的状态来选择其中之一,不能同时映射到 DSP 的地址空间中 4 外设寄存器组 0、 1 和 2 仅仅作为数据存储器访问,不能作为程序存储器访问。 5 保护表示为了配合流水线的工作在读操作之后的写操作将会被妥善的处理, 6 一部分存储器被 EALLOW 保护,(参见 TMS
12、320F2812 数据手册)是不希望在初始化之后再次改变他们的值 7 片外空间 0 和 1, 6 和 7 共享相同的片选信号,因此,他们虽然地址不同,但却是相同存储器的镜像( mirrored locations) 。 6 第三章 IIR 滤波器设计 过程 3.1 IIR 滤波器设计的原理 3.1.1 数字滤波器的原理 由于 奈奎斯特采样定理 ( en:Nyquist sampling theorem),数字滤波器的处理能力受到系统采样频率的限制。如果输入信号的频率分量包含超过滤波器 1/2 采样频率 的分量时,数字滤波器因为数字系统的 混叠 而不能正常工作。如果超出1/2 采样频率的频率分量
13、不占主要地位,通常的解决办法是在 模数转换 电路之前放置一个低通滤波器(即抗混叠滤波器)将超过的高频成分滤除。否则就必须用模拟滤波器实现要求的功能。 线性移不变 的数字滤波器包括 无限长脉冲响应滤波器 ( IIR 滤波器)和 有限长脉冲响应滤波器 ( FIR 滤波器)两种。这两种滤波器的 系统函数 可以统一以 Z变换 表示为: 当 时, M 就是 IIR 滤波器的阶数,表示系统中反馈环的个数。由于反馈的存在, IIR 滤波器的脉冲响应为无限长,因此得名。若 A(z) = 1,则系统的脉冲响应的长度为 N+1,故而被称作 FIR 滤波器。 3.1.2 低通 IIR 滤波器 的系数确定 要求:低通
14、巴特沃斯滤波器在其通带边缘 1kHz 处的增益为 -3dB, 12kHz 处的阻带衰减为 30dB,采样频率 25kHz。设计: 1 确定待求通带边缘频率 fp1Hz、待求阻带边 缘频率 fs1Hz 和待求阻带衰减 -20log sdB。 模拟边缘频率为: fp1=1000Hz, fs1=12000Hz 阻带边缘衰减为: -20log s=30dB 7 2 用 =2 f/fs 把由 Hz 表示的待求边缘频率转换成弧度表示的数字频率,得到 p1 和 s1。 p1=2 fp1/fs=2 1000/25000=0.08弧度 s1=2 fs1/fs=2 12000/25000=0.96弧度 3 计算预
15、扭曲模拟频率以避免双线性变换带来的失真。 由 w=2fs tan( /2)求得 wp1 和 ws1,单位为弧度 /秒。 wp1=2fs tan( p1/2)=6316.5 弧度 /秒 ws1=2fs tan( s1/2)=794727.2 弧度 /秒 4 由已给定的阻带衰减 -20log s 确定阻带边缘增益 s。 因为 -20log s=30,所以 log s=-30/20, s=0.03162 5 计算所需滤波器的阶数: 因此,一阶巴特沃斯滤波器就足以满足要求。 6 一阶模拟巴特沃斯滤波器的传输函数为: H(s)=wp1/(s+wp1)=6316.5/(s+6316.5) 由双线性 变换定义 s=2fs(z-1)/(z+1)得到数字滤波器的传输函数为: 因此,差分方程为: yn=0.7757yn-1+0.1122xn+0.1122xn-1 8 3.2 IIR 滤波器设计总框图 IIR 滤波器设计总框图如图 3.1 所示 开 始初 始 化 D S P产 生 输 入 数 据读 入 新 数 据 并 存 放 到栈 顶滤 波 处 理保 存 滤 波 结 果 到 输 出 单元待 滤 波 的 样 本 点 数 处 理 完 成结 束否是图 3.1 IIR 滤波器设计总框图