基于DSP的FIR数字滤波器.(设计实验)(汇编语言).docVIP

基于DSP的FIR数字滤波器.(设计实验)(汇编语言).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WORD 格式 整理 PAGE 学习 参考 资料 分享 基于DSP的FIR数字滤波器 (设计实验) 一、实验目的 1.了解FIR(Finite Impulse Response有限冲激响应)滤波器的原理及使用方法; 2.了解使用MATLAT语言设计FIR滤波器的方法; 3.了解DSP对FIR滤波器的设计及编程方法; 4.熟悉在CCS环境下对FIR滤波器的调试方法; 二、实验原理 数字滤波是DSP的最基本应用,利用MAC(乘、累加)指令和循环寻址可以方便地完成滤波运算。两种常用的数字滤波器:FIR(有限冲激响应)滤波器和IIR(无限冲激响应)滤波器的DSP实现。 设FIR滤波器的系数为h(0),h(1), ...,h(N-1),X(n)表示滤波器在n时刻的输入,则n时刻的输出为: FIR数字滤波器的结构如图3.1所示。 图3.1 FIR数字滤波器的结构图 1、线性缓冲区法 又称延迟线法。其方法是:对于n=N的FIR滤波器,在数据存储器中开辟一个N单元的缓冲区,存放最新的N个样本;滤波时从最老的样本开始,每读一个样本后,将此样本向下移位;读完最后一个样本后,输入最新样本至缓冲区的顶部。以上过程,可以用N=6的线性缓冲区示意图来说明,如图3-2所示 图3-2 N=6的线性缓冲区示意图 2、循环缓冲区法 图3-3说明了使用循环寻址实现FIR滤波器的方法。对于N级FIR滤波器,在数据存储区开辟一个称为滑窗的具有N个单元的缓冲区,滑窗中存放最新的N个输入样本值。每次输入新的样本时,新的样本将改写滑窗中最老的数据,其他数据则不需要移动。 图3-3 FIR滤波器循环缓冲区存储器图 三、实验内容与步骤 设计一个FIR低通滤波器,通带边界频率为1500Hz,通带波纹小于1dB;阻带边界频率为2000Hz,阻带衰减大于40dB;采样频率为8000Hz。FIR滤波器的设计可以用MATLAB窗函数法进行。 本实验设计一个采样频率Fs为8000Hz,输入信号频率为1000Hz和2500Hz的合成信号,通过设计的低通滤波器将2500Hz信号滤掉,余下1000Hz信号。 1、MATLAB设计FIR滤波器 FIR滤波器的设计可以用MATLAB窗函数法进行,选择Hamming窗,其程序为: b=fir1(16,1500/8000*2); 得到FIR数字滤波器系数b为: b0=0 b9=0b1=0 b10=0b2=0 b11=-0b3=-0 b12=-0b4=-0.0429174 b13=-0b5=-0 b14=0b6=0 b15=0b7=0 b16=0B8=0在DSP汇编语言中,不能直接输入十进制小数,在MATLAB中进行如下转换: h=round(b*2^15) 将系数转换为Q15的定点小数形式,为: h(0)=0 h(9)=9287 h(1)=158 h(10)=3187 h(2)=264 h(11)=-951 h(3)=-290 h(12)=-1406 h(4)=-1406 h(13)=-290 h(5)=-951 h(14)=264 h(6)=3187 h(15)=158 h(7)=9287 h(16)=0 h(8)=12272 2、编写FIR数字滤波器的汇编程序 ;一个FIR滤波器源程序 fir.asm .mmregs .global start .def start,_c_int00 INDEX .set 1 KS .set 256 ;模拟输入数据缓冲区大小 N .set 17 COFF_FIR .sect COFF_FIR ;FIR滤波器系数 .word 0 .word 158 .word 264 .word -290 .word -1406

文档评论(0)

xiangxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档