收藏 分销(赏)

DSP课程设计报告FIR滤波器的设计.doc

上传人:丰**** 文档编号:2961852 上传时间:2024-06-12 格式:DOC 页数:9 大小:158.50KB 下载积分:6 金币
下载 相关 举报
DSP课程设计报告FIR滤波器的设计.doc_第1页
第1页 / 共9页
DSP课程设计报告FIR滤波器的设计.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
本科课程设计报告 课程名称: DSP原理及应用 设计项目: FIR滤波器的设计 实验地点: 多学科楼机房 专业班级: 学号: 学生姓名: 指导教师: 2012年1月8日 一、设计目的: 1、掌握数字滤波器的设计过程; 2、了解FIR的原理和特性; 3、熟悉设计FIR数字滤波器的原理和方法; 4、学习FIR滤波器的DSP的实现原理; 5、学习使用CCS的波形观察窗口观察输入/输出信号波形和频谱变化情况。 二、设计内容: 1、通过MATLAB来设计一个低通滤波器,对它进行模拟仿真确定FIR滤波器系数; 2、用DSP汇编语言进行编程,实现FIR运算,对产生的合成信号,滤除信号中高频成分,观察滤波前后波形的变化。 三、设计原理: FIR数字滤波器是一种非递归系统,其传递函数为: H(z)=Y(z)/X(z)=∑b(n)z-n 由此可得到系统的差分方程为:y(n)=∑h(i)x(n-i),其冲击响应h(n)是有限长序列,它其实就是滤波器系数向量b(n),N为FIR滤波器的阶数。 为了使滤波器满足线性相位条件,要求其单位脉冲响应h(n)为实序列,且满足偶对称或奇对称条件,即h(n)=h(N-1-n)或h(n)=- h(N-1-n) 这样,当N为偶数时,偶对称线性相位FIR滤波器的差分方程表达式为:y(n)=∑h(i)x(n-i)+x((N-1-n-i) 应用MATLAB设计FIR滤波器的主要任务就是根据给定的性能指标设计一个H(z),使其逼近这一指标,进而计算并确定滤波器的系数b(n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化,设计完成之后将得到FIR滤波器的单位冲击响应序列h(n)的各个参数值。 matlab用fir1函数设计FIR滤波器: fir1函数用来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR数字滤波器的设计。具体语法如下: b=fir1(n,Wn) b=fir1(n,Wn,‘ftype’) b=fir1(n,Wn,Window) b=fir1(n,Wn,‘ftype’,Window) 其中n为滤波器的阶数;Wn为滤波器的截止频率; ftype为用来决定滤波器的类型,当ftype=high时,可设计高通滤波器;当ftype=stop时,可设计带阻滤波器。Window为用来指定滤波器采用的窗函数类型,Window参数可采用的窗口函数有: Boxcar,Hanning,Bartlett,Blackman,Kasier和chebwin等,其默认时为Hamming窗,从而得到滤波器的系数。 matlab用fir2函数设计FIR滤波器: fir2函数用来设计有任意频率响应的各种加窗FIR滤波器。具体语法如下: b=fir2(n,f,m) b=fir2(n,f,m,Window) b=fir2(n,f,m,npt) b=fir2(n,f,m,npt,Window) b=fir2(n,f,m,npt,lap) b=fir2(n,f,m,nptt,lap,Window) 其中n为滤波器的阶数;f为频率点矢量;m为幅度点矢量;Window用来指定所使用的窗函数类型,默认值为汉明(Hamming)窗;npt用来指定fir2函数对频率响应进行内插的点数;lap用来指定fir2函数在重复频率点附近插入的区域大小,从而得到滤波器的系数。 四、主要参数: 滤波器阶数n为40,截止频率为wp=0.35, ws=0.4。 五、总体方案设计: 1、由给定的设计参数确定滤波器的系数: 根据给定的设计参数,滤波器系数可由MATLAB中的fir2函数产生,函数调用格式为: f =[0 0.35 0.4 1]; m =[1 1 0 0]; b =fir2(39, f, m) 求得的系数为: b = Columns 1 through 6 -0.0007 0.003 0.0014 0.0010 -0.0016 -0.0038 Columns 7 through 12 -0.0008 0.0064 0.0081 -0.0030 -0.0169 -0.0118 Columns 13 through 18 0.0162 0.0353 0.0083 -0.0515 -0.0689 0.0247 Columns 19 through 24 0.2051 0.3523 0.3523 0.2051 0.0247 -0.0689 Columns 25 through 30 -0.0515 0.0083 0.0353 0.0162 -0.0118 -0.0169 Columns 31 through 36 -0.0030 0.0081 0.0064 -0.0008 -0.0038 -0.0016 Columns 37 through 40 0.0010 0.0014 0.0003 -0.0007 2、用CCS进行汇编编程,实现FIR滤波器滤波。 六、源程序: .title "FIR.ASM" .mmregs .bss y,1 K_FIR_BFFR .set 40 PA0 .set 0 PA1 .set 1 FIR_COFF .usect "FIR_COFF",40 ;定义数据存储空间 D_DATA_BUFFER .usect "FIR_BFR",40 ;定义数据存储空间 .data COFF_FIR_START: .word -7*32768/10000,3*32768/10000 ;b0,b1 .word 14*32768/10000,10*32768/10000 ;b2,b3 .word -16*32768/10000,-38*32768/10000 ;b4,b5 .word -8*32768/10000,64*32768/10000 ;b6,b7 .word 81*32768/10000,-30*32768/10000 ;b8,b9 .word -169*32768/10000,-118*32768/10000 ;b10,b11 .word 162*32768/10000,353*32768/10000 ;b12,b13 .word 83*32768/10000,-515*32768/10000 ;b14,b15 .word -689*32768/10000,247*32768/10000 ;b16,b17 .word 2051*32768/10000,3523*32768/10000 ;b18,b19 .word 3523*32768/10000,2051*32768/10000 ;b20,b21 .word 247*32768/10000,-689*32768/10000 ;b22,b23 .word -515*32768/10000,83*32768/10000 ;b24,b25 .word 353*32768/10000,162*32768/10000 ;b26,b27 .word -118*32768/10000,-169*32768/10000 ;b28,b29 .word -30*32768/10000,81*32768/10000 ;b30,b31 .word 64*32768/10000,-8*32768/10000 ;b32,b33 .word -38*32768/10000,-16*32768/10000 ;b34,b35 .word 10*32768/10000,14*32768/10000 ;b36,b37 .word 3*32768/10000,-7*32768/10000 ;b38,b39 .text .def FIR_INIT .def FIR_TASK FIR_INIT: SSBX FRCT ;设置小数乘法 STM #FIR_COFF,AR5 ;AR1指向b0单元 RPT #K_FIR_BFFR-1 ;设置传输次数 MVPD #COFF_FIR_START,*AR5+ ;系数bi传输至数据区 STM #D_DATA_BUFFER,AR4 ;D_DATA_BUFFER缓冲区清0 RPTZ A,#K_FIR_BFFR-1 STL A,*AR4+ STM #(D_DATA_BUFFER+K_FIR_BFFR-1),AR4 STM #(FIR_COFF+K_FIR_BFFR-1),AR5 STM #-1,AR0 ;设置双操作数减量 LD #D_DATA_BUFFER,DP ;设置页指针 PORTR PA1,@D_DATA_BUFFER ;输入x(n) FIR_TASK: STM #K_FIR_BFFR,BK RPTZ A,#K_FIR_BFFR-1 ;重复操作 MAC *AR4+0%,*AR5+0%,A ;双操作数乘法-累加 STH A,@y ;暂存y(n) PORTW @y,PA0 ;输出y(n) BD FIR_TASK ;循环 PORTR PA1,*AR4+0% ;输入最新样本,并修正AR3 .end (命令程序) vectors.obj fir.obj -o fir.obj -m fir.map -e fir_init MEMORY { PAGE0: EPROM: org=0E000H len=1000H VECS: org=0FF80H len=0080H PAGE1: SPRAM: org=0060H len=0020H DARAM: org=0080H len=1380H } SECTIONS { .text : > EPROM PAGE 0 .vectors : > VECS PAGE 0 .data : > EPRAM PAGE 1 .bss : > SPRAM PAGE 1 FIR_BFR : align(128){}> DARAM PAGE 1 FIR_COFF : align(128){}> DARAM PAGE 1 } 七、实验结果及分析: (1) 输入的时域波形 (2)输入的频域波形 滤波后的输出波形: (1)时域波形 (2)频域波形 八、设计总结: 经过了两天的课程设计,从查阅资料直到设计完成,这之间让我学到了很多东西。一开始对DSP这门课程并不是很理解,但是经过设计之后,感觉对它的理解加深了许多,而且对我所学的知识是一种很好的回顾,也让我对所学知识理解更加透彻。巩固知识的同时,我也掌握了更多一门的软件—CCS,多学会一个软件总是好的,并且以后用到它的地方会很多。 总体而言,课设不仅是对所学知识的回顾,更是对动手实践能力的一种锻炼。希望以后能更多的接触这类设计,多动手,多学习,为毕业以后步入工作岗位打下坚实的基础。 9
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服