FIR滤波器程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FIR滤波器程序设计
中文摘要
21世纪是数字化的时代,随着信息处理技术的飞速发展,DSP(数字信号处理器)技术逐渐发展成为一门主流技术,它在电子信息、通信、软件无线电、自动控制、仪表技术、信息家电等高科技领域得到了越来越广泛的应用。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用越来越广泛,工程上常用它来做信号处理、数据传送和抑制干扰等。。同时DSP的出现和迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。
本课题主要应用MATLAB软件设计FIR数字滤波器,并对所设计的滤波器进行仿真;应用DSP集成开发环境—CCS调试汇编程序,用TMS320C5402来实现了FIR数字滤波。具体工作包括:对FIR数字滤波器的基本理论进行了分析和探讨;采用MATLAB软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对FIR低通数字滤波器进行前期的设计和仿真;系统介绍了TI公司TMS320C54x系列数字信号处理器的硬件结构、性能特点和DSP的集成开发环境CCS;应用DSP集成开发环境—CCS调试汇编程序,用TMS320C5402来实现了FIR数字滤波。
关键词:频率抽样,FIR滤波器,Matlab,TMS320C5402,CCS,仿真
FIR滤波器程序设计
1设计任务和目的
1.1设计题目
FIR滤波器程序设计
1.2设计目的
1)掌握DSP编程的过程和指令的使用;
2)熟悉运用CCS集成开发环境进行仿真和TMS320C5402的基本功能和使用方法;
3)熟悉FIR滤波器的实现方法和设计过程。
2设计思路
DSP是一种实时、快速、特别适合于实现各种数字信号处理运算的微处理器。由于它由具有丰富的硬件资源、改进的哈佛结构、高速数据处理能力和强大的指令系统。
数字滤波器的设计可分为5个独立的阶段:滤波器技术规范、系数计算、实现结构、误差分析和滤波器实现。滤波器技术规范与应用有关,且应该包括振幅和相位特性的规范。
系数计算本质上就是求出满足所期望的规范的h(n)值。计算FIR滤波器系数最常用的方法有三种:窗口方法,频率抽样方法,最佳方法。窗口方法是最容易的,但是缺乏灵活性,特别是当通带波纹和阻带波纹不同时更是如此。频率抽样方法非常适合FIR滤波器的递归实现,频率抽样法也适合那些除了要求标准频率选择性滤波器(低通、高通、带通和带阻)之外的滤波器。最佳方法是最高效和灵活的一种设计方法。三中最常用的FIR滤波器结构是横向结构、频率抽样结构和快速卷积结构。横向结构包含一个使用滤波器系数的直接卷积;频率抽样结构直接同系数计算的频率抽样方法相联系。结构的选择与具体的应用有关。此处选择横向结构。
长字长的或者高阻带衰减的FIR滤波器的性能可能会受到有限字长的影响。例如,系数量化后他们的频率响应可能会发生变化。因而应当对这些滤波器的特性进行检查以确保允许的合适的字长。
在完成好前四步后,通常要考虑实现问题,以及考虑软件编程或选择结构的硬件实现。
而我们主要考虑软件的实现过程。
3 FIR滤波器设计步骤流程图
图2-1 FIR滤波器设计步骤流程图
FIR滤波器程序设计
4软件流程图
图4-1 qgf.asm程序流程
5设计部分
5.1硬件的整体设计和规划
CPU选择TI公司的16位定点DSP,具体型号为TMS320C5402是为实现低功耗、高性能而专门设计的定点DSP芯片,其主要应用时无限通信系统等。
TMS320C5x的主要特点包括:运算速度快,内部有一个算术逻辑单元,2个累加器、2个加法器、1个乘法器、1个桶形移位器、4条内部总线和2个地址产生器。内部还集成了维特比加速器,用于提高维特比编译码的速度。它是低功耗方式,可以在3.3V或2.7V电压下工作,3个低功耗方式可以节省DSP的功耗,TMS320C5402特别适合于无线移动设备。
5.2 FIR滤波器的特点
数字滤波器是由一系列滤波器系数定义的方程。这些方程构成数字滤波程序部分,滤波程序接收原始数据,并且输出滤波后的数据。这种程序的最大优点在于滤波器的再设计不需要硬件方面的更改,只要简单地改变滤波器的系数表即可完成滤波器特性的修改。数字滤波程序可在任何处理器上实现,但最有效的是在专门设计用来进行高速滤波或其他DSP处理的硬件上实现。DSP硬件可使非常复杂的任务在极短的时间内完成,因此它经常作为大计算量的系统核心。
DSP具的有较大灵活性,可以进行编程或再编程来执行许多功能而不需要修改硬件,这或许是DSP系统最主要的特征,同时拥有优良的性能,DSP可以执行许多模拟系统不可能完成的性能,例如可以实现线性相位响应,复杂的自适应滤波算法可以利用DSP技术来实现。
5.2 FIR滤波器的结构选择
首先对其结构进行选择,结构的选择取决于多种因素和折中考虑,其中包含实现的容易程度,也就是软件和硬件的复杂度,求冲击响应或传递函数系数的难易程度,以及它们对系数量化的相对敏感度。在实际中,系数描述的精度受限于所用处理器的字长。使用有限的位数来表示描述每个系数趋向于将零从期望的位置移出,这会导致频率响应上的偏差。响应中偏差的大小取决于位数和所用的结构。
横向结构非常易于编程,且可由大多数DSP芯片有效的实现,因为这些芯片有针对横向FIR滤波器的指令。直接构造是实现非递归滤波器的最常用方法,它的最主要的优点是其简单性,要求的器件最少,且数据的存储不复杂。串联结构对系统误差和量化噪声不敏感,但是系数值需要做更大的努力才能求出,且程序设计不适合DSP芯片的结构。快速卷积结构能提供出比他方法更好的计算优势,但需要有效的FFT。
对于窄带频率选择滤波器来说,频率抽样结构比等价的横向结构计算更有效,在此滤波器中,仅有相对少量的频率抽样值不为零,因此每输出一个值仅需非常少的乘法。然而,频率抽样结构可能要求更为复杂的编程,因为在其差分方程中固有的对数据的复杂索引。为了避免稳定问题,频率抽样结构的零点和极点应该位于单位圆稍内一点。当要求FIR滤波器递归实现时,这种结构是一种自然的选择。这种结构易于模块化,并有利于并行处理。总之,除非规范要求采用频率抽样结构,或者需要计算数据的谱采用快速卷积,那么采用横向结构不失为一个好的选择。
采用横向结构,对于这种结构,滤波器的输入x(n)与输出y(n)之间的关系如下: