口等。
(5) 软件开发系统SWDS
软件开发系统SWDS是一块PC插卡,可提供低成本的评价和实时软件开发。可用来进行实时的软件调试,程序在DSP芯片上实时运行,与仿真器不同的是软件开发系统不提供实时硬件调试功能,因此,涉及目标I/O操作一般用文件I/O代替。
(6) 仿真器XDS
仿真器XDS即扩展开发系统,可用来进行系统级的集成调试,是进行DSP芯片软件开发的最佳工具。目前主要有两种类型的仿真器:一种是传统的电路仿真器,主要用于早期的TMS320C1x及TMS320C2x两代DSP芯片的仿真;另一种是先进的扫描仿真器,主要用于TMD320C3x及TMS320C2xx/C5x、TMS320C54x/C55x、TMS320C6000等DSP芯片的仿真,在这些DSP芯片上提供了用于仿真的一些信号线,采用传统的电路仿真器对用户板进行硬件仿真时,仿真器的电缆插头必须插入到用户硬件电路中DSP芯片的相应位置,也就是说,仿真电缆的插头端子必须与DSP芯片的端子一一对应。TI的XDS/22仿真器就属于这一类,主要用于TMS320C1x及TMS320C2x等芯片的仿真。扫描仿真器不采用插入仿真的方法,而是通过DSP芯片上提供的几个仿真端子实现仿真功能,这种方法为TI公司所开发,可用来解决高速DSP芯片的仿真。由于高速DSP芯片具有高度并行的结构,快速的指令周期,高密度的封装等特点,采用传统的电路仿真方法很难实现可靠的仿真。扫描仿真消除了传统的电路仿真存在的问题,例如,仿真电缆过长会引起信号失真,仿真插头会引起可靠性差等。用户程序可在目标系统的片内或片外存储器实时运行,而不会因仿真器引入额外的等待状态。DSP芯片内部是通过移位寄存器扫描链实现扫描仿真,这个扫描仿真被外部的穿行口访问。采用扫
描仿真,即使芯片已经焊在电路板上也可以进行仿真调试,这对于在生产过程中调试DSP系统带来了极大的方便。
集成开发环境CCS(Code Composer Studio)是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪和分析等工具,可以帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。
[12]
CCS有两种工作模式,即软件仿真器和硬件在线编程。软件仿真器工作模式可以脱离DSP芯片,在PC上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。硬件在线编程可以实时运行在DSP芯片上,与硬件开发板相结合进行在线编程和调试应用程序。CCS的主要功能如下
[10]
:
(1) 具有可视化代码编辑界面,用户可以通过其界面直接编写C语言程序、汇编语言程序、.cmd文件等.
(2) 含有集成代码生成工具,包括汇编器、优化C编译器、连接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中。
(3) 高性能的编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误。
(4) 工程项目管理工具对用户程序实行项目管理。在生成目标程序和程序库的工程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理。 (5) 基本调试工具具有装入执行代码(.out文件)、查看寄存器、存储器、反汇编、变量窗口等功能,并支持C源代码级调试。
(6) 断点工具,能在调试程序的工程中,完成硬件断点、软件断点和条件断点
的设置。
(7) 探测点工具,可用于算法的仿真、数据的实时监视等。
(8) 分析工具,包括模拟器分析和仿真器分析,可用于模拟和监视硬件的功能、评价代码执行的时钟。
(9) 数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新。
(10)提供GEL工具。利用GEL扩展语言,用户可以编写自己的控制面板/菜单,设置GEL菜单选项,可方便直观地修改变量和配置参数等。 (11)支持DSP的调试。
(12)支持RTDX技术,可在不中断目标系统运行的情况下,实现DSP与其他应用程序(OLE)的数据交换。
(13)提供DSP/BIOS工具,增强对代码的实时分析能力,如分析代码执行的速度、调度程序执行的优先级、方便管理或使用系统资源,从而减少开发人员对硬件资源熟悉程度的依赖性。
CCS集成开发环境打开界面如图1-1所示,该环境中有12项菜单,这些菜单中能完成所有功能。
图1-1 CCS集成开发环境界面
2 IIR数字滤波器设计的方案选择及原理分析
2.1
总体方案比较
基于MATLAB的IIR数字滤波器的设计方案如下:
方案一:程序设计法。MATLAB信号处理工具箱提供了几个直接设计IIR数字滤
波器的函数,直接调用就可以设计滤波器,这为设计通用滤波器提供了方便。
方案二:FDATool界面设计。FDATool(Filter Design&Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具。FDATool可以设计几乎所有的常规滤波器,包括FIR和IIR的各种设计方法。它操作简单,方便灵活。
方案三:模拟原型法。采用经典低通滤波器作为连续域上的设计模型,通过频域变换得到IIR数字滤波器,最后还要进行离散化处理。MATLAB提供的低通模拟滤波器原型函数包括:besselap,buttap,cheb1lp,cheb2ap,ellipap;频域变换函数包括:lp2bp,lp2bs, lp2hp,lp2lp;离散化处理函数有bilinear和impinvar。
方案四:直接设计法。直接设计方法的思想是基于给定的滤波器参数直接在离散
域上寻找合适的数字滤波器,他不限于常规的滤波器类型,如低通、高通、带通和带阻等。这种方法甚至可以设计多带的频率响应,MATLAB提供yulewalk函数用于辅助设计。
方案五:通用Butterworth设计方法。使用这种方法设计的Butterworth数字滤波器可以有不同数目的零点和极点,MATLAB提供的maxflat函数实现了这一功能。这个函数与butter函数很相似,但他可以指定两个阶参数,其中归一化和非归一化各一个。如果这两个参数的值相同,那么他与butter函数的结果就是相同的。
方案六:参数建模法。寻找接近于所需要设计的滤波器的通用模型,时域上的建模函数为lpc,prony,Stmcb;频域上的建模函数有invfreqs和invfreqz。
比较上述方案,在该课题里,我将采用方案一设计一个低通滤波器,采用方案二设计一个带阻滤波器。 2.2
IIR滤波器的基本原理
2.2.1 IIR和FIR的性能对比
1. FIR 滤波器的一个重要特点就是能够提供准确的线性相位, 所以在对相位要求较严格的地方, FIR 占据了统治地位, 但是严格的线性相位的IIR 滤波器也已经被提出, 只是其阶数比普通IIR 滤波器要提高一倍, 其基本思路如下:
采用双重滤波(double filtering)技术, 将信号一次通过两个滤波器, 第二个滤波器恰好对第一个滤波器的相位特性起补偿作用, 它们两个的频率响应分别为: H1ei2?(1)
[1]
?f??M?f?e??if?,H2?ei2?f??M?f?e?j??f?