MATLAB仿真实现数字高通滤波器,有很强对比性
重要的工程文件及相关说明均有。。
部分代码如下:HIGHPASS .set 1 ;if you want to use ,please set the value to 1
;BANDPASS .set 0
;LOWPASS .set 1
.global start,fir
.mmregs
COFF_FIR_START: .sect "coff_fir"
.include "highpass\\0907050202.inc"
K_FIR_BFFR .set 32
d_data_buffer .usect "fir_bfr",64
FIR_DP .usect "fir_vars",0
d_filin .usect "fir_vars",1
output .usect "fir_vars",1
input .usect "fir_vars",1
d_filout .usect "fir_vars",100h
stacksize .set 256
stack .usect "fir_vars",stacksize
.asg AR4,FIR_DATA_P
.asg AR6,INBUF_P
.asg AR7,OUTBUF_P
.asg AR3,OUTBUF
.asg AR2,INBUF
.sect "fir_prog"
nop
start:
stm #stack+stacksize,SP
LD #FIR_DP,DP
STM #d_data_buffer,FIR_DATA_P
RPTZ A,#K_FIR_BFFR-1
STL A,*FIR_DATA_P+
STM #d_filin,INBUF_P
STM #d_filout,OUTBUF_P
STM #output,OUTBUF
STM #input,INBUF
STM #100h,BK
fir_loop:
NOP ;Add Breakpoint & porbe point
LD *INBUF_P,A
STL A,*INBUF
CALL fir
STH A,*OUTBUF_P+%
STH A,*OUTBUF
main_end:
b fir_loop
fir:
; SSBX SXM
; SSBX FRCT
STM #d_data_buffer,FIR_DATA_P
STL A,*FIR_DATA_P
STM #(d_data_buffer+K_FIR_BFFR-1),FIR_DATA_P
fir_task:
RPTZ A,#K_FIR_BFFR-1
MACD *FIR_DATA_P-,COFF_FIR_START,A
RET
.end