(完整版)利用DSP的FIR滤波器设计
- 格式:doc
- 大小:679.51 KB
- 文档页数:11
电子科技大学信息与软件工程学院学院标准实验报告(实验)课程名称数字信号处理电子科技大学教务处制表电 子 科 技 大 学实 验 报 告学生姓名: 学 号: 指导教师: 实验地点: 实验时间:14-18一、实验室名称:计算机学院机房 二、实验项目名称:fir 低通滤波器的设计 三、实验学时: 四、实验原理:1. FIR 滤波器FIR 滤波器是指在有限范围内系统的单位脉冲响应h[k]仅有非零值的滤波器。
M 阶FIR 滤波器的系统函数H(z)为()[]Mkk H z h k z-==∑其中H(z)是kz-的M 阶多项式,在有限的z 平面内H(z)有M 个零点,在z平面原点z=0有M 个极点.FIR 滤波器的频率响应()j H e Ω为 0()[]Mj jk k H e h k e Ω-Ω==∑它的另外一种表示方法为()()()j j j H e H e e φΩΩΩ=其中()j H e Ω和()φΩ分别为系统的幅度响应和相位响应。
若系统的相位响应()φΩ满足下面的条件()φαΩ=-Ω即系统的群延迟是一个与Ω没有关系的常数α,称为系统H(z)具有严格线性相位。
由于严格线性相位条件在数学层面上处理起来较为困难,因此在FIR 滤波器设计中一般使用广义线性相位。
如果一个离散系统的频率响应()j H e Ω可以表示为()()()j j H e A e αβΩ-Ω+=Ω其中α和β是与Ω无关联的常数,()A Ω是可正可负的实函数,则称系统是广义线性相位的。
如果M 阶FIR 滤波器的单位脉冲响应h[k]是实数,则可以证明系统是线性相位的充要条件为[][]h k h M k =±-当h[k]满足h[k]=h[M-k],称h[k]偶对称。
当h[k]满足h[k]=-h[M-k],称h[k]奇对称。
按阶数h[k]又可分为M 奇数和M 偶数,所以线性相位的FIR 滤波器可以有四种类型。
2. 窗函数法设计FIR 滤波器窗函数设计法又称为傅里叶级数法。
目录第1章绪论 (1)1.1设计背景 (1)1.2设计要求 (1)1.3设计思路简介 (1)第2章系统开发平台与环境 (2)1.1CCS开发环境 (2)2.2SEED-DEC2812开发实验箱 (2)第3章 FIR滤波器设计过程 (3)3.1FIR滤波器设计总框图 (3)3.2FIR滤波器设计的原理 (4)3.3 FIR滤波器的设计方法 ....................... .. (5)第4章系统软件设计 (5)4.1程序流程图 (6)4.2程序源代码 (6)第5章系统仿真 (11)5.1仿真设置 (12)5.2仿真图 (13)第6章总结 (17)参考文献 (18)第1章绪论1.1设计背景在信号处理中,滤波占有十分重要的地位。
数字滤波是数字信号处理的基本方法。
数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求。
低通有限冲激响应滤波器(低通FIR滤波器)有其独特的优点,因为FIR系统只有零点,因此,系统总是稳定的,而且容易实现线性相位和允许实现多通道滤波器。
DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C54X作为DSP处理芯片,通过对其编程来实现FIR 滤波器。
对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。
由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。
但是FIR系统有自己突出的优点:①系统总是稳定的;②易实现线性相位;③允许设计多通带(阻带)滤波器。
其中后两项是IIR系统不易实现的。
1.2设计要求利用C语言在CCS环境中编写一个FIR滤波器程序,并能利用已设计好的滤波器对常用信号进行滤波处理。
1.3设计思路简介在TMS320C54x系统开发环境CCS(Code Composer Studio)下对FIR滤波器的DSP实现原理进行讨论。
FIR高通滤波器设计南京师范大学物科院从实现方法方面考虑,将滤波器分为两种,一种是IIR滤波器,另一种是FIR 滤波器。
FIRDF的最大优点是可以实现线性相位滤波。
而IIRDF主要对幅频特性进行逼近,相频特性会存在不同程度的非线性。
我们知道,无失真传输与滤波处理的条件是,在信号的有效频谱范围内系统幅频响应应为常数,相频响应为频率的线性函数。
另外,FIR是全零点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。
所以,FIRDF是一种很重要的滤波器,在数字信号处理领域得到广泛应用。
FIRDF设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。
其中窗函数计法的基本思想是用FIRDF逼近希望的滤波特性。
本次设计主要采用窗函数设计法,对理想滤波器进行逼近,从而实现高通滤波器的设计。
在MATLAB软件中,有一系列函数用于设计滤波器,应用时十分方便。
因此,在本次设计中,滤波器的设计主要采用MATLAB软件,编写适当的程序,得到滤波器的单位脉冲响应。
本设计对滤波器的硬件仿真主要使用CCS软件,通过对滤波器的硬件仿真,可以较为真实的看出滤波器的滤波效果。
关键字:高通、FIRDF、线性相位、Hanning窗、MATLAB、CCS1.设计目标产生一个多频信号,设计一个高通滤波器消除其中的低频成分,通过CCS的graph view 波形和频谱显示,并和MATLAB计算结果比较2.设计原理2.1数字滤波器数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。
其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器广泛用于数字信号处理中,如电视、VCD、音响等。
按照滤波电路的工作频带为其命名:设截止频率为fp,频率低于fp的信号可以通过,高于fp的信号被衰减的电路称为低通滤波器,频率高于fp的信号可以通过,低于fp的信号被衰减的电路称为高通滤波器;而带通吗,就是频率介于低频段截止频率和高频段截止频率的信号可以通过的电路。
D S P实验报告F I R和I I R滤波器设计Revised by Petrel at 2021D S P 实验报告实验一 FIR 滤波器的设计1.实验目的利用所学DSP 知识,在平台上,对TMS320VC5416DSP 设计,编程实现FIR 滤波器。
从而学会使用CCS 软件和TMS320VC5416实验板。
2.实验要求设计一个10阶的FIR 滤波器,要求f c =,定点实现。
并对F s =8kHZ 的多正弦波合成文件进行滤波测试,显示出输入和输出信号。
3.实验原理一个截止频率为ωc 的理想数字低通滤波器,其传递函数的表达式为:这个滤波器是物理不可实现的。
为了产生有限长度的冲激响应函数,我们取样响应为)(n h ,长度为N 。
)(n h 表示截取)(n h d 后的冲激响应,即)()()(n h n n h d ω=,其中)(n ω即为窗函数,窗长为N 。
一般的FIR 滤波器差分方程如下:进行Z 变换得到FIR 的系统函数为:N 阶滤波器通常采用N 个延迟单元、N 个加法器与N+1个乘法器组成。
因此可以得到FIR 滤波器的结构图如图1所示。
图1 FIR 滤波器直接结构图4.设计思路对于FIR 滤波器的设计,其系数()h n 是关键。
由于matlab 自带滤波器设计工具箱和滤波器设计函数,故借用matlab 工具,设计满足条件的滤波器并导出系数以备编写滤波器程序时使用。
实验需要用到的输入数据是多正弦波合成文件,对于输入信号的设计,这里也借助matlab 编程生成dat 文件。
然后用C 语言编写FIR 滤波器的主程序,输入文件在程序运行后导入。
5.实验内容(1)滤波器系数的设计由于实验只给出滤波器条件为N=10,f c=,并没有给出f p和f s,所以这里调用matlab工具箱函数fir1实现窗函数法设计滤波器。
fir1的调用格式为ℎn=fir1(N,ωc),返回值为6dB截止频率为ωc的N阶(单位脉冲响应h(n)长度N′=N+1)的FIR低通滤波器的系数向量(ωc为标量),默认选用,这里计算得出哈明窗。
基于DSP实现的FIR低通滤波器FIR(有限脉冲响应)低通滤波器是一种常见的数字信号处理(DSP)滤波器。
它的设计和实现非常灵活,可以用于去除数字信号中高频成分,使得信号能在一定的频率范围内进行平滑处理。
FIR低通滤波器有很多种设计方法,其中最简单的方法是基于窗函数设计,例如矩形窗、汉宁窗、布莱克曼窗等。
这些窗函数的选择取决于滤波器的性能要求和频率响应的形状。
在DSP中,FIR低通滤波器的实现可以采用直接形式、级联形式、并行形式和迭代形式等多种结构。
其中直接形式是最简单和直观的实现方式,也是最容易理解和实现的一种结构。
直接形式的FIR低通滤波器由一个延迟线、一组乘法器和加法器组成。
延迟线用于延迟输入信号,乘法器用于对延迟后的信号进行调制,而加法器则将调制后的信号相加得到输出信号。
```----------------------,,,x(n) -->, Delay ,-->, Multiply,-->--+ Sum ,--> y(n)Line ,,,----------------------```在实现过程中,需要注意的是延迟线的设置和乘法器的系数。
延迟线的长度决定了滤波器的阶数,即滤波器对输入信号的响应范围。
乘法器的系数则决定了滤波器的频率响应,可以通过窗函数的选取来确定。
通常,FIR滤波器的实现可以通过查表法或者卷积法来实现。
查表法通过预先计算所有可能的输入组合,并将其存储在一张查找表中,以减少计算量。
卷积法则通过将输入信号和滤波器的冲击响应进行卷积运算来得到输出信号。
当实现FIR低通滤波器时,还需要考虑滤波器的性能指标和算法的优化。
常见的性能指标包括滤波器的截止频率、抗混叠性能、通带和阻带的幅频特性等。
算法的优化可以从以下几个方面考虑:乘法器的系数选择、滤波器结构的选择、滤波器长度的选择和存储器的优化等。
总之,基于DSP实现的FIR低通滤波器是一种常用的数字信号处理滤波器,它可以用于去除数字信号中的高频成分,平滑信号的频谱。
(完整)实验十二FIR滤波器的DSP实现编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)实验十二FIR滤波器的DSP实现)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)实验十二FIR滤波器的DSP实现的全部内容。
实验十二 FIR滤波器的DSP实现座位号:第一组B5姓名:于杏 1104210311小组成员:陈翔宇1104210101董泽人1104210202指导老师:李彧晟2014年一、实验目的1、巩固数字FIR滤波器的概念2、理解定点DSP中数的定标、有限字长、溢出等概念3、理解算法现实中实时的概念4、掌握DSP软件开发过程及基本调试方法5、了解C和汇编实现算法的区别二、实验仪器计算机、C2000 DSP 教学实验箱、XDS510USB仿真器、示波器,信号源。
三、注意事项进入CCS顺序:1、打开C2000实验箱电源(确认实验箱电源正常加载)2、点击CCS2(C2000) 进入开发界面退出CCS顺序:3、关闭CCS2(C2000)应用程序4、关闭C2000实验箱电源5、严格控制输入信号的幅度,在示波器上确认幅度小于5V后,再接入实验箱。
6、利用CCS查看DSP内存数据或作图显示时,最好先停止程序运行。
3四、实验内容1、针对FIR算法,设计滤波器系数,完成数据的定标,查看滤波器特性曲线。
2、建立工程,编写DSP的主程序,并对工程进行编译、链接,利用现有DSP 平台实现FIR滤波器算法,通过信号源、示波器理解滤波器特性,验证实现与理论设计的一致性。
五、实验要求实验指导书上的要求:1、独立完成项目编译、链接、调试的全过程;2、当输入信号为正弦信号时,改变正弦信号频率,观察示波器,记录各频点对应的幅度,并描点做图,与理论设计的幅频曲线比对,做误差分析。
目录1、引言.......................................................................... - 2 -1.1 研究背景................................................................ - 3 -1.2 研究意义................................................................ - 3 -1.3 研究目的................................................................ - 4 -2、DSP及其开发环境............................................................. -5 -2.1开发平台一DSP系统....................................................... -5 -2.1.1 DSP 系统的构成.................................................... - 5-2.1.2 DSP 系统的优缺点及设计流程........................................ - 5 -2.1.3 DSP 系统硬件电路图................................................ - 7 -2.2 CCS 开发环境............................................................. - 8 -2.2.1 CCS 集成开发环境.................................................. - 9 -3 FIR 滤波器的设计................................................................ - 10 -3.1 FIR 滤波器设计原理....................................................... - 10 -3.1.1 FIR 滤波器的基本结构............................................... - 10 -3.1.2 FIR 滤波器的特点................................................... - 14 -3.2 FIR 滤波器具体设计方案 .............................................. - 15 -3.2.1 窗函数法......................................................... - 15 -3.2.2 频率抽样法....................................................... - 17 -3.3 FIR 滤波器的MATLAB实现 ................................................ -18 -3.3.1 带通滤波器的MATLAB实现........................................ -19 -3.3.2 低通滤波器的MATLAB实现......................................... -21 -4、FIR滤波器的DSP实现......................................................... -22 -4.1 FFT/IFFT 算法程序及应用.................................................. - 22 -4.1.1 FFT 设计方法..................................................... - 22-4.1.2 FFT 算法的实现................................................... - 24-4.1.3 FFT 算法的仿真和测试结果......................................... - 26 -4.2 FIR 滤波器的DSP的实现................................................. -27 -4.3 总结体会 ................................................................ - 32 - 附录 A MATLAB程序............................................................... -34 - 附录B FFT的DSP实现程序........................................................ -2 -附录C FIR 的DSO实现程序........................................................ -11 -1、引言20世纪60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。
基于DSP的FIR数字滤波器的设计与仿真毕业设计论文研究背景数字信号处理在现代通信、音视频处理、图像处理等领域中起着至关重要的作用,数字滤波器是数字信号处理中的重要内容。
其中FIR数字滤波器是一种常用的滤波器,其具有线性相位和稳定性等特点,在数字信号处理中应用广泛。
因此,本毕业设计将以FIR 数字滤波器为研究对象,结合DSP平台,进行数字滤波器的设计与仿真研究。
研究目标本文旨在设计一种基于DSP的FIR数字滤波器,并且研究其性能和仿真效果。
主要目标包括:1. 掌握DSP平台的开发流程和设计方法,包括硬件平台和软件开发技术。
2. 研究FIR数字滤波器的原理和特点,掌握其设计方法和计算技巧。
3. 基于DSP平台设计实现FIR数字滤波器,包括硬件和软件两个方面,满足设计要求。
4. 仿真FIR数字滤波器的性能和效果,验证设计的正确性和可行性。
5. 撰写毕业设计论文,总结设计过程和结果,体现出自己的设计思路和方法。
研究方法本研究采用如下方法:1. 研究DSP平台的开发流程和设计方法,包括使用硬件平台和软件开发技术。
2. 研究FIR数字滤波器的原理和特点,掌握其设计方法和计算技巧。
3. 基于DSP平台设计实现FIR数字滤波器,采用Verilog语言描述硬件电路,C语言编写软件程序。
4. 利用模拟工具对FIR数字滤波器进行仿真,测试性能和效果。
5. 撰写毕业设计论文,总结设计过程和结果,体现出自己的设计思路和方法。
预期结果本研究预期可以达到如下结果:1. 掌握DSP平台的开发流程和设计方法,能够应用于数字信号处理和嵌入式系统开发等领域。
2. 研究FIR数字滤波器的原理和特点,掌握其设计方法和计算技巧,能够进行数字信号处理相关工作。
3. 基于DSP平台设计实现FIR数字滤波器,满足设计要求,具有较好的性能和稳定性。
4. 仿真FIR数字滤波器的性能和效果,能够验证设计的正确性和可行性。
5. 撰写毕业设计论文,总结设计过程和结果,体现出自己的设计思路和方法,具有较好的表达和撰写能力。
FIR滤波器在DSP上的实现
1引言
近年来,随着数字信号处理(DSP)技术的发展,自由响应滤波器(FIR)已成为DSP系统的核心部分,广泛用于各种应用,如声学信号处理、通信器件、生物医学信号处理等。
本文首先介绍FIR滤波器的基本原理,之后介绍如何在DSP上实现FIR滤波器,主要介绍两种实现方法:延迟求和和移位加法(Shift-Add)。
最后,将对比分析两种实现方法的优劣,并分析哪些条件下使用移位加法。
2FIR滤波器的原理
输入的时域信号x[n]经过一系列不同阶数的延迟单元滤波器系数h[n]的乘法和求和运算,从而得到输出的时域信号y[n],即
y[n]=\sum_{k=0}^{k=N}h_{k}x[n-k]
其中,x[n]表示输入时域信号,h[n]表示滤波器系数,y[n]表示输出时域信号,N表示滤波器的阶数。
3在DSP上实现FIR滤波器。
dsp实验报告 fir实验
DSP实验报告 FIR实验
一、实验目的
本实验旨在通过设计一种FIR滤波器,加深对数字信号处理中FIR滤波器的理解,并掌握FIR滤波器的设计方法和实现过程。
二、实验原理
FIR滤波器是一种常见的数字滤波器,其特点是无需考虑系统的稳定性问题,且具有线性相位特性。
FIR滤波器的传递函数为:
H(z) = b0 + b1z^(-1) + b2z^(-2) + ... + bMz^(-M)
其中,b0、b1、b2...bM为滤波器的系数。
FIR滤波器的设计主要包括窗函数法、频率采样法和最优化法等。
三、实验步骤
1. 确定滤波器的通带截止频率和阻带截止频率;
2. 根据通带截止频率和阻带截止频率选择合适的窗函数;
3. 计算窗函数的系数;
4. 将窗函数的系数作为FIR滤波器的系数;
5. 利用MATLAB或其他数学软件进行FIR滤波器的模拟实现;
6. 对设计的FIR滤波器进行性能评估,包括幅频特性、相频特性、群延迟等。
四、实验结果
经过实验设计和模拟实现,得到了满足要求的FIR滤波器。
通过对滤波器的性
能评估,得到了其幅频特性、相频特性和群延迟等性能指标。
实验结果表明,
设计的FIR滤波器具有良好的滤波效果,能够满足通带截止频率和阻带截止频
率的要求。
五、实验总结
通过本次实验,加深了对FIR滤波器的理解,掌握了FIR滤波器的设计方法和实现过程。
同时,也了解了数字信号处理中滤波器的重要性,以及如何根据实际需求设计出满足要求的滤波器。
希望通过本次实验,能够对数字信号处理的相关知识有更深入的了解和掌握。
基于TMS320F2812DSP处理器的FIR滤波器的设计与实现FIR(Finite Impulse Response)滤波器是一种常见的数字滤波器,其主要特点是线性相位特征和有限脉冲响应。
在本文中,将基于TMS320F2812 DSP处理器设计和实现一个FIR滤波器。
首先,我们需要确定FIR滤波器的参数,包括滤波器的长度和系数。
滤波器的长度决定了滤波器的频域分辨率,系数则决定了滤波器的频率响应。
在设计中,我们可以使用窗函数法或最小二乘法等方法来确定滤波器的系数。
接下来,我们需要编写代码将FIR滤波器的系数加载到DSP处理器的内存中。
TMS320F2812DSP处理器使用C语言进行编程,可以使用DSP编译器将代码编译成可执行文件。
在代码中,需要定义一个数组来存储FIR 滤波器的系数,并使用内置函数来实现滤波器运算。
在滤波器的输入和输出之间,需要使用定点数格式进行数据的表示和计算。
TMS320F2812DSP处理器支持定点数运算,可以使用固定小数点或整数表示数据。
在计算过程中,要注意溢出和截断的问题,以保证滤波器的性能和稳定性。
在实现过程中,还需要考虑到采样率和时钟频率的调整。
TMS320F2812DSP处理器具有多个时钟和定时器,可以根据实际需求进行配置和调整。
为了保证滤波器的实时性,应根据采样率和滤波器的长度来确定时钟频率和定时器的设置。
当FIR滤波器的代码编写完成后,可以通过仿真和测试来验证滤波器的性能。
TMS320F2812DSP处理器支持调试和仿真功能,可以使用仿真器或调试器来查看滤波器的输入和输出结果。
在测试过程中,可以输入不同频率和幅度的信号来验证滤波器的频率响应和滤波效果。
总结来说,基于TMS320F2812DSP处理器的FIR滤波器设计和实现分为确定参数、编写代码、调整时钟和测试验证四个步骤。
通过合理的参数选择和代码编写,可以实现一个高性能和稳定的FIR滤波器。
课程设计一FIR滤波器的DSP实现一、课程设计目的1、复习用C语言对数字信号处理器的编程方法,熟悉如何使用C5000系列数字信号处理器中的模数转换器;2、复习用窗函数法设计FIR数字滤波器;3、对TMS320VC5509编程实现不同参数的FIR滤波器。
二、课程设计原理(一)TMS320VC5509简介TMS320VC5509是TI公司出产的定点DSP芯片,它的源代码与C54x系列兼容,但速度更快,时钟频率可达300MHz,功耗是C54x系列的1/6。
C5509的CPU内部有2个乘法器、1个40位的加法器、1个16位的加法器、4个累加器。
共有12组总线,其中3组数据存储器读总线,2组数据存储器写总线,及相应5组数据存储器地址总线,程序存储器读总线及地址线各一组。
片内外设资源也比C54x系列数字信号处理器丰富,4通道10位A/D、DMA单元、RTC电路、McBSP、定时器等。
本设计中将用到A/D单元。
TMS320C5509A内部有一个4通道10位A/D,相关寄存器有4个,通过对这4个寄存器的操作来控制A/D模块。
1.、ADC控制寄存器:ADCCTLADCSTART:0 无作用;1 启动A/D转换CHSELECT:从4个模拟通道中选择一个作为输入信号Reserved:保留2、ADC数据寄存器:ADCDATAADCBUSY:0 ADC数据准备好,即A/D转换结束;1 正在进行A/D转换CHSELECT:从4个模拟通道中选择一个作为输入信号ADCDATA:A/D转换得到的10位二进制数3、ADC时钟控制寄存器:ADCCLKCTLIDLEEN:0 不允许ADC处于休眠状态;1 允许ADC处于休眠状态CPUCLKDIV:决定ADC时钟频率ADC Clock:(CPU Clock) / ( CPUCLKDIV+1)4、ADC时钟分频寄存器:ADCCLKDIVSAMPTIMEDIV :与CONVRATEDIV 一起决定采样/保持周期ADC Sample and Hold Time = (ADC Clock Period)*2*(CONVRATEDIV+1+ SAMPTIMEDIV)CONVRATEDIV :决定A/D 转换时钟频率ADC Conversion Clock = (ADC Clock) / (2*( CONVRATEDIV+1))完成一次A/D 转换需要13个A/D 转换时钟,所以,一次转换时间是t = 13 / ADC Conversion Clock一次完整的A/D 转换时间是采样/保持周期和转换时间的和,采样频率是其倒数ADC Total Conversion Time = ADC Sample and Hold Period+tSampling Rate = 1/ ADC Total Conversion Time(二)窗函数法设计FIR 滤波器的原理根据阻带最小衰减和过渡带宽选择合适的窗函数,实现不同指标的各种类型FIR 数字滤波器的设计。
u 目录1概述................................................................ -0 -1.1数字滤波器的研究现状 ......................................... -0 -2系统硬件设计........................................................ -1 -2.1系统设计方案................................................... -1 -2.2主控模块....................................................... -3 -3系统软件设计........................................................ -4 -3.1软件整体设计................................................. -4 -3.2测量模块....................................................... -7 -4系统测试与总结...................................................... -8 -4.1系统测试 ....................................................... -8 -4.2总结体会...................................................... -10 -参考文献 .............................................................. -11 - 附录 .................................................................. -12 -1 概述1.1 数字滤波器的研究现状20 世纪60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70 年代以后的主攻方向。
题目:利用DSP的FIR滤波器设计 数字处理器(DSP)有很强的数据处理能力,它在高速数字信号处理领域有广泛的使用,例如数字滤波、音频处理、图像处理等。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等。使用可编程的DSP芯片实现数字滤波可以通过修改滤波器的参数十分方便地改变滤波器的特性,下面主要说明利用TMS320VC54x DSP芯片设计实现FIR数字滤波器。 设计目的意义 一个实际的使用系统中,总存在各种干扰,所以在系统设计中,滤波器的好坏将直接影响系统的性能。使用DSP进行数字处理,可以对一个具有噪声和信号的混合信号源进行采样,再经过数字滤波,滤除噪声,就可以提取有用信号了。所以说,数字滤波器是DSP最基本的使用领域,熟悉基于DSP的数字滤波器能为DSP使用系统开发提供良好的基础。 技术指标 1、数字滤波器的频率参数主要有:①通带截频:为通带和过渡带的边界点,在该点信号增益下降到规定的下限。②阻带截频:为阻带和过渡带的边界点,在该点信号衰耗下降到规定的下限。③转折频率:为信号功率衰减到1/2(约3dB)时的频率,在很多情况下,也常以fc作为通带或阻带截频。④当电路没有损耗时,固有频率:就是其谐振频率,复杂电路往往有多个固有频率。 2、增益和衰耗 滤波器在通带内的增益并非常数。①对低通滤波器通带增益,一般指ω=0时的增益;高通指ω→∞时的增益;带通则指中心频率处的增益。②对带阻滤波器,应给出阻带衰耗,衰耗定义为增益的倒数。③通带增益变化量指通带内各点增益的最大变化量,如果通带增益变化量以dB为单位,则指增益dB值的变化量。 3、阻尼系数和品质因数 阻尼系数α是表征滤波器对角频率为ω0信号的阻尼作用,是滤波器中表示能量衰耗的一项指标,它是和传递函数的极点实部大小相关的一项系数。 4、灵敏度 滤波电路由许多元件构成,每个元件参数值的变化都会影响滤波器的性能。 5、群时延函数 在滤波器设计中,常用群时延函数评价信号经滤波后相位失真程度。 以上的几个技术指标是一般滤波器的特性,但在实际使用中,数字滤波器通常用来实现选频操作,因此在利用DSP实现数字滤波器设计中要求的技术指标主要为在频域中给出的幅频响应和相频响应。如下图所示
幅频响应和相频响应特性曲线 对于幅频响应,它的含义是信号通过系统之后的输出信号的幅度和它输入时的信号的幅度的比值,一般以分贝值表示。对于相频响应,含义是信号通过系统之后的输出信号的相位和它输入时的信号的相位之差,在运用线性相频响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③可以采用FFT算法,从而提高运行效率;④由于FIR滤波器的单位脉冲响应是有限长序列,故FIR滤波器没有不稳定的问题,且误差较小。 基本原理 利用DSP实现FIR滤波器的设计方法主要有窗函数法和频率抽样法,其中窗函数法是基本的设计方法,这里采用窗函数法设计FIR滤波器。设希望得到的滤波器理想响应为,那么FIR滤波器的设计就在于寻找一个传递函数
去逼进,设
这里就是傅立叶级数的系数。在这种逼近中,最直接的一种方法就是从单位脉冲响应入手,使逼近理想的单位脉冲响应。由于是一个无限长序列,因此,最简单的方法就是对做截尾处理,即得到一个近似的传递函数
上式中,Q就是最终确定FIR滤波器的阶数,Q越大,近似程度就越高。对截尾,实际上就是对乘上一个矩形窗口,即
令z=,则
其脉冲响应系数为,,…,,,,…,,。为使具有因果性,延时Q个样值,可得:
令n+Q=k,上式成为 令,N=2Q,得 式中,是脉冲响应系数,这里…,,…,。 一般来说,FIR数字滤波器输出的Z变换形式和输入的Z变换形式之间的关系如下:
实现结构如下图所示:
Z变换结构图 从上面的Z变换和结构图可以很容易得出FIR滤波器的差分方程表示形式,即对上式进行反Z变换得:
上式为FIR数字滤波器的时域表示方法,其中x(n)是在时间n的滤波器的输入抽样值,根据上式即可对滤波器进行设计。 硬件设计 1、DSP芯片 根据设计原理,实现的核心器件采用美国德州仪器公司生产的低功耗定点数字信号处理器芯片TMS320C5402。选择该芯片主要是因为它是目前最常用的低成本DSP芯片,而且包括以下主要特点: ⑴运算速度快,最快可达532MIPS; ⑵多总线结构,片内共有8 条总线(1条程序存储器总线、3条数
x(n) h(0) h(1) h(2) h(N-2) h(N-1) y(n) 据存储总线和4条地址总线); ⑶CPU采用冯· 诺依曼并行结构设计,使其能在一条指令周期内,高速地完成多项算术运算; ⑷片内集成了4K×16bitROM和16K×16bit的双存取RAM; ⑸丰富的片上外围电路(通用I/O 引脚,定时器,时钟发生器, HPI 接口,多通道缓冲串行口McBSP)使其和外部接口方便; ⑹3.3V I/O电压,1.8V核点压,工作电流平均值为75mA,其中核45mA,I/O约30mA; ⑺144脚BGA封装,使体积减少,功耗降低。 2、AD和DA电路 在本数字滤波器系统中选择了TI公司的TLV1570芯片作为模数转换器件,8通道10位2.7到5.5 V低电压模数转换芯片。TLVl570在3V电压下的采样频率为625KSPS,输入信号最高频率不能超过300K。 由于模数转换选择了10位器件,为了简化程序代码,减少DSP 的运算工作量,在本数字滤波器系统中选择了TI公司的TLV5608芯片,它是一款8通道10位2.7到5.5V低电压数模转换芯片。 3、电源电路 根据DSP芯片工作的电压电流需求,及芯片采用双电源供电对加电顺序的要求,考虑使用TI公司的电源转换芯片TPS73HD318,其输出电压为一路3.3V、一路1.8V,每路电源的最大输出电流为750mA,能满足本系统的供电需求。而且TPS73xx具有非常低的静态电流,能使稳压器输出稳定。 4、时钟电路 C54xx系列的时钟端子为X1和X2/CLKIN,采用无源晶振提供时钟信号,由于DSP有一组端子可以用来调整其工作频率的高低,故对晶振频率大小的选定没有特别的要求,这里选用10Mhz的晶振。 5、复位电路 为了克服DSP系统因时钟频率较高导致在运行时可能发生的干扰和被干扰的现象,最好是使用具有监视(Watchdog)功能的自动复位电路,于是采用专门的自动复位芯片MAX706。MAX706的电源为3.1V~5.0V,低电平复位输出,复位门限为3.08V。 6、未用端子处理 根据使用DSP芯片的相关原则,以及芯片手册具体决定未用端子是接上拉电阻还是悬空。 7、基于上述的各部分电路组成,可以得出DSP数字滤波器的整体硬件电路连线图,如下所示
程序设计 1、设计思路 ⑴在DSP进行数字滤波运算前首先要进行初始化,只有正确设置了DSP的初始状态才能保证芯片能正常运行。本系统主要进行以下两方面的初始化: ①寄存器初始化:状态寄存器ST0、状态寄存器ST1、处理器模式控制寄存器PMST、软件等待状态寄存器SWWSR、组交换控制寄存器BSCR和时钟模式寄存器等。 ②中断矢量表初始化:根据DSP芯片对各中断矢量的设置位置编写一个子程序;设置PMST控制寄存器;连接时将矢量表重定位到IPTR指定的地址。 ⑵其次就是FIR 数字滤波的子程序设计,主要步骤如下: ①查询SPCR11寄存器的第二位,当为1时说明read ready,将DRR11的值读入AR3所指向的地址,该值为最新的采样值。 ②将最新的采样值减去200h,然后AR3的值减1。 ③执行MAC指令。 ④将累加器的值送给变量Y,并将Y加上200h。 ⑤查询SPCR20寄存器的第二位,当为1时说明writeready,将Y值赋给DXR10,该值为滤波器输出值。 ⑥循环执行上面步骤。 2、程序流程图 依据上述程序设计思路可以得到利用DSP实现FIR滤波器设计的程序流程图,如下 3、程序代码 由于初始化程序部分过于庞大繁杂,这里只给出用MAC指令编程实现FIR低通滤波器的程序片断: FILT_task1 LD Store_SICX,A STLM A,ar4 STM #1,ar0 ;间址 STM #28,bk LD DEM_Out,A STL A,*ar4+% ;输入信号:实部 STM #Coef_Tab1,ar5 ;滤波器实部系数地址 LD #0,A STM #27,brc RPTB SICXU-1 MAC *AR4+0%,*AR5+,A SICXU LD A,-16,A ;低通滤波结果 LD C7FFF,B MIN A NEG B MAX A STL A,DEM_Out LDM AR4,A STL A,Store_SICX RET Coef_Tab1 .word 100 ;h(0) .word 7 ;h(1) … ;脉冲响应系数 .word -248 .word -71 ;h(N-1) .end 总结 通过利用DSP的FIR滤波器设计,对DSP芯片的使用,以及利用DSP芯片组成的基本系统的相关电路有了比较深的认识。熟悉DSP芯片的系统设计和使用开发流程,并利用图书馆、网络、询问同学等方式查找资料和解决相关的难题,这是最基础的工作,也是最关键的步骤。