logo资料库

基于CCS的FIR数字滤波器的设计.doc

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
1引言
1.1 DSP微处理器芯片的主要特点:
1.2 DSP优点:
1.3 DSP缺点:
1.4 DSP技术的应用
1.5实现方法
1.6数字信号处理特点
2软件介绍
2.1 MATLAB软件
2.1.1 MATLAB软件介绍
2.1.2 MATLAB主要特点
2.1.3 MATLAB常用函数简介
2.2 CCS简介
2.2.1 CCS的开发系统主要由以下组件构成
2.2.2各部件的功能
2.2.3 CCS的主要功能
2.2.4 CCS文件名介绍
2.2.5使用CCS开发应用程序的一般步骤
3 FIR数字滤波器的设计原理
3.1 FIR滤波器的网络结构
3.2 FIR滤波器的设计
3.2.1 FIR滤波器的设计原理
3.2.2 FIR滤波器设计过程
3.2.3仿真结果
5总结
参考文献
附录
课程设计说明书 1 引言 数字信号处理(Digital Signal Processing,简称 DSP)是一门涉及许多学科而又广 泛应用于许多领域的新兴学科。20 世纪 60 年代以来,随着计算机和信息技术的飞 速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过 使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列 表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的 应用。德州仪器、Freescale 等半导体厂商在这一领域拥有很强的实力。 数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP) 和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、 设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无 法比拟的。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因 此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转 换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实 现的。 数字信号处理的核心算法是离散傅立叶变换(DFT),是 DFT 使信号在数字域和 频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从 理论走向实用的是快速傅立叶变换(FFT),FFT 的出现大大减少了 DFT 的运算量, 使实时的数字信号处理成为可能、极大促进了该学科的发展。 DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大 量信息的器件。其工作原理是接收模拟信号,转换为 0 或 1 的数字信号。再对数字 信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实 际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂 指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它 的强大数据处理能力和高运行速度,是最值得称道的两大特色。 1.1 DSP 微处理器芯片的主要特点: (1)在一个指令周期内可完成一次乘法和一次加法; (2)程序和数据空间分开,可以同时访问指令和数据; (3)片内具有快速 RAM,通常可通过独立的数据总线在两块中同时访问; (4)具有低开销或无开销循环及跳转的硬件支持; (5)快速的中断处理和硬件 I/O 支持; (6)具有在单周期内操作的多个硬件地址产生器; (7)可以并行执行多个操作; (8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。 1
课程设计说明书 1.2 DSP 优点: 对元件值的容限不敏感,受温度、环境等外部参与影响小; 容易实现集成; 可以分时复用,共享处理器; 方便调整处理器的系数实现自适应滤波; 可用于频率非常低的信号; 可实现模拟处理不能实现的功能:线性相位、多抽样率处理、级联、易于存储 等。 1.3 DSP 缺点: 需要模数转换; 受采样频率的限制,处理频率范围有限; 数字系统由耗电的有源器件构成,没有无源设备可靠。 但是其优点远远超过缺点。 1.4 DSP 技术的应用 语音处理:语音编码、语音合成、语音识别、语音增强、语音邮件、语音储存 等。 图像/图形:二维和三维图形处理、图像压缩与传输、图像识别、动画、机器人 视觉、多媒体、电子地图、图像增强等。 军事;保密通信、雷达处理、声呐处理、导航、全球定位、跳频电台、搜索和 反搜索等。 仪器仪表:频谱分析、函数发生、数据采集、地震处理等。 自动控制:控制、深空作业、自动驾驶、机器人控制、磁盘控制等。 医疗:助听、超声设备、诊断工具、病人监护、心电图等。 家用电器:数字音响、数字电视、可视电话、音乐合成、音调控制、玩具与游 戏等。 1.5 实现方法 1.在通用的计算机(如 PC 机)上用软件(如 Fortran、C 语言)实现;--速 度较慢,一般可用于 DSP 算法的模拟 2.在通用计算机系统中加上专用的加速处理机实现;--专用性强,不便于系 统的独立运行 3.用通用的单片机(如 MCS-51、96 系列等)实现。 这种方法可用于一些不太复杂的数字信号处理,如数字控制等;--只适用于 2
课程设计说明书 实现简单的 DSP 算法 4.用通用的可编程 DSP 芯片实现。 与单片机相比,DSP 芯片具有更加适合于数字信号处理的软件和硬件资源,可 用于复杂的数字信号处理算法;--应用较多 5.用专用的 DSP 芯片实现。 在一些特殊的场合,要求的信号处理速度极高,用通用 DSP 芯片很难实现,例 如专用于 FFT、数字滤波、卷积、相关等算法的 DSP 芯片,这种芯片将相应的信号 处理算法在芯片内部用硬件实现,无需进行编程。--专用性强 1.6 数字信号处理特点 精度高:在模拟系统的电路中,元器件精度要达到 10-3 以上已经不容易了,而 数字系统 17 位字长可以达到 10-5 的精度,这是很平常的。例如,基于离散傅里叶 变换的数字式频谱分析仪,其幅值精度和频率分辨率均远远高于模拟频谱分析仪。 灵活性强:数字信号处理采用了专用或通用的数字系统,其性能取决于运算程 序和乘法器的各系数,这些均存储在数字系统中,只要改变运算程序或系数,即可 改变系统的特性参数,比改变模拟系统方便得多。 可以实现模拟系统很难达到的指标或特性:例如:有限长单位脉冲响应数字滤 波器可以实现严格的线性相位;在数字信号处理中可以将信号存储起来,用延迟的 方法实现非因果系统,从而提高了系统的性能指标;数据压缩方法可以大大地减少 信息传输中的信道容量。 可以实现多维信号处理:利用庞大的存储单元,可以存储二维的图像信号或多 维的阵列信号,实现二维或多维的滤波及谱分析等。 3
课程设计说明书 2 软件介绍 2.1 MATLAB 软件 2.1.1 MATLAB 软件介绍 MATLAB 是“矩阵实验室”(MATrix LABoratoy)的缩写,是目前应用最为广 泛的一种集科学运算、程序设计、高质量的可视化与界面设计,以及便于与其他程 序和语言借口的软件。目前,MATLAB 已经成为自动控制、数字信号处理、动态系 统仿真等诸多学科极有效的工具。MATLAB 是美国 Math Works 公司推出的一种面 向工程和科学计算的交互式计算软件。它以矩阵运算为基础,把计算、可视化、程 序设计融合在一个简单易用的交互式工作环境中,是一款数据分析和处理功能都非 常强大的工程实用软件。Matlab 是一个交互式的系统,它的基本运算单元是不需指 定维数的矩阵,按照 IEEE 的数值计算标准(能正确处理无穷数 Inf(Infinity)、无定 NaN(not-a-number)及其运算)进行计算。系统提供了大量的矩阵及其它运算函数, 可以方便地进行一些很复杂的计算,而且运算效率极高。Matlab 命令和数学中的符 号、公式非常接近,可读性强,容易掌握,还可利用它所提供的编程语言进行编程 完成特定的工作。除基本部分外,Matlab 还根据各专门领域中的特殊需要提供了许 多可选的工具箱,如应用于自动控制领域的 Control System 工具箱和神经网络中 Neural Network 工具箱等。 2.1.2 MATLAB 主要特点 1.语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB 程序书写形式自 由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工 作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用 MATLAB 进行科技开发是站在专家的肩膀上。 2.运算符丰富。由于 MATLAB 是用 C 语言编写的,MATLAB 提供了和 C 语言 几乎一样多的运算符,灵活使用 MATLAB 的运算符将使程序变得极为简短。 3.MATLAB 既具有结构化的控制语句(如 for 循环,while 循环,break 语句和 if 语句),又有面向对象编程的特性。 4.程序限制不严格,程序设计自由度大。例如,在 MATLAB 里,用户无需对矩 阵预定义就可使用。 5.程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系 统上运行。 6.MATLAB 的图形功能强大。在 FORTRAN 和 C 语言里,绘图都很不容易,但 4
课程设计说明书 在 MATLAB 里,数据的可视化非常简单。MATLAB 还具有较强的编辑图形界面的 能力。 7.MATLAB 的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于 MATLAB 的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以 速度较慢。 8.功能强大的工具箱是 MATLAB 的另一特色。MATLAB 包 含两个部分:核心 部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两 类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充 其符号计算功能, 图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多 种 学 科 。 而 学 科 性 工 具 箱 是 专 业 性 比 较 强 的 ,control,toolbox,signl proceessing toolbox,commumnication toolbox 等。这些工具箱都是由该领域内学术水平很高的专 家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖 的研究。 9.源程序的开放性。开放性也许是 MATLAB 最受人们欢迎的特点。除内部函数 以外,所有 MATLAB 的核心文件和工具箱文件都是可读可改的源文件,用户可通 过对源文件的修改以及加入自己的文件构成新的工具箱。 2.1.3 MATLAB 常用函数简介 1.wavread 函数:[y,fs,bits]=wavread('Blip')用于读取语音,采样值放在向量 y 中, fs 表示采样频率(Hz),bits 表示采样位数。sound(x,fs,bits); 用于对声音的回放。向 量 y 则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一 个信号表达式一样处理这个声音信号。 2.FFT 函数:FFT 用于序列快速傅立叶变换。其调用格式为:y=fft(x)。其中,x 是序列,y 是序列的 FFT,x 可以为一向量或矩阵:若 x 为一向量,y 是 x 的 FFT, 且和 x 相同长度。若 x 为一矩阵,则 y 是对矩阵的每一列向量进行 FFT。 3.Fir1 函数:fir1 函数是基于窗函数的 FIR 滤波器设计——标准频率响应形状。 其调用格式为 b=fir1(N,we,’ftype’,window)。ftype 和 window 可以默认。b=fir1(N,wc) 可得到截止频率为 wc 且满足线性相位条件的 N 阶 FIR 低通滤波器,window 默认 选用 hamming 窗。其单位脉冲响应 h(n)为:h(n)=b(n+1),n=0,1,2,…,N。当 wc=[wc1,wc2] 时,得到的是通带为 wc1
课程设计说明书 复杂的“函数表达式”),也就是说可以像处理一个信号表达式一样处理这个声音信 号。 2.1.4 MATLAB 软件的优点 1.此高级语言可用于技术计算 2.此开发环境可对代码、文件和数据进行管理 3.交互式工具可以按迭代的方式探查、设计及求解问题 4.数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等 5.二维和三维图形函数可用于可视化数据 6.各种工具可用于构建自定义的图形用户界面 2.2 CCS 简介 DSP 开 发 工 具 CCS 具 有 较 完 善 的 软 件 和 硬 件 开 发 工 具 , 如 : 软 件 仿 真 器 Simulator、在线仿真器 Emulator、C 编译器和集成开发环境 CCS 等,给开发应用 带来很大方便。 CCS 是 TI 公司针对本公司的 DSP 产品开发的集成开发环境。它集成了代码的编 辑、编译、链接和调试等诸多功能,而且支持 C/C++和汇编的混合编程。开放式的 结构允许外扩用户自身的模块。它采用 Windows 风格界面,集编辑、编译、链接、 软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了 DSP 芯片的开发与 设计,是目前使用最为广泛的 DSP 开发软件之一。 CCS 是一种针对 TMS320 系列 DSP 的集成开发环境,在 Windows 操作系统下,采 用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。 CCS 有两种工作模式,即 软件仿真器模式:可以脱离 DSP 芯片,在 PC 机上模拟 DSP 的指令集和工作机 制,主要用于前期算法实现和调试。 硬件在线编程模式:可以实时运行在 DSP 芯片上,与硬件开发板相结合在线编 程和调试应用程序。 2.2.1 CCS 的开发系统主要由以下组件构成 ① TMS320C54x 集成代码产生工具; ② CCS 集成开发环境; ③ DSP/BIOS 实时内核插件及其应用程序接口 API; 6
课程设计说明书 ④ 实时数据交换的 RTDX 插件以及相应的程序接口 API; ⑤ 由 TI 公司以外的第三方提供的各种应用模块插件。 2.2.2 各部件的功能 ① TMS320C54x 集成代码产生工具 用来对 C 语言、汇编语言或混合语言编程的 DSP 源程序进行编译汇编,并链接 成为可执行的 DSP 程序。主要包括汇编器、链接器、C/C++编译器和建库工具等。 ② CCS 集成开发环境 集编辑、编译、链接、软件仿真、硬件调试和实时跟踪等功能于一体。包括编 辑工具、工程管理工具和调试工具等。 ③ DSP/BIOS 实时内核插件及其应用程序接口 API 主要为实时信号处理应用而设计。包括 DSP/BIOS 的配置工具、实时分析工具 等。 ④ 实时数据交换的 RTDX 插件和相应的程序接口 API 可对目标系统数据进行实时监视,实现 DSP 与其他应用程序的数据交换。 ⑤ 由 TI 公司以外的第三方提供的应用模块插件 2.2.3 CCS 的主要功能 CCS 的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能, 而且支持 C/C++和汇编的混合编程,其主要功能如下: ① 具有集成可视化代码编辑界面,用户可通过其界面直接编写 C、汇编、.cmd 文件等; ② 含有集成代码生成工具,包括汇编器、优化 C 编译器、链接器等,将代码 的编辑、编译、链接和调试等诸多功能集成到一个软件环境中; ③ 高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码, 发现语法错误; ④ 工程项目管理工具可对用户程序实行项目管理。在生成目标程序和程序库 的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理; ⑤ 基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗 口等功能,并支持 C 源代码级调试; ⑥ 断点工具,能在调试程序的过程中,完成硬件断点、软件断点和条件断点 的设置; ⑦ 探测点工具,可用于算法的仿真,数据的实时监视等; ⑧ 分析工具,包括模拟器和仿真器分析,可用于模拟和监视硬件的功能、评 7
课程设计说明书 价代码执行的时钟; ⑨ 数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波 形、眼图、星座图、图像等,并能进行自动刷新; ⑩ 提供 GEL 工具。利用 GEL 扩展语言,用户可以编写自己的控制面板/菜单, 设置 GEL 菜单选项,方便直观地修改变量,配置参数等; ⑪ 支持多 DSP 的调试; ⑫ 支持 RTDX 技术,可在不中断目标系统运行的情况下,实现 DSP 与其他应用 程序的数据交换; ⑬ 提供 DSP/BIOS 工具,增强对代码的实时分析能力。 2.2.4 CCS 文件名介绍 使用 CCS 软件所要用到的文件类型: ● *.cmd —— 链接命令文件; ● *.obj —— 由源文件编译或汇编后所生成的目标文件; ● *.out —— 完成编译、汇编、链接后所形成的可执行文件,可在 CCS 监控 下调试和执行; ● *.wks — 工作空间文件,可用来记录工作环境的设置信息; ● *.cdb — CCS 的配置数据库文件,是使用 DSP/BIOS API 模块所必须的。当 保存配置文件时,将产生链接器命令文件(*cfg.cmd)、头文件(*cfg.h54)和汇编语 言源文件(*cfg.s54)。 2.2.5 使用 CCS 开发应用程序的一般步骤 ① 打开或创建一个工程项目文件 ② 编辑各类文件 ③ 对工程项目进行编译 ④ 对结果和数据进行分析和算法评估利用 CCS 集成开发软件,用户可以在一 个开发环境下完成工程项目创建、程序编辑、编译、链接、调试和数据分析等工作 环节。 注:①文件包括源程序、目标文件、库文件、链接命令文件和包含文件。 ②可以使用 CCS 提供的集成编辑环境,对头文件、链接命令文件和源程序进行 编辑。 ③如出现语法错误,将在构建窗口中显示错误信息。用户可以根据显示的信息 定位错误位置,更改错误。 ④用户可以利用 CCS 提供的探测点、图形显示、性能评价等工具,对运行结果、 输出数据进行分析,评估算法性能。 8
分享到:
收藏