- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2003.2.16 DSP原理及应用 第6章 应用程序设计 (3) 系数对称FIR滤波器的实现 对称FIR滤波器的实现方法: x(n) + x(n-7) AH B a3[x(n-1)+x(n-4)]+B AR2→ Old x(n-7) x(n-6) x(n-5) x(n-4) PAR→ 系数表 b0 b1 b2 b3 New x(n) x(n-3) x(n-2) x(n-1) AR1→ ⑦ 修正数据指针, AR1指向New区的最老数据; AR2指向Old区的最老数据。 AR2→ ⑧ 用New区的最老数据替代Old区的最老数据,输入新数据替代New区的最老数据 ; x(n-3) x(n+1) ⑨ 重复执行④~ ⑧。 第6章 应用程序设计 (3) 系数对称FIR滤波器的实现 系数对称FIR滤波器指令: 格式: FIRS Xmem,Ymem,Pmad 功能: Pmad?PAR; 当(RC)?0,则B+AH?(Pmem)?B, ((Xmem)+ (Ymem))??16?A, PAR+1?PAR,RC-1 ?RC 其中, Pmem是通过PAR寻址。 第6章 应用程序设计 (3) 系数对称FIR滤波器的实现 程序清单: .title “FIR3.ASM” .mmregs .def start .bss y,1 x_new: .usect “DATA1”,4 x_old: .usect “DATA2”,4 size .set 4 PA0 .set 0 PA1 .set 1 .data COEF: .word 1*32768/10 .word 2*32768/10 .word 3*32768/10 .word 4*32768/10 ;定义MMR寄存器符号名 ;定义模块 ;给y保留1个空间 ;给DATA1段保留4个空间 ;给DATA2段保留4个空间 ;给符号size赋值 ;给输出口地址PA0赋值 ;给输入口地址PA1赋值 ;在ROM中定义数据段 ;定义数据0.1 ;定义数据0.2 ;定义数据0.3 ;定义数据0.4 y(n) 数据存储器 … x(n) x(n-3) x(n-2) x(n-1) … x(n-4) x(n-5) x(n-6) x(n-7) … y SPRAM x_new DATA1 x_old DATA2 程序存储器 b0 b1 b2 b3 COEF 系数表 第6章 应用程序设计 (3) 系数对称FIR滤波器的实现 程序清单: .text start: LD #x_new,DP SSBX FRCT STM #x_new,AR1 STM #x_old+(size-1),AR2 STM #size,BK STM #-1,AR0 PORTR PA1,#x_new ;设置页指针 ;设置小数乘法 ;AR1指向x_new单元 ;AR2指向x_old+3单元 ;设置循环缓冲区长度 ;设置双操作数增量AR0=-1 ;输入数据x(n) 第6章 应用程序设计 程序清单: FIR3: ADD *AR1+0%,*AR2+0%,A RPTZ B,#(size-1) FIRS *AR1+0%,*AR2+0%,COEF STH B,@y PORTW @y,PA0 MAR *+AR1(2)% MAR *AR2+% MVDD *AR1,*AR2+0% BD FIR3 PORTR PA1,*AR1 .end ;完成AH=x(n)+x(n-7) ;B清0,设置重复次数 ;乘法累加、加法操作 B = AH×bi + B AH=(AR1)+(AR2) ;保存y(n)结果 ;输出结果 ;修正AR1,指向New区最老数据 ;修正AR2,指向Old区最老数据 ;New区向Old区传送数据 ;循环 ;输入最新数据至New区 第6章 应用程序设计 6.1 FIR滤波器的DSP实现 6.1.5 FIR滤波器的设计实例 设计一个FIR低通滤波器,其设计参数: 滤波器阶数:N=40; 截止频
原创力文档


文档评论(0)