DSP课程设计IIR滤波器的实现.docx
- 文档编号:23556223
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:11
- 大小:139.47KB
DSP课程设计IIR滤波器的实现.docx
《DSP课程设计IIR滤波器的实现.docx》由会员分享,可在线阅读,更多相关《DSP课程设计IIR滤波器的实现.docx(11页珍藏版)》请在冰豆网上搜索。
DSP课程设计IIR滤波器的实现
DSP课程设计IIR滤波器的实现
设计二IIR滤波器的实现一、设计目的
1.加深对IIR滤波器原理和基本性质的理解;
2.熟悉IIR滤波器子程序的算法流程和应用;
3.学习DSP的IIR滤波器设计和编程思想;
4.学习使用CCS的波形观察器观察波形和频谱情况;二、设计内容
在了解IIR滤波器的基本原理之后,首先利用MATLAB软件来设计。
滤波器设计可以采用巴特沃斯滤波器设计、切比雪夫滤波器设计、椭圆滤波器设计等等。
高阶IIR滤波器可以通过多个二阶IIR滤波器的级联和并联来实现,以此来实现滤波器的定点DSP。
DSP步骤
1.配置CCS为TMS320VC5402仿真模式,并新建一个工程。
2.新建一个汇编文件,写入一个滤波程序。
3.新建一个cmd文件,写入给滤波程序的cmd程序。
4.将汇编源程序和cmd文件添加到新建工程中,设这编译后,根据报错分析并解决问题
5.没有error和warning后,将*.out文件load到内存中运行。
6.设置程序运行起始位置为3000h,运行程序后,观察memory中的数据,滤波前的数据从地质320h开始,滤波后的数据存放在地址200h开始。
1
7.观察graph中滤波前后的时域和频域波形,对比两者并进行分析。
三、设计原理
(一).IIR滤波器差分方程的一般表达式为:
式中x(n)为输入序列;y(n)为输出序列;和为滤波器系数.若所有系数等于0,则为FIR滤波器.
IIR滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路,具有递归性,即IIR滤波器的输出不仅与输入有关,而且与过去的输出有关.
将上式展开得出y(n)表达式为:
在零初始条件下,对上式进行z变换,得到:
设N=M,则传递函数为:
上式可写成:
2
上式具有N个零点和N个极点.若有极点位于单位圆外将导致系统不稳定.由于FIR滤波器所有的系数均为0,不存在极点,不会造成系数的不稳定.对于IIR滤波器,系统稳定的条件如下:
若||<1,当n?
时,h(n)?
0,系统稳定;
若||>1,当n?
时,h(n)?
系统不稳定.
IIR滤波器具有多种形式,主要有:
直接型(也称直接I型)、标准型(也称直接II型)、变换型、级联型和并联型.
(二).二阶IIR滤波器,又称为二阶基本节,分为直接型、标准型和变换型.
对于一个二阶IIR滤波器,其输出可以写成:
1.直接型(直接I型)
根据上式可以得到直接二型IIR滤波器的结构图.如图1所示.共使用了4个延迟单元().
3
图1直接I型二阶IIR滤波器直接型二阶IIR滤波器还可以用图2的结构实现.
图2直接I型二阶IIR滤波器此时,延时变量变成了w(n).可以证明上图的结构仍满足二阶
IIR滤波器输出方程.
前向通道:
反馈通道:
4
将1.2式代入1.1式可得:
2.标准型(直接II型)
从图2可以看出,左右两组延迟单元可以重叠,从而得到标准二阶IIR滤波器的结构图,如图3所示.由于这种结构所使用的延迟单元最少(只有2个),得到了广泛地应用,因此称之为标准型IIR滤波器.
图3标准型二阶IIR滤波器
四、总体设计方案
DSP实现
TI公司的2000系列和5000系列的DSP都通用型的芯片。
考虑
5
到2000系列的DSP用于控制方面,而5000系列较2000系列具有更高的时钟频率、更低的价格和更强大的运算功能,所以在数字滤波器系统的设计中采用了TI公司的一款高性能、低功耗的定点DSP:
TIM320VC5402。
该DSP具有较快的运算速度:
运算素的最快可达532MIPS;采用了低功耗设计方式:
内核电压为1.8V,I/O电压为3.3V。
数字滤波器系统的具体方案框图如图:
在程序设计中,首先将数据放入响应的段中,X数据指针AR2指向X0,同时将H(n)的指针AR1指向B0,利用乘加指令完成前向通道的一次运算;接着修改指针,AR2指针增1,H(n)的指针AR1减1,依次完成前向通道的乘加运算;反馈通道应用同样的方法进行乘加。
在程序设计时,可以采用先增益后衰减的方法,亦可采用先衰减后增益的方法。
但是采用先衰减后增益的方法其系统动态范围和鲁棒行较好,因此在设计中采用了后一种方法。
6
在设计时首先要有清晰的思路,因此流程图的设计至关重要。
本
次设计采用的是基于DSP的IIR数字滤波,针对其要完成的功能,
对其流程进行了初步规划,如图所示:
IIR滤波器设计流程
五、源程序
.title"IIR.ASM"
.mmregs
.defstart
DX.usect"DX",3
DY.usect"DY",3
7
DB.usect"DB",3DA.usect"DA",3PA0.set0
PA1.set1
.data
table:
.word0.word0
.word0
.word0
.word1*32768/10.word2*32768/10.word3*32768/10.word5*32768/10.word-4*32768/10.text
start:
SSBXFRCTSTM#DX,AR1
RPT#1
MVPD#table,*AR1+STM#DY,AR1
RPT#1
MVPD#table+2,*AR1+
8
STM#DB,AR1
RPT#2
MVPD#table+4,*AR1+STM#DA,AR1
RPT#1
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
IIR:
PORTRPA1,*AR2MPY*AR2+0%,*AR4+0%,AMAC*AR2+0%,*AR4+0%,AMAC*AR2,*AR4+0%,AMAC*AR3+0%,*AR5+0%,AMAC*AR3+0%,*AR5+0%,AMAR*AR5+0%
STHA,*AR3
BDIIR
PORTW*AR3,PA0
9
.end
链接命令文件
vectors.obj
iir.obj
-oiir.out
-miir.map
-estart
MEMORY
{
PAGE0:
EPROM:
org=0E000Hlen=1000HVECS:
org=0FF80Hlen=0080HPAGE1:
SPRAM:
org=0060Hlen=0020HDARAM:
org=0080Hlen=1380H}
SECTIONS
{
.text:
>EPROMPAGE0.data:
>EPROMPAGE0DX:
align(4){}>DARAMPAGE1DY:
align(4){}>DARAMPAGE1
10
DB:
align(4){}>DARAMPAGE1DA:
align(4){}>DARAMPAGE1.vectors:
>VECSPAGE0
}
六、实验结果与分析
本次设计在调试中出现了不少问题,但在同组同学的共同努力与老师的帮助下,最终完成了调试。
11
在效果图中,上面波形为输入波形效果图,下面波形为进行IIR滤波后的效果图,从靓图比较可以看出,所设计的IIR滤波器收到了较好的效果,完成了设计要求。
在编写及调试的过程中主要遇到了以下问题:
(1)在编写程序的过程中要对所涉及的存储单元进行初始化,这样在数据或是代码段进行汇编时才不会出现问题。
(2)编写程序需要对数据段、代码段、堆栈段进行设置。
要编写响应的.cmd(链接命令文件)文档对其进行合理化的分配空间。
(3)在编写程序时一定要编写响应的中断向量文件,这样在汇编时才不会出错。
八、设计总结
本次课设的内容是IIR滤波器的设计,首先感谢学院提供的这次难得到实验机会,通过实践来巩固自己学习的理论知识。
还要感谢实验室提供的良好实验环境,特别要感谢老师的辛勤指导。
通过这次课程设计,我获益良多。
有了一定的DSP系统软硬件设计的能力。
第一次接触用DSP实现一定的功能。
有很多问题不懂,在老师的耐心指导和同学帮助下,自己也通过网络查阅了很多资料,终于完成这次设计,对DSP的掌握也更深刻。
通过这次课程设计,在实践中锻炼了我的动手能力,将自己学习的知识运用到实际问题中,也学到了很多书本上没有的知识。
总的来说,这次课程设计让我受益匪浅~
12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 课程设计 IIR 滤波器 实现