打印

DSP

[复制链接]
1630|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
savvy1988|  楼主 | 2012-5-29 22:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DSP, ST, STM, se, FIR
这个程序我想看输入波形和滤波后的波形,,在哪设置输出关联文件   ;我老看不到输出波形 ,会的帮我一下 QQ 2606454510 谢
*******************************************************************
*用循环缓冲区和双操作数寻址方法实现FIR滤波器
*N=80,y(n)=h0*x(n)+h1*x(n-1)+...+h78*x(n-78)+h79*x(n-79)
*先用matlab,选择80点汉明窗设计一个截止频率为0.2pi的低通滤波器
******************************************************************
.title "fir4.asm"
.mmregs
.def start
.bss y,1  ;y
xn .usect "xn",80  ;xn
h .usect "h",80  ;h
;yn .usect "yn",80
PA0 .set 0002H  ;数据输出端口
PA1 .set 0008H  ;数据输入端口
  .bss    indata,1
  .bss outdata,1   
.data
table:
.word -1,-4,-8,-12,-18,-25,-33,-42
.word -52,-63,-75,-86,-96,-103,-108,-107
.word -102,-89,-69,-39,0,49,109,179
.word 260,350,449,555,667,782,898,1014
.word 1126,1232,1330,1417,1492,1552,1596,1622
.word 1631,1622,1596,1552,1492,1417,1330,1232
.word 1126,1014,898,782,667,555,449,350
.word 260,179,109,49,0,-39,-69,-89
.word -102,-107,-108,-103,-96,-86,-75,-63
.word -52,-42,-33,-25,-18,-12,-8,-4
start:
    SSBX FRCT   ;小数乘法
STM #xn,AR1
RPT #79
ST   #0,*AR1+  ;把x(n)-x(n-79)赋始值0
STM #h,AR1   
RPT #79
MVPD #table,*AR1+  ;把参数表复制到数据存储区
STM #xn+79,AR3  ;AR3-->x(n-79)
STM #h+79,AR4  ;AR4-->h(n-79)
STM #80,BK   ;循环缓冲区大小80
STM #-1,AR0   ;指针调整值-1
LD #xn,DP   ;DP指向xn所在页
PORTR PA1,@xn   ;输入数据
LD #y,DP   ;DP指向y所在页
FIR:
NOP
    MVKD indata,*AR3+0%
RPTZ A,#79
MAC *AR3+0%,*AR4+0%,A ;A=(AR3)*(AR4)+A, AR3=AR3+AR0,AR4=AR4+AR0
    STH     A,@outdata
    NOP
STH A,@y   ;保存计算结果
PORTW @y,PA0   ;输出结果
BD FIR   ;延时跳转
PORTR PA1,*AR3+0%  ;新数据覆盖了最旧的数据
.end

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

23

帖子

1

粉丝