fir滤波器的设计 dsp 数字信号处理 课程设计.docx
- 文档编号:4641425
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:8
- 大小:237.60KB
fir滤波器的设计 dsp 数字信号处理 课程设计.docx
《fir滤波器的设计 dsp 数字信号处理 课程设计.docx》由会员分享,可在线阅读,更多相关《fir滤波器的设计 dsp 数字信号处理 课程设计.docx(8页珍藏版)》请在冰豆网上搜索。
fir滤波器的设计dsp数字信号处理课程设计
有限冲击响应FIR滤波器的设计
1.设计流程:
2.设计原理:
数字滤波器是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。
一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系,应满足差分方程为:
对其进行z变换,可得到FIR滤波器的传递函数为:
=
则,FIR滤波器的结构如下图:
FIR滤波算法实际上是一种乘法累加运算。
它不断输入样本,经延时,作乘法累加,再输出滤波结果y(n)。
在这里使用FIR滤波器,它有以下几个特点:
(1)系统的单位冲激响应h(n)在有限个n值处不为零;
(2)系统函数H(z)在|z|>0处收敛,在|z|>0处只有零点,有限z平面只有零点,而全部极点都在z=0处;
(3)结构主要是非递归结构,没有输出到输入的反馈。
在DSP芯片中,实现z-1算法很方便,可采用循环缓冲区法,其特点如下:
对于N级FIR滤波器,在数据存储器中开辟一个N单元的缓冲区(窗),用来放最新的N个输入样本;
从最新样本开始取数;
读完最后一个样本后,输入最新样本来代替最老样本,而其他数据位置不变;
用片内循环缓冲区长度寄存器对缓冲区进行间接寻址,是循环缓冲区地址首位相邻。
3.设计方案:
1、利用MATLAB来确定FIR滤波器的参数;
具体方法为:
利用fir2函数产生滤波系数:
b=fir2(n-1,f,m),参数n为滤波器的阶数;f为频率参数,m表示低通
2、启动CCS,在CCS中建立一个C源文件和一个命令文件,并将这两个文件添加到工程,再编译并装载程序;
3、设置波形时域观察窗口,得到滤波前后的波形变化图;
4、设置频域观察窗口,得到滤波前后的频谱变化图。
4设计参数:
设计一个低通滤波器,其设计参数为:
滤波器阶数40,截止频率wp=0.4π,ws=0.45π。
5设计程序
1、滤波器系数产生:
在MATLAB中,调用函数为
f=[00.40.451];
m=[1100];
b=fir2(39,f,m)
求得系数为
b=
Columns1through11
0.0007-0.0005-0.00140.00000.00280.0018-0.0043-0.00610.00390.01310.0014
Columns12through22
-0.0210-0.01510.02530.0404-0.0176-0.0834-0.02270.19020.39250.39250.1902
Columns23through33
-0.0227-0.0834-0.01760.04040.0253-0.0151-0.02100.00140.01310.0039-0.0061
Columns34through40
-0.00430.00180.00280.0000-0.0014-0.00050.0007
2、汇编源程序:
采用循环缓冲区实现FIR滤波器的源程序如下:
.title"FIR.ASM"
.mmregs
.bssy,1
K_FIR_BFFR.set40
PA0.set0
PA1.set1
FIR_COFF_TABLE.usect"FIR_COFF",40
D_DATA_BUFFER.usect"FIR_BFR",40
.data
COFF_FIR_START.word7*32768/10000,-5*32768/10000;b0,b1
.word-14*32768/10000,0*32768/10000;b2,b3
.word28*32768/10000,18*32768/10000;b4,b5
.word-43*32768/10000,-61*32768/10000;b6,b7
.word39*32768/10000,131*32768/10000;b8,b9
.word14*32768/10000,-210*32768/10000;b10,b11
.word-151*32768/10000,253*32768/10000;b12,b13
.word404*32768/10000,-176*32768/10000;b14,b15
.word-834*32768/10000,-227*32768/10000;b16,b17
.word1902*32768/10000,3925*32768/10000;b18,b19
.word3925*32768/10000,1902*32768/10000;b20,b21
.word-227*32768/10000,-834*32768/10000;b22,b23
.word-176*32768/10000,404*32768/10000;b24,b25
.word253*32768/10000,-151*32768/10000;b26,b27
.word-210*32768/10000,14*32768/10000;b28,b29
.word131*32768/10000,39*32768/10000;b30,b31
.word-61*32768/10000,-43*32768/10000;b32,b33
.word18*32768/10000,28*32768/10000;b34,b35
.word0*32768/10000,-14*32768/10000;b36,b37
.word-5*32768/10000,7*32768/10000;b38,b39
.text
.defFIR_INIT
.defFIR_TASK
FIR_INIT:
SSBXFRCT
STM#FIR_COFF_TABLE,AR5
RPT#K_FIR_BFFR-1
MVPD#COFF_FIR_START,*AR5+
STM#D_DATA_BUFFER,AR4
RPTZA,#K_FIR_BFFR-1
STLA,*AR4+
STM#(D_DATA_BUFFER+K_FIR_BFFR-1),AR4
STM#(FIR_COFF_TABLE+K_FIR_BFFR-1),AR5
STM#-1,AR0
LDD_DATA_BUFFER,DP
PORTRPA1,@D_DATA_BUFFER
FIR_TASK:
STM#K_FIR_BFFR,BK
RPTZA,#K_FIR_BFFR-1
MAC*AR4+0%,*AR5+0%,A
STHA,@y
PORTW@y,PA0
BDFIR_TASK
PORTRPA1,*AR4+0%
.end
3、汇编源程序的链接命令文件:
在TM320VC5403DSP硬件系统中,基于其资源配置,FIR滤波器源程序的链接命令文件如下:
MEMORY
{
PAGE0:
EPROM:
org=0E000Hlen=1000H
VECS:
org=0FF80Hlen=0080H
PAGE1:
SPRAM:
org=0060Hlen=0020H
DARAM:
org=0080Hlen=1380H
}
SECTIONS
{
.text:
>EPROMPAGE0
.text:
>VECSPAGE0
.data:
>EPROMPAGE0
.bss:
>SPRAMPAGE1
FIR_BFR:
align(128){}>DARAMPAGE1
FIR_COFF:
align(128){}>DARAMPAGE1
}
6、实验结果及分析:
输入波形:
输入时域波形
输入频域波形
输出波形:
输出时域波形
输出频域波形
结果分析:
时域图中,滤波前波形有很多毛刺,滤波后,是平滑的等幅正弦波,而且滤波后最大振幅有所减小。
频域图中,滤波前有两个带尖峰的图像,滤波后只有一个带尖峰图像,而且是出现在低频部分,说明信号经过低通滤波器后,将信号中的高频成分滤除掉了。
7、设计总结、心得:
这次课程设计实现了一个简单的FIR滤波器的设计,在老师的精心指导和帮助以及自己上网查找资料,较好的完成了课程设计的任务并达到了理想的目的。
在这里我对老师表示感谢,感谢她的耐心和热心。
通过这次课程设计使我对DSP芯片有了更深一步的了解,同时也对CCS有了不少理解,也不断的强化了自己的基础知识。
在设计过程中,和同学们相互探讨,相互学习,相互监督。
学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。
通过课程设计,使我深深体会到,干任何事都必须耐心,细致.课程设计过程中,许多程序不免令我感到有些心烦意乱:
有多次运行出错,只能毫不情意地重来.但想到今后自己应当承担的社会责任,想到世界上因为某些细小失误而出现的令世人无比震惊的事故,我不禁时刻提示自己,一定呀养成一种高度负责,认真对待的良好习惯.这次课程设计使我在工作作风上得到了一次难得的磨练。
DSP原理及应用
课程设计
题目:
FIR滤波器设计
学院:
信息工程学院
专业班级:
信息0802班
姓名:
刘智平
学号:
2008001226
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- fir滤波器的设计 dsp 数字信号处理 课程设计 fir 滤波器 设计 数字信号 处理