⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fir4.txt

📁 此汇编程序是设计FIR滤波器的DSP设计与应用。
💻 TXT
字号:
FIR滤波器设计的原理 
FIR滤波器数学表达式可用差分方程(1)来表示: 
 
其中:r是FIR滤波器的抽头数; 是第r级抽头数(单位脉冲响应); 是延时r个抽头的输入信号。 
设计滤波器的任务就是寻求一个因果,物理上可实现的系统函数 ,使其频率响应 满足所希望得到的频域指标。 

用循环缓冲区和操作数寻址方法实现FIR滤波器
FIR.ASM
			   .title      "FIR.asm"
			   .mmregs
			   .def        _c_int00
			   .bss        y,1
xn          .usect      "xn",33
a0          .usect      "a0",33
PA0         .set        0
PA1         .set        1
            .data
table:      .word       9*32768/10000
            .word       19*32768/10000
            .word       15*32768/10000
            .word       -12*32768/10000
            .word       -54*32768/10000
            .word       -67*32768/10000
            .word       0
            .word       129*32768/10000
            .word       204*32768/10000
            .word       88*32768/10000
            .word       -233*32768/10000
            .word       -506*32768/10000
            .word       -405*32768/10000
            .word       302*32768/10000
            .word       1461*32768/10000
            .word       2552*32768/10000
            .word       300*32768/1000
            .word       2552*32768/10000
            .word       1461*32768/10000
            .word       302*32768/10000
            .word       -405*32768/10000
            .word       -506*32768/10000
            .word       -233*32768/10000
            .word       88*32768/10000
            .word       204*32768/10000
            .word       129*32768/10000
            .word       0
            .word       -67*32768/10000
            .word       -54*32768/10000
            .word       -12*32768/10000
            .word       15*32768/10000
            .word       19*32768/10000
            .word       9*32768/10000            
.text
_c_int00:   SSBX        FRCT
            STM         #a0,AR1
            RPT         #32
            MVPD        table,*AR1+
            STM         #xn+32,AR3
            STM         #a0+32,AR4
            STM         #33,BK
            STM         #-1,AR0
            LD          #xn,DP
            PORTR       PA1,@xn
FIR:        RPTZ        A,#32
            MAC         *AR3+0%,*AR4+0%,A
            STH         A,@y
            PORTW       @y,PA0
            BD          FIR
            PORTR       PA1,*AR3+0%
            .END
FIR.CMD
FIR.obj
FIR_V.obj
-o FIR.out
-m FIR.map
MEMORY
{
  PAGE 0:
         EPROM:     org=0E000h,  len=1000h
         VECS:      org=0FF80h,  len=0080h
  PAGE 1:
         SPRAM:     org=0060h,  len=0020h
         DARAM:     org=0080h,  len=1380h
}
SECTIONS
{
  .text :> EPROM  PAGE  0
  .data :> EPROM  PAGE  0
  .bss  :> SPRAM  PAGE  1
  xn:   align (64) {}> DARAM  PAGE  1
  a0:   align (64) {}> DARAM  PAGE  1
  .vectors:> VECS PAGE  0
}
FIR_V.ASM
			.title "FIR_V.asm"
			.ref   _c_int00
			.sect  ".vectors"
			B      _c_int00
			.end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -