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

📄 iir_bwt1.asm

📁 此源码实现静止至旋转变换的算法
💻 ASM
字号:
 ;===========================================================================
; File Name:	IIR_BWT1.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_BWT41, IIR_BWT41_INIT		;function call
		.def		Xin_IIR1						;Inputs
		.def		Yout_IIR1
		.def        WAY1						;Outputs 
;===========================================================================
;Global vars    

;FIRX1				.usect	"FIR_D",127 

;FIRY1				.usect	"FIR_Q",127
Xin_IIR1				.usect	"IIR_BWT0"	,1
Yout_IIR1			.usect	"IIR_BWT0"	,1
WAY1					.usect	"IIR_BWT0"	,1 
H01        .usect    "IIR_BWT4"    , 1 
H11        .usect    "IIR_BWT4"    , 1 
H21        .usect    "IIR_BWT4"    , 1 
H31        .usect    "IIR_BWT4"    , 1 
H41        .usect    "IIR_BWT4"    , 1 
H51        .usect    "IIR_BWT4"    , 1
H61        .usect    "IIR_BWT4"    , 1
XN_11        .usect    "IIR_BWT4"    , 1
XN_21        .usect    "IIR_BWT4"    , 1 
XN_31        .usect    "IIR_BWT4"    , 1 
YN_11        .usect    "IIR_BWT4"    , 1 
YN_21        .usect    "IIR_BWT4"    , 1 
YN_31        .usect    "IIR_BWT4"    , 1
XN_101        .usect    "IIR_BWT4"    , 1 
XN_201        .usect    "IIR_BWT4"    , 1
XN_301        .usect    "IIR_BWT4"    , 1 
YN_101        .usect    "IIR_BWT4"    , 1 
YN_201        .usect    "IIR_BWT4"    , 1
YN_301        .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_BWT41_INIT:
;===============

 		LDP		#Xin_IIR1
 		SPLK		#0,Xin_IIR1
 		SPLK		#0,Yout_IIR1
*Two order**********************  
******fs=360Hz****** 
	 ; 	SPLK    #912, H01
     ;   SPLK    #1825, H11
     ;   SPLK    #912, H21
     ;   SPLK    #24173, H31
     ;   SPLK    #46303, H41
*****fs=400Hz******        
    ;    SPLK	#1100,H01
    ;    SPLK	#2200,H11
    ;    SPLK	#1100,H21
    ;    SPLK	#23249,H31
    ;    SPLK	#47406,H41
*****fS=500Hz*****
	;	SPLK	#1622,H01
    ;    SPLK	#3243,H11
    ;    SPLK	#1622,H21
    ;    SPLK	#20965,H31
    ;    SPLK	#49886,H41
*****fS=600Hz*****
	;	SPLK	#2210,H01
    ;    SPLK	#4421,H11
    ;    SPLK	#2210,H21
    ;    SPLK	#18727,H31
    ;    SPLK	#52009,H41  
*****fS=700Hz*****
	;	SPLK	#2857,H01
    ;    SPLK	#5713,H11
    ;    SPLK	#2857,H21
    ;    SPLK	#16530,H31
    ;    SPLK	#53817,H41
*****fS=1000Hz*****
	;	SPLK	#5081,H01
    ;    SPLK	#10161,H11
    ;    SPLK	#5081,H21
    ;    SPLK	#10161,H31
    ;    SPLK	#57658,H41 
*****fS=1400Hz*****
	;	SPLK	#8614,H01
    ;    SPLK	#17228,H11
    ;    SPLK	#8614,H21
    ;    SPLK	#2011,H31
    ;   SPLK	#59827,H41
*****fS=2000Hz*****
		SPLK	#15242,H01
        SPLK	#30484,H11
        SPLK	#15242,H21
        SPLK	#55374,H31
        SPLK	#57658,H41
*******************


*Three order*****fs=400Hz****** ???????       
     ;   SPLK	#206,H01
     ;   SPLK	#619,H11
     ;   SPLK	#619,H21
     ;   SPLK	#206,H31
     ;   SPLK	#23677,H41
     ;   SPLK	#38535,H51
     ;   SPLK	#14087,H61
*****fS=500Hz*****  ????????
	;	SPLK	#371,H01
    ;    SPLK	#1113,H11
    ;    SPLK	#1113,H21
    ;    SPLK	#371,H31
    ;    SPLK	#32161,H41
    ;    SPLK	#42598,H51
    ;    SPLK	#11351,H61 
*****fs=600Hz******
	;  	SPLK	#593,H01
    ;    SPLK	#1779,H11
    ;    SPLK	#1779,H21
    ;    SPLK	#593,H31
    ;    SPLK	#28836,H41
    ;    SPLK	#46155,H51
    ;    SPLK	#9111,H61 
*****fs=700Hz******
	;	SPLK	#875,H01
    ;    SPLK	#2624,H11
    ;    SPLK	#2624,H21
    ;    SPLK	#875,H31
    ;    SPLK	#25541,H41
    ;    SPLK	#49243,H51
    ;    SPLK	#7274,H61   
*****fs=800Hz******
	;	SPLK	#593,H01
    ;    SPLK	#1779,H11
    ;    SPLK	#1779,H21
    ;    SPLK	#593,H31
    ;    SPLK	#28836,H41
    ;    SPLK	#46155,H51
    ;    SPLK	#9111,H61 
**********************
     	SPLK	#0,XN_11
		SPLK	#0,XN_21
		SPLK	#0,XN_31
		SPLK	#0,YN_11
		SPLK	#0,YN_21
		SPLK	#0,YN_31
		SPLK	#0,XN_101
		SPLK	#0,XN_201
		SPLK	#0,XN_301
		SPLK	#0,YN_101
		SPLK	#0,YN_201
		SPLK	#0,YN_301 
;		SPLK	#0,XN_100
;		SPLK	#0,XN_200
;		SPLK	#0,YN_100
;		SPLK	#0,YN_200
		SPLK	#0,WAY1

        	RET

;===========================================================================
; Routine Name:  IIR_BWT4 
;===========================================================================
IIR_BWT41:
 		SETC			SXM           	; Sign extension mode
       		SETC		OVM             ; Overflow mode
     		SPM			1                	; SPM set for Q15 multiplication 	   
		;		SPM			0
		LDP		#Xin_IIR1
		LACC		WAY1
		BCND		IIR_11,GT
		LACC		#0
******************************(2 order)		
		LT		H01
		MPY		Xin_IIR1
		LTA		H11
		MPY		XN_11
		LTA		H21
		MPY		XN_21
		LTA		H31
		MPY		YN_11 
		LTA		H31
		MPY		YN_11
		LTA		H41
		MPY		YN_21         
********************* *********(3 order)
	;	LT		H01
	;	MPY		Xin_IIR1
	;	LTA		H11
	;	MPY		XN_11 
	;	LTA		H21
	;	MPY		XN_21
	;	LTA		H31
	;	MPY		XN_31
	;	LTA		H41
	;	MPY		YN_11
	;	LTA		H41
	;	MPY		YN_11 
		
	;	LTA		H51
	;	MPY		YN_21
	;	LTA		H51
	;	MPY		YN_21 
	;	LTA		H61
	;	MPY		YN_31  
*********************************
		APAC
		SACH		Yout_IIR1
		BLDD		#XN_11,XN_21
		BLDD		#Xin_IIR1,XN_11
		BLDD		#XN_21,XN_31
		BLDD		#YN_11,YN_21
		BLDD		#Yout_IIR1,YN_11 
		BLDD		#YN_21,YN_31
		LACC		WAY1
		ADD		#1
		SACL		WAY1
		B		IIR_31
IIR_11		NOP
		NOP  
		
;		LACC		WAY 
;		SUB			#1
;		BCND		IIR_2,GT
		
		LACC		#0
*************************************(2 order)		 
		LT		H01
		MPY		Xin_IIR1
		LTA		H11
		MPY		XN_101
		LTA		H21
		MPY		XN_201
		LTA		H31
		MPY		YN_101  
		LTA		H31
		MPY		YN_101
		LTA		H41
		MPY		YN_201 
**************************************(3 order)		
	;	LT		H01
	;	MPY		Xin_IIR1
	;	LTA		H11
	;	MPY		XN_101
	;	LTA		H21
	;	MPY		XN_201
	;	LTA		H31
	;	MPY		XN_301
	;	LTA		H41
	;	MPY		YN_101
	;	
	;	LTA		H41
	;	MPY		YN_101  
	;	LTA		H51
	;	MPY		YN_201
	;	LTA		H51
	 ;   MPY		YN_201
	;	LTA		H61
	;	MPY		YN_301          
*************************************
		APAC
		SACH		Yout_IIR1
		BLDD		#XN_101,XN_201
		BLDD		#Xin_IIR1,XN_101
		BLDD		#XN_201,XN_301
		BLDD		#YN_101,YN_201
		BLDD		#Yout_IIR1,YN_101
		BLDD		#YN_201,YN_301
		LACC		WAY1
;		ADD		#1
		SUB		#1
		SACL		WAY1
		B		IIR_31
		
;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_31		NOP
		NOP
      
        
        	RET                

⌨️ 快捷键说明

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