课程设计基于DSP的IIR滤波器的设计_第1页
课程设计基于DSP的IIR滤波器的设计_第2页
课程设计基于DSP的IIR滤波器的设计_第3页
课程设计基于DSP的IIR滤波器的设计_第4页
课程设计基于DSP的IIR滤波器的设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、前 言本文介绍了滤波器的滤波原理以及模拟滤波器、数字滤波器的设计方法。重点介绍了iir数字滤波器的设计方法。即脉冲响应不变法和双线性变换法。在此基础上,用dsp虚拟实现任意阶iir滤波器。此设计扩展性好,便于调节滤波器的性能,可以根据不同的要求在dsp上加以实现。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处

2、理的实现则是理论和应用之间的桥梁。数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。最多64个增加到现在的200个以上,引脚数量的增加,意味着结构灵活性的增加。此外,dsp芯片的发展,是dsp系统的成本、体积、重量和功耗都有很大程度的下降。第1章 绪 论

3、1.1数字滤波器的概念 滤波器是指用来对输入信号进行滤波的硬件和软件。数字滤波器是对数字信号实现滤波的线性时不变系统。数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波实质上是一种运算过程,实现对信号的运算处理。数字滤波器和模拟滤波器相比,因为信号的形式和实现滤波的方法不同,数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配等优点。输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算

4、机。描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。1.2数字滤波器的分类目前数字滤波器的主要实现方法有:1在通用的微型计算机上用软件实现:软件可以是自己编写的,也可以使用现成的软件包,这种方法缺点是速度太慢,不能用于实时系统,只能用于教学和算法的仿真研究。比如用matlab就几乎可以实现所有数字滤波器的仿真。而且在matlab下的部分仿真程序还可以通过转化为c语言,再通过dsp的c编译器直接在dsp硬件上运行。2用 dsp(digital signal processing)处理器实现:dsp处理器是专为数字信号处理而设计的,

5、如ti公司的tms320c54x系列,ad公司的adsp2ix,adsp210x系列等。它的主要数字运算单元是一个乘累加器mac (multiply- accumulator),能够在一个机器周期内完成一次乘累加运算,配有适合于信号处理的指令,具备独特的循环寻址和倒序寻址能力。这些特点都非常适合数字信号处理中的滤波器设计的有效实现,并且它速度快、稳定性好、编程方便。1.3数字滤波器的优点 dsp 芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法。数字信号处理由于具有精度高、灵活性强等优点,已广泛应用于图像处理、数字通信、雷达等领域。数字滤波技术在数字信

6、号处理中占有极其重要的地位,数字滤波器根据其单位脉冲响应可分为iir(无限长冲激响应滤波器)和fir(有限长冲激响应滤波器)两类。iir滤波器可以用较少的阶数获得很高的选择特性,但在有限精度的运算中,可能出现不稳定现象,而且相位特性不好控制。数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。数字滤波器又分为无限冲激响应滤波器(iir)和有限冲激响应滤波器(fir)。由于在许多场合下,需要对信号进行实时处理,因而对于单片机的性能要求也越来越高。由于dsp控制器具有许多独特的结构,例如采用多组总线结构实现并行处理,独立的累加器和乘法器以及丰富的寻址方式,采用 dsp控制器

