基于02芯片的IR数字滤波器的设计Word文件下载.docx
- 文档编号:17937369
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:16
- 大小:260.46KB
基于02芯片的IR数字滤波器的设计Word文件下载.docx
《基于02芯片的IR数字滤波器的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于02芯片的IR数字滤波器的设计Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
数字滤波器实际上是一个采用有限精度算法实现的线性非时变离散系统,滤波器的功能实现实际上是通过大量的加法运算和乘法运算完成的。
从IIR数字滤波器的实现来看,有直接型、级联型、并联型和格型等基本网络结构。
不同的结构形式会有不同的运算误差,其稳定性、运算速度、所占用的存储空间等也有所不同[3]。
其中直接Ⅱ型仅需要N级延迟单元,且可作为级联型和并联型结构中的基本单元,是最常用的IIR数字滤波器结构之一。
IIR数字滤波器差分方程的一般形式为:
其中y(n)由两部分构成:
第一部分
是一个对x(n)的M阶延时链结构,每节延时抽头后加权相加,也即是一个横向结构网络;
第二部分
也是一个N阶延时链的横向结构网络,不过它是对y(n)的延时,因此是一个反馈网络,这种结构称为直接I型,如图1所示:
图1直接I型结构方框图
将上式改写为(当M=N的情况):
由此H(z)可视为分子多项式
与分母多项式
的倒数所构成的两个子系统函数的乘积,这相当于两个子系统的级联。
其中第一个子系统实现零点为:
故得:
其时域表示为:
第二子系统实现极点为:
整理以后可得:
综上所述可以得到如图2所示的实现结构:
图2直接I型变形结构方框图
如果将图2中相同输出的延迟单元合并成一个,则得到如图3所示的构图,它比上图的延迟单元少了一倍,N阶滤波器只需要N级延迟单元,这是实现N阶滤波器所必须的最少数量的延迟单元。
这种结构称为直接型II,有时将直接型I简称为直接型,将直接型II称为典型型式:
图3直接II型结构方框图
直接型I、II结构的优点是简单直观。
它们的共同缺点是:
系数
、
对滤波器性能的控制关系不直接,因此调整不方便。
但因为其简单直观,且在IIR滤波器结构中,直接II型结构是最常用的结构,因为这种结构的二阶形式可以作为级联型和并联型结构的基本环节。
所以在本次的设计中采用了直接II型IIR滤波器的设计结构。
如图4所示:
图4直接II型IIR滤波器
3IIR滤波器的MATLAB辅助设计
3.1IIR数字滤波器设计步骤
IIR数字滤波器设计借助模拟滤波器原型,再将模拟滤波器转换成数字滤波器。
这些过程已经成为一整套成熟的设计程序。
模拟滤波设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询。
因此,充分利用这些已有的资源会给数字滤波器的设计带来很大的方便。
具体在MATLAB中设计IIR数字滤波器的设计步骤如下:
按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;
根据转换后的技术指标使用滤波器选择函数,确定最小阶数N和固有频率Wn;
运用最小阶数N产生模拟低通滤波器原型,运用固有频率把模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器。
本设计主要应用产生低通滤波器,运用脉冲响应不变法或双线性不变法把模拟滤波器转换成数字滤波器。
对于脉冲响应不变法,它是将s域内的H(s)转换成z域内的H(z),但是在映射时,S域内不能一一对应到Z域内的单位圆上,因此容易在仿真中易产生混叠现象,影响实验效果。
基于此,本次设计在MATLAB的仿真中优先考虑应用双线性变换法。
MATLAB工具箱提供了几种模拟滤波器的原型产生函数,Butterworth滤波器原型,Chebyshev(I型、II型)滤波器原型、椭圆滤波器原型等不同的模拟滤波器原型,从模拟滤波器向数字滤波器转换的双线性变换法和脉冲响应不变法等方法,模拟IIR数字滤波器阶数选择函数以及数字滤波器直接设计函数等等。
另外,MATLAB信号处理工具箱提供了几个直接设计IIR数字滤波器的函数。
这一整套设计函数给在MATLAB中设计IIR数字滤波器带来了极大的方便。
3.2利用MATLAB软件设计IIR数字滤波器
IIR低通数字滤波器根据相关技术指标进行matlab仿真,从而计算出相应的传输函数。
其仿真结果结果如图5所示:
图5利用MATLAB仿真图
根据以上仿真结果及相应的系数和N值,在相关技术指标不变的情况下,我选用了ChebyshevI型双线性变换法。
4IIR滤波器的实现
4.1基于DSP的数字滤波器总体硬件设计方案
TI公司的2000系列和5000系列的DSP都通用型的芯片,考虑到2000系列的DSP多用于控制方面,而5000系列较2000系列具有更高的时钟频率、更低的价格和更加强大的运算功能,所以在数字滤波器系统的设计中采用了TI公司的一款高性能、低功耗的定点DSP:
TMS320VC5402。
TMS320VC5402主要特性:
(1)CPU:
进的多总线结构,具有1条程序存储器总线,3条分开的16位数据存储器总线;
40位算术逻辑单元(ALU),包括40位的桶型移位寄存器和两个独立的40位累加器;
7位×
17位的并行乘法器与一个40位的专用加法器结合在一起,用于非流水线的单周期乘/累加(MAC)操作;
比较,选择和存储单元(CSSU),用于Viterbi操作中的加/比较选择指数编码器用于在单周期内计算40位累加器的指数值;
2个地址生成器,包括8个辅助寄存器和2个辅助寄存器算术单元(ARAUs);
数据总线具有数据保持特性。
(2)存储器:
数据总线具有数据保持特性;
最大可寻址外部程序空间为1M×
16位的的扩展可寻址模式;
4k×
16位的片内ROM;
16k×
16位双寻址的片内RAM。
(3)指令系统:
程序代码的单指令重复和块重复操作指令;
用于有效地程序和数据管理的存储器块传递指令;
32位长字节操作数指令;
读入2个或3个操作数的指令;
并行存储和装入的算术指令;
条件存储指令;
快速从中断返回指令。
(4)在片外围电路:
软件可编程等待状态发生器和可编程分区转换控制器;
片内锁相环(PLL)时钟发生器,可采用内部震荡器或外部的时钟源;
两个多通道缓冲串口(McBSPs)加强的8位并行主机接口(HPI8);
两个16位定时器;
6通道直接存储访问(DMA)控制器。
(5)电源:
用功耗下降模式下的IDLE1,IDLE2和IDLE3指令控制芯片的功耗;
控制禁止信号CLKOUT。
(6)其他:
有符合IEEE1149.1标准的芯片仿真接口;
0ns单周期定点指令运行时间(100MIPS),电源3.3v(内核1.8v);
44管脚TQFP封装和BGA封装。
MS320VC5402DSP采用先进的修正哈佛结构和8总线结构,使处理器的性能大大提高。
其独立的程序和数据总线,允许同时访问程序存储器和数据存储器,实现高度并行操作。
此外,还可以在数据总线和程序总线之间相互传送数据,从而使处理器具有在单周期内同时执行算术运算、逻辑运算、移位操作、乘法累加运算以及访问程序和数据存储器的功能。
该DSP具有较快的运算速度:
运算速度最快可达532MIPS;
采用了低功耗设计方式:
内核电压为1.8V,I/O电压为3.3V。
数字滤波系统的具体方案框图如图6所示:
图6数字滤波器系统方案框图
通常的设计中会采用SV供电并行的ADC(模数转换)和DAC(数模转换)芯片与DSP连接,传输数据过程中会占用总线的时间,而且需要采用多片电平转换器件将SV电平转换为3.3V的逻辑电平。
考虑到TMS320VC5402的片上包含两个McBSP(多通道缓冲串行口)接口,可以将这两个通道模仿实现SPI的时序,因此本设计中采用了SPI接口器件,ADC芯片采用的是TLV1570,实现将需要滤波信号从模拟转换到数字信号的实时采样。
数模转换芯片采用的是TLV5608,实现滤波后的信号从数字信号恢复为所需要的模拟信号。
JTGA口供DSP芯片下载程序调试。
4.2TMS320C5402的体系结构
TMS320VC5402处理器在本系列中处于先进水平。
它具有运算速度快,内部存储空间大,外部接口性能好等优点。
所以我选择了技术上比较先进,价格又较便宜的C5402作为硬件开发对象。
下面结合C5402的实际情况,介绍一下该芯片的体系结构。
C5402共有144个引脚,其中有20根地址线AO-A19,16根数据线DO-D15,4个外部可屏蔽引脚INTO#-INT3#和一个不可屏蔽中断引脚BIO#,剩下的引脚可以分成以下几类:
存储器控制引脚,时钟/晶振引脚,多通道缓冲串口引脚,主机接口通讯引脚,电源引脚,初始化和复位引脚,通用输入/输出引脚,以及用于测试的IEEE1149.1标准JTAG口。
4.3最小系统设计
一个DSP系统可分为最小系统设计和外围接口设计两部分。
DSP在必要的工作环境下才能正常工作,构建能支持DSP正常工作的最小系统,包括复位、时钟、电源及JTGA仿真口,FLASH接口设计等。
4.4IIR数字滤波器的数据存储设计
TMS320C54X定点DSP提供了单周期乘/累加指令MAC和循环寻址方式,使IIR数字滤波器每个样值的计算可以在一个周期内完成。
IIR数字滤波器每个样值的计算就是实现两数组对应项乘积的累加和。
在计算时有前向通道和反馈通道两部分,因此在计算设计时要充分考虑x(n)、y(n)和h(n)系数的存放位置,并正确初始化这两个存储块指针,这样在计算中才能够准确的提取数据,实现乘加运算。
图7是IIR滤波器数据存放和系数表:
图7IIR数字滤波器数据存放和系数表
在程序设计中,首先将数据放入相应的段中,X数据指针AR2指向X0,同时将H(n)的指针AR1指向B0,利用乘加指令完成前向通道的一次运算;
接着修改指针,AR2指针增1,H(n)的指针AR1减1,依次完成前向通道的乘加运算;
反馈通道应用同样的方法进行乘加。
在程序设计时,可以采用先增益后衰减的方法,亦可采用先衰减后增益的方法。
但是采用先衰减后增益的方式其系统动态范围和鲁棒性较好,因此在设计中采用了后一种方法。
4.5IIR数字滤波器的设计流程
在设计滤波器时首先要有清晰的思路,因此流程图的设计至关重要。
本设计采用的是基于DSP的IIR数字滤波,针对其要完成的功能,对其流程进行了初步规划,如图8所示:
图8IIR数字滤波器的设计流程
根据设计流程,通过DSP仿真软件编译出适合参数要求的汇编程序。
运用汇编语言进行程序编写使其具有更好的实时性,此外运用汇编语言编写更有助于以后的设计拓展。
其IIR数字滤波主程序段如下:
……
IIR:
PORTRPA1,*AR2;
输入端口读入数据
MPY*AR2+0%,*AR4+0%,A;
乘法运算,A=b0×
x(n)
MAC*AR2+0%,*AR4+0%,A;
第1次乘法累加A1=b1*x(n-1)+b0*x(n)
MAC*AR2,*AR4+0%,A;
第2次乘法累加
A2=b2*x(n-2)+A1
MAC*AR3+0%,*AR5+0%,A;
第3次乘法累加A3=a1*y(n-2)+A2
第4次乘法累加A4=a2*y(n-2)+A3
MAR*AR5+0%;
修正AR5
STHA,*AR7+;
存储y(n)
PORTW*AR7,PA0;
从输出端口输出y(n)
BDIIR;
循环
4.6基于DSP的IIR数字滤波器的软件调试
本次设计在调试中出现了许多问题,但经过老师的指导成功的完成了IIR数字滤波,其运行结果如图9、图10所示:
图9利用DSP的IIR数字滤波效果图
(1)
图10利用DSP的IIR数字滤波效果图
(2)
在效果图中,上面波形为DSP实验箱产生的滤波前的效果图,下面波形为进行IIR滤波后的效果图。
从两图的比较可以看出,所设计的IIR滤波器收到了较好的效果,完成了设计要求。
4.6设计过程中遇到的问题及解决方法
(1)在编写程序的过程中要对所涉及的存储单元进行初始化,这样在数据或是代码段进行汇编时才不会出现问题。
(2)编写程序需要对数据段、代码段、堆栈段进行设置。
要编写相应的.cmd(链接命令文件)文档对其进行合理化的分配空间。
(3)在编写程序时一定要编写相应的中断向量表文件,这样在汇编时才不会出错。
5结束语
通过对本课题的研究,自己从中取得了一些成绩,理论水平也得到了一定的提高,同时也暴露了一些问题:
首先,对一个课题必须要阅读大量的文献和书籍来获得一定的感性认识,然后才能有自己的想法,这是一条必经之路。
其次,理论基础知识很重要,论文涉及了很多的算法,会用到很多基础知识,如果用的时候再去学会浪费时间,因此要在平时注意搜集相关的资料,多学一些有用实用的技术,这样在以后的学习和工作中才能够做到游刃有余。
最后,要有信心,遇到困难要向别人请教,这样可以大大加快研究进程。
以上是我做论文的一些心得体会,这些对我以后的学习会有很大的帮助。
从搜集资料到程序实现再到论文的完成,在此过程中我受益匪浅。
在整个过程中,我认真复习了数字滤波器的原理和设计方法,学习了MATLAB仿真方法,并对DSP编程有了更深的认识进而掌握了一些编程方法,此外,在画原理图时,重新学习了Protel,论文也逐字修改。
通过本课题的设计,我在各个方面都得到了锻炼。
此外,要感谢尊敬的**老师,本设计是在他的精心指导和关怀下完成的。
丁老师在学术上给予我大力帮助和指导,为我创造良好的学习氛围,正是在这种环境下我才能够顺利完成本次设计。
从**老师身上,我懂得了做事要严谨认真、脚踏实地、勤于动脑、勤于动手,这些在以后的工作和生活中将是我所要努力做到的。
特此向**老师诚挚的谢意!
6参考文献
[1]王潞钢,陈林康,曾岳南,许贤昶.DSPC2000程序员高手进阶.机械工业出版社.2004.10.
[2]赵红怡.DSP技术与应用实例.电子工业出版社.2003.6.
[3]潘松,黄继业,王国栋.现代DSP技术.西安电子科技大学出版社.2004.5.
[4]丁玉美,高西全.数字信号处理.西安电子科技大学出版社.2006.7.
5]刘顺兰,吴杰,高西全.数字信号处理.西安电子科技大学出版社.2003.8.
[6]楼顺天,刘小东,李博菡.基于MATLAB7.X的系统分析与设计—信号处理.西安电子科技大学出版社.2005.5.
附件
(1)IIR数字滤波器源文件:
.title"
iir.asm"
.mmregs
.def_start
.global_main
DX.usect"
DX"
3
DY.usect"
DY"
DB.usect"
DB"
DA.usect"
DA"
PA0.set0;
800BH
PA1.set1;
800CH
.data
table:
.word0
.word0
.word0
.word1*32768/10
.word2*32768/10
.word3*32768/10
.word5*32768/10
.word-4*32768/10
.text
_main:
_start:
SSBXFRCT
STM#DX,AR1
RPT#1
MVPD#table,*AR1+
STM#DY,AR1
MVPD#table+2,*AR1+
STM#DB,AR1
RPT#2
MVPD#table+4,*AR1+
STM#DA,AR1
MVPD#table+7,*AR1+
STM#DX+2,AR2
STM#DY+1,AR3
STM#DB+2,AR4
STM#DA+1,AR5
STM#3,BK
STM#-1,AR0
LOOP:
STM0FFH,AR6
STM1000H,AR1
STM2000H,AR7
从输入端口读入数据
MAC*AR2+0%,*AR4+0%,A;
第1次乘法累加1=b1*x(n-1)+b0*x(n)
第2次乘法累加A2=b2*x(n-2)+A1
存储y(n)
PORTW*AR7,PA0;
.end
(2).cmd文件(链接器命令文件)
-stack0x200
MEMORY
{
PAGE0:
PROG:
origin=1a00h,length=2600h
PAGE1:
DATA:
origin=0200h,length=1800h
}
SECTIONS
.text>
PROGPAGE0
DX:
align(4){}>
DATAPAGE1
DY:
DB:
DA:
cinit>
.switch>
.vect>
3f80hPAGE0
.data>
.bss>
xn>
DATAPAGE1,align(32)
h>
.const>
.sysmem>
.stack>
本文是通过网络收集的资料,如有侵权请告知,我会第一时间处理。
.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 02 芯片 IR 数字滤波器 设计