?? iir_bwt.asm
字號:
;===========================================================================
; File Name: IIR_BWT.asm
;
; Module Name: IIR_BWT4
;
; Initialization Routine: IIR_BWT4_INIT
;
;
; Description:This is a four_order digital filter
;
; Target dependency: C2xx core only
;
;
;=====================================================================================
; .ref IIR_BWT4, IIR_BWT4_INIT ;function call
; .ref Xin_IIR ;Inputs
; .ref Yout_IIR ;Outputs
;===========================================================================
;Module definitions for external reference.
.def IIR_BWT4, IIR_BWT4_INIT ;function call
.def Xin_IIR ;Inputs
.def Yout_IIR
.def WAY ;Outputs
;===========================================================================
;Global vars
FIRX .usect "FIR_D",127
FIRY .usect "FIR_Q",127
Xin_IIR .usect "IIR_BWT0" ,1
Yout_IIR .usect "IIR_BWT0" ,1
WAY .usect "IIR_BWT0" ,1
H0 .usect "IIR_BWT4" , 1
H1 .usect "IIR_BWT4" , 1
H2 .usect "IIR_BWT4" , 1
H3 .usect "IIR_BWT4" , 1
H4 .usect "IIR_BWT4" , 1
XN_1 .usect "IIR_BWT4" , 1
XN_2 .usect "IIR_BWT4" , 1
YN_1 .usect "IIR_BWT4" , 1
YN_2 .usect "IIR_BWT4" , 1
XN_10 .usect "IIR_BWT4" , 1
XN_20 .usect "IIR_BWT4" , 1
YN_10 .usect "IIR_BWT4" , 1
YN_20 .usect "IIR_BWT4" , 1
XN_100 .usect "IIR_BWT4" , 1
XN_200 .usect "IIR_BWT4" , 1
YN_100 .usect "IIR_BWT4" , 1
YN_200 .usect "IIR_BWT4" , 1
;WAY .usect "IIR_BWT4" , 1
;===============
IIR_BWT4_INIT:
;===============
LDP #Xin_IIR
SPLK #0,Xin_IIR
SPLK #0,Yout_IIR
******fs=360Hz******
; SPLK #912, H0
; SPLK #1825, H1
; SPLK #912, H2
; SPLK #24173, H3
; SPLK #46303, H4
*****fs=400Hz******
; SPLK #1100,H0
; SPLK #2200,H1
; SPLK #1100,H2
; SPLK #23249,H3
; SPLK #47406,H4
*****fS=500Hz*****
; SPLK #1622,H0
; SPLK #3243,H1
; SPLK #1622,H2
; SPLK #20965,H3
; SPLK #49886,H4
*****fS=600Hz*****
; SPLK #2210,H0
; SPLK #4421,H1
; SPLK #2210,H2
; SPLK #18727,H3
; SPLK #52009,H4
*****fS=700Hz*****
; SPLK #2857,H0
; SPLK #5713,H1
; SPLK #2857,H2
; SPLK #16530,H3
; SPLK #53817,H4
*****fS=1000Hz*****
; SPLK #5081,H0
; SPLK #10161,H1
; SPLK #5081,H2
; SPLK #10161,H3
; SPLK #57658,H4
*****fS=1400Hz*****
; SPLK #8614,H0
; SPLK #17228,H1
; SPLK #8614,H2
; SPLK #2011,H3
; SPLK #59827,H4
*****fS=2000Hz*****
SPLK #15242,H0
SPLK #30484,H1
SPLK #15242,H2
SPLK #55374,H3
SPLK #57658,H4
*******************
*******************
SPLK #0,XN_1
SPLK #0,XN_2
SPLK #0,YN_1
SPLK #0,YN_2
SPLK #0,XN_10
SPLK #0,XN_20
SPLK #0,YN_10
SPLK #0,YN_20
SPLK #0,XN_100
SPLK #0,XN_200
SPLK #0,YN_100
SPLK #0,YN_200
SPLK #0,WAY
RET
;===========================================================================
; Routine Name: IIR_BWT4
;===========================================================================
IIR_BWT4:
SETC SXM ; Sign extension mode
SETC OVM ; Overflow mode
SPM 1 ; SPM set for Q15 multiplication
; SPM 0
LDP #Xin_IIR
LACC WAY
BCND IIR_1,GT
LACC #0
LT H0
MPY Xin_IIR
LTA H1
MPY XN_1
LTA H2
MPY XN_2
LTA H3
MPY YN_1
LTA H3
MPY YN_1
LTA H4
MPY YN_2
APAC
SACH Yout_IIR
BLDD #XN_1,XN_2
BLDD #Xin_IIR,XN_1
BLDD #YN_1,YN_2
BLDD #Yout_IIR,YN_1
LACC WAY
ADD #1
SACL WAY
B IIR_3
IIR_1 NOP
NOP
LACC WAY
SUB #1
BCND IIR_2,GT
LACC #0
LT H0
MPY Xin_IIR
LTA H1
MPY XN_10
LTA H2
MPY XN_20
LTA H3
MPY YN_10
LTA H3
MPY YN_10
LTA H4
MPY YN_20
APAC
SACH Yout_IIR
BLDD #XN_10,XN_20
BLDD #Xin_IIR,XN_10
BLDD #YN_10,YN_20
BLDD #Yout_IIR,YN_10
LACC WAY
ADD #1
SACL WAY
B IIR_3
IIR_2 NOP
NOP
LACC #0
LT H0
MPY Xin_IIR
LTA H1
MPY XN_100
LTA H2
MPY XN_200
LTA H3
MPY YN_100
LTA H3
MPY YN_100
LTA H4
MPY YN_200
APAC
SACH Yout_IIR
BLDD #XN_100,XN_200
BLDD #Xin_IIR,XN_100
BLDD #YN_100,YN_200
BLDD #Yout_IIR,YN_100
LACC WAY
SUB #2
SACL WAY
IIR_3 NOP
NOP
RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -