- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP十天速成(六)
滤波器,?系数,?matlab,?存储器,?缓冲区
【实验6.1 FIR】;=============================================================; fir4.asm;用用循环缓冲区和双操作数寻址方法实现FIR滤波器;先用matlab,选择80点汉明窗设计一个截止频率为0.2π的低通滤波器; 本例与前不同的是系数直接引用程序存储器的系数表;N=5 y(n)=h0*x(n)+h1*x(n-1)+h2*x(n-2)+h3*x(n-3)+h4*x(n-4);=============================================================.title fir4.asm.mmregs?.def start;分配数据存储区.bss y,1 ;yxn .usect xn,80 ;xnh .usect h,80 ;hPA0 .set 0000H ;数据输出端口PA1 .set 0001H ;数据输入端口;参数表.datatable: .word -7,-18,-24,-22,-9,11,33,48?;已在Matlab中转成十六进制的小数.word 46,20,-24,-73,-104,-97,-43,49.word 146,204,187,81,-91,-268,-371,-337.word -144,162,476,661,603,261,-297,-894.word -1283,-1222,-562,697,2373,4142,5618,6456.word 6456,5618,4142,2373,697,-562,-1222,-1283.word -894,-297,261,603,661,476,162,-144.word -337,-371,-268,-91,81,187,204,146.word 49,-43,-97,-104,-73,-24,20,46.word 48,33,11,-9,-22,-24,-18,-7?start: SSBX FRCT ;小数乘法;把参数表复制到数据存储区STM #h,AR1?RPT #79MVPD #table,*AR1+;把x(n)-x(n-79)赋始值0STM #xn,AR1RPT #79ST #0,*AR1+STM #xn+79,AR3 ;x(n-79)---AR3STM #h+79,AR4 ;h(n-79)---AR4STM #80,BK ;循环缓冲区大小80?STM #-1,AR0 ;指针调整值-1LD #xn,DP ;DP指向xn所在页PORTR PA1,@xn ;输入数据LD #y,DP ;DP指向y所在页FIR: RPTZ A,#79 ;进行一次FIR运算MAC *AR3+0%,*AR4+0%,A;A=(AR3)*(AR4)+A,?AR3=AR3+AR0,AR4=AR4+AR0?STH A,@y ;保存计算结果PORTW @y,PA0 ;输出结果BD FIR ;读入下一个数据并进行下一次计算PORTR PA1,*AR3+0% ;新数据覆盖了最旧的数据.end【实验6.2 IIR】.mmregs.global codestart?K_DATA_SIZE .set 256 ;输入数据个数K_BUFFER_SIZE .set 8 ;缓冲大小,需是2的整数次幂,并大于a、b的个数K_STACK_SIZE .set 256 ;堆栈大小K_A .set 3 ;a向量个数K_B .set 4 ;b向量的个数K_CIR .set 4 ;=a、b的长度,也可以设为K_BUFFER_SIZE-1??STACK .usect stack,K_STACK_SIZESYSTEM_STACK .set K_STACK_SIZE+STACK.dataDATA_DP:?.align K_BUFFER_SIZEbufferdatax: .space K_BUFFER_SIZE*16 ;size in bitsbufferdatay: .space K_BUFFER_SIZE*16 ;size in bits?inputdata: .word 0filterdata: .word 0?.text.asg AR2, ORIGIN.asg AR3, INPUT.asg AR4, FILTER.asg AR5, OUTPUTcodestart:SSBX FRCTSSBX INTMLD #DATA_DP,DPSTM #SYSTEM_STACK, SP
您可能关注的文档
最近下载
- 智能化生产12万吨高端耐火材料项目环境影响报告表.pdf VIP
- 研究生学术规范与学术诚信(南京大)中国大学MOOC慕课 客观题答案.docx VIP
- 赵一鸣员工考核内容附答案.docx
- 施工机械安全管理制度.docx VIP
- 人教版五年级数学下册《因数和倍数》试卷[共3页].doc VIP
- 高二学考完形填空复习1.doc VIP
- 中国会计文化全套配套课件赵丽生PPT7中国古代经济思想家孟子.pptx VIP
- 五年级下册数学第六单元分数的加法和减法测试卷 人教版.doc VIP
- 中国会计文化全套配套课件赵丽生PPT26山西革命根据地会计的历史贡献.pptx VIP
- 党课PPT:铸牢中华民族共同体意识.pptx VIP
文档评论(0)