7、就可以提高数字信号处理运算的能力,可以对数字信号做到实时处理。dsp(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用tms320c5509作为dsp处理芯片,通过对其编程来实现iir滤波器。iir系统与传统的通过硬件电路实现的模拟滤波器相比有以下优点:1、单位冲击响应有无限多项2、高效率(因为结构简单、系数小、乘法操作较少)3、与模拟滤波器有对应关系4、可以解析控制,强制系统在指定位置为零点5、有极点,在设计时要考虑稳定性6、具有反馈,可能产生噪声、误差累积1.4主要研究内容本文主要研究了数字滤波器的

8、基本理论和实现方法。接着研究分析了如何利用matlab仿真软件来设计出符合各种要求的数字滤波器,并对所设计的滤波器进行仿真得到系数,本文还应用dsp集成开发环境ccs调试汇编程序,为后面在dsp上实现提供必要的数据。本课题选择在tm320c5509 dsp综合实验开发系统平台上进行开发。最后采用窗函数法在ccs环境下,利用matlab仿真得到的滤波器系数,编程实现iir数字滤波器,得出滤波结果波形,并对结果进行分析与总结。第2章 iir算法原理滤波器可广义的理解为一个信号选择系统,它让某些信号成分通过又阻止或衰减另一些成分。在更多的情况下,滤波器可理解为选频系统,如低通、高通、带通、带阻。滤波

9、器可分为三种:模拟滤波器、采样滤波器和数字滤波器。模拟滤波器可以是由rlc构成的无源滤波器,也可以是加上运放的有源滤波器,是连续时间系统;采样滤波器由电阻、电容、电荷转移器件、运放等组成,属于离散时间系统,幅度连续;数字滤波器由加法器、乘法器、存储延迟单元、时钟脉冲发生器和逻辑单元等数字电路构成,精度高,稳定性好,不存在阻抗匹配问题,可以时分复用。设计滤波器,就是要确定其传递函数,传递函数h(z)已知后,则可以确定系统的频率响应为,其中分别是幅频特性和相位特性。对于无失真传输系统,有,即幅频特性为常数,信号通过系统后各频率分量的相对大小保持不变,没有幅度失真。相位特性为线性,使对应的时域方程的

10、时延量为常数:,即系统对各频率分量的延迟时间相同,保证了各频率分量的相对位置不变,没有相位失真。数字通信对相位的要求比模拟通信高许多,线性相位很重要。数字系统描述时延的函数有两个: 群时延:反映相频曲线的线性程度。相时延:反映各频率分量在时域的相对延时。所以无相位失真的传输条件是要具有恒群时延和恒相时延,即常数。数字滤波器的设计是确定其系统函数并实现的过程,一般要经如下步骤:1、根据任务,确定性能指标。2、用因果稳定的线性移不变离散系统函数去逼近。3、用有限精度算法实现这个系统函数。4、利用适当的软、硬件技术实现。我们在这里主要讨论数字滤波器系统函数的逼近过程,包括无限长冲激响应(iir)数字

11、滤波器和有限长冲激响应(fir)数字滤波器系统函数的逼近。第3章 设计方案及硬件设计3.1设计方案iir数字滤波器的设计一般有两种方法:一个是借助模拟滤波器的设计方法进行。其设计步骤是,先设计模拟滤波器,再按照某种方法转换成数字滤波器。这种方法比较容易一些,因为模拟滤波器的设计方法已经非常成熟,不仅有完整的设计公式,还有完善的图表供查阅;另外一种直接在频率或者时域内进行,由于需要解联立方程,设计时需要计算机做辅助设计。其设计步骤是:先设计过渡模拟滤波器得到系统函数,然后将按某种方法转换成数字滤波器的系统函数。这是因为模拟滤波器的设计方法已经很成熟,不仅有完整设计公式,还有完善的图表和曲线供查阅

12、;另外,还有一些典型的优良滤波器类型可供我们使用。iir系统的优点是实现的阶数低,对于实现相同要求的数字滤波器,fir滤波器的阶数要比iir滤波器的阶数高510倍,iir滤波器的设计相对简单,可以由对应的模拟滤波器转换而来。结合iir滤波器和fir滤波器的优缺点,由于在apf谐波检测中的低通数字滤波器是用于通过直流,滤掉交流,对相位的要求不高,而且希望运算尽量小,因此选用iir滤波器。iir数字滤波器的设计流程图如下:数字滤波器技术指标 模拟滤波器 技术指标 数字滤波器 模拟滤波器 模拟滤波器 设计方法变换变换图3.1 iir数字滤波器的设计步骤流程图3.2 iir滤波器的硬件设计3.2.1硬

13、件设计总体方案: ti公司的2000系列和5000系列的dsp都通用型的芯片,考虑到2000系列的dsp多用于控制方面,而5000系列较2000系列具有更高的时钟频率、更低的价格和更加强大的运算功能,所以在数字滤波器系统的设计中采用了ti公司的一款高性能、低功耗的定点dsp: tms320vc5402。该dsp具有较快的运算速度,算速度最快可达532mips;采用了低功耗设计方式:内核电压为1.8v,i/o电压为3.3 v。数字滤波系统的具体方案框图如图3.2示: 图3.2 数字滤波器系统方案框图通常的设计中会采用sv供电并行的adc(模数转换)和dac(数模转换)芯片与dsp连接,传输数据过

14、程中会占用总线的时间,而且需要采用多片电平转换器件将sv电平转换为3.3v的逻辑电平。考虑到tms320vc5402的片上包含两个mcbsp(多通道缓冲串行口)接口,可以将这两个通道模仿实现spi的时序,因此本设计中采用了spi接口器件,adc芯片采用的是tlv 1570,实现将需要滤波信号从模拟转换到数字信号的实时采样。数模转换芯片采用的是tlv 5608,实现滤波后的信号从数字信号恢复为所需要的模拟信号。jtga口供dsp芯片下载程序调试。3.2.2 ad转换接口电路设计在ad转换器中,因为输入的模拟信号在时间上是连续量,而输出的数字信号代码是离散量,所以进行转换时必须在一系列选定的瞬间(

15、亦即时间坐标轴上的一些规定点上)对输入的模拟信号取样,然后再把这些取样值转换为输出的数字量。因此,一般的ad转换过程是通过取样、保持、量化和编码这四个步骤完成的。如下图3.3所示:图3.3 a/d转换电路3.2.3 da转换接口电路设计数字量是用代码按数位组合起来表示的,对于有权码,每位代码都有一定的权。为了将数字量转换成模拟量,必须将每1位的代码按其权的大小转换成相应的模拟量,然后将这些模拟量相加,即可得到与数字量成正比的总模拟量,从而实现了数字一模拟转换。这就是构成da转换器的基本思路。da转换器的转换精度通常用分辨率和转换误差来描述。如下图3.4所示:图3.4 d/a转换电路第4章 软件

16、设计4.1 iir的数据存储器设计tms320c54x定点dsp提供了单周期乘/累加指令mac和循环寻址方式,使iir数字滤波器每个样值的计算可以在一个周期内完成。iir数字滤波器每个样值的计算就是实现两数组对应项乘积的累加和。在计算时有前向通道和反馈通道两部分,因此在计算设计时要充分考虑x(n)、y(n)和h(n)系数的存放位置,并正确初始化这两个存储块指针,这样在计算中才能够准确的提取数据,实现乘加运算。图4.1是iir滤波器数据存放和系数表:图4.1 iir滤波器数据存放和系数表在程序设计中,首先将数据放入相应的段中, x数据指针ar2指向x0,同时将h(n)的指针ar1指向b0,利用乘

17、加指令完成前向通道的一次运算;接着修改指针,ar2指针增1,h(n)的指针ar1减1,依次完成前向通道的乘加运算;反馈通道应用同样的方法进行乘加。在程序设计时,可以采用先增益后衰减的方法,亦可采用先衰减后增益的方法。但是采用先衰减后增益的方式其系统动态范围和鲁棒性较好,因此在设计中采用了后一种方法。4.2 iir的matlab辅助设计具体在matlab中设计iir数字滤波器的设计步骤如下:按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;根据转换后的技术指标使用滤波器选择函数,确定最小阶数n和固有频率wn;运用最小阶数n产生模拟低通滤波器原型,运用固有频率把模拟低通滤波器原

18、型转换成模拟低通、高通、带通、带阻滤波器。本设计主要应用产生低通滤波器,运用脉冲响应不变法或双线性不变法把模拟滤波器转换成数字滤波器。对于脉冲响应不变法,它是将s域内的h(s)转换成z域内的h(z),但是在映射时,s域内不能一一对应到z域内的单位圆上,因此容易在仿真中易产生混叠现象,影响实验效果。基于此,本次设计在matlab的仿真中优先考虑应用双线性变换法。matlab工具箱提供了几种模拟滤波器的原型产生函数,butterworth滤波器原型,chebyshev(i型、型)滤波器原型、椭圆滤波器原型等不同的模拟滤波器原型,从模拟滤波器向数字滤波器转换的双线性变换法和脉冲响应不变法等方法,模拟

19、iir数字滤波器阶数选择函数以及数字滤波器直接设计函数等等。另外,matlab信号处理工具箱提供了几个直接设计iir数字滤波器的函数。这一整套设计函数给在matlab中设计iir数字滤波器带来了极大的方便。iir低通数字滤波器根据相关技术指标进行matlab仿真,从而计算出相应的传输函数。其仿真结果结果如图4.2所示: 图4.2 利用matlab仿真图根据以上仿真结果及相应的系数和n值,在相关技术指标不变的情况下,我选用了chebyshevi型双线性变换法。4.3 系统流程图 开始加载数据(iir系数、输入数据)将第一个输入数据取出地址下移存至缓冲区最后一位存储结果结束图4.3 主程序流程图将

20、缓冲区数据与biircofb系数相乘累加循环512次次将第一个结果取出作为输入地址下移存至缓冲区将缓冲区数据与biircofa系数相乘累加加入存储结果循环512次次 第5章 源程序源程序如下:.data .include iir_buff.asm .include eiircofa.asm .include eiircofb.asm .include iir_input.asm .global _c_int00 .def iir_start .def iir_middle .def iir_begin .def iir_last .def cofafirst .def cofalast .de

21、f cofbfirst .def cofblast .def firstin .def lastin .text_c_int00: c28obj c28addr.c28_amode movl xar6,#iir_middlemovl xar7,#cofafirst movl xar2,#firstin ; movl xar3,#iir_middle movl xar5,#lastin+1 mov ar0,#511mov ar1,#6 mov al,*xar2 mov *xar6,al spm -4loop1: movl xar7,#cofafirst nopnop zapa rpt #6 |m

22、ac p,*xar6%+,*xar7+ addl acc,ppm mov *xar5+,ah ;subb xar3,#1 ;mov al,*xar3 ; mov *xar6,al mov al,*xar2+ mov *xar6%+,al banz loop,ar0- movl xar6,#iir_lastmovl xar7,#cofbfirst ;movl xar2,#lastin+1 ; movl xar3,#iir_last movl xar5,#lastin+1 mov ar0,#511mov ar1,#6 mov al,*xar5 mov *xar6,al spm -4loop: mo

23、vl xar7,#cofbfirst nop nop zapa rpt #6 |mac p,*xar6%+,*xar7+ addl acc,pprog, page=0 .data: ram, page=1第6章 仿真6.1 开发工具ccsccs是一种针对tms320系列dsp的集成开发环境,在windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、调试、跟踪和分析等工具。ccs有两种工作模式,即软件仿真器模式:可以脱离dsp芯片,在pc机上模拟dsp的指令集和工作机制,主要用于前期算法实现和调试。硬件在线编程模式:可以实时运行在dsp芯片上,与硬件开发板相结合在线编程和调试应用

24、程序。 ccs的开发系统主要由以下组件构成: 1tms320c54x集成代码产生工具;2ccs集成开发环境;3dsp/bios实时内核插件及其应用程序接口api;4实时数据交换的rtdx插件以及相应的程序接口api;5由ti公司以外的第三方提供的各种应用模块插件。 ccs的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持c/c+和汇编的混合编程,其主要功能如下: 1具有集成可视化代码编辑界面,用户可通过其界面直接编写c、汇编、.cmd文件等;2含有集成代码生成工具,包括汇编器、优化c编译器、链接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中;3高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误;4基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗口等功能,并支持c源代码级调试;5探测点工具,可用于算法的仿真,数据的实时监视等;6分析工具,包括模拟器和仿真器分析,可用于模拟和监视硬件的功能、评价代码执行的时钟;7数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新。6.2 仿真结果1观察输入信号的频谱,如下图所示:图6.1 输入信号的频谱2观察输出信号的频谱,如下图所示:图6.2 输出信号的频谱总 结在课程设计的第一天我们小组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论