📄 bsf_filter.s43
字号:
/******************************************************************************
; Digital FIR Filter to perform Band-stop filtering
;
; Description: This code implements a 30th order Digital FIR Filter on
; the MSP430. The filter response is Band Stop with the
; following specifications.
; Sampling frequency = 2000 Hz
; Lower cut-off frequency = 200 Hz
; Upper cut-off frequency = 800 Hz
; Filter type = FIR
;
; K. Venkat
; Texas Instruments Inc.
; Mar 2007
; Built with IAR Embedded Workbench Version: 3.42A
;*******************************************************************************/
//IAR generated
#include <msp430x14x.h>
PUBLIC FIR_filter
RSEG CODE
EXTERN input_delay1
EXTERN input_delay2
EXTERN input_delay3
EXTERN input_delay4
EXTERN input_delay5
EXTERN input_delay6
EXTERN input_delay7
EXTERN input_delay8
EXTERN input_delay9
EXTERN input_delay10
EXTERN input_delay11
EXTERN input_delay12
EXTERN input_delay13
EXTERN input_delay14
EXTERN input_delay15
EXTERN input_delay16
EXTERN input_delay17
EXTERN input_delay18
EXTERN input_delay19
EXTERN input_delay20
EXTERN input_delay21
EXTERN input_delay22
EXTERN input_delay23
EXTERN input_delay24
EXTERN input_delay25
EXTERN input_delay26
EXTERN input_delay27
EXTERN input_delay28
EXTERN input_delay29
EXTERN input_delay30
EXTERN input_delay0,output
FIR_filter:
;Stage 0
;Stage 1
mov.w &input_delay1,R12
mov.w R12,R13
inv.w R13
add.w #1,R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
mov.w R13,R14
add.w R14,&output
;Stage 2
;Stage 3
mov.w &input_delay3,R12
mov.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
mov.w R13,R14
add.w R14,&output
;Stage 4
;Stage 5
;Stage 6
;Stage 7
mov.w &input_delay7,R12
mov.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
mov.w R13,R14
sub.w R14,&output
;Stage 8
;Stage 9
mov.w &input_delay9,R12
mov.w R12,R13
inv.w R13
add.w #1,R13
rra.w R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
mov.w R13,R14
sub.w R14,&output
;Stage 10
;Stage 11
mov.w &input_delay11,R12
mov.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
mov.w R13,R14
add.w R14,&output
;Stage 12
;Stage 13
mov.w &input_delay13,R12
mov.w R12,R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
mov.w R13,R14
add.w R14,&output
;Stage 14
;Stage 15
mov.w &input_delay15,R12
mov.w R12,R13
inv.w R13
add.w #1,R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
mov.w R13,R14
add.w R14,&output
;Stage 16
;Stage 17
mov.w &input_delay17,R12
mov.w R12,R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
mov.w R13,R14
add.w R14,&output
;Stage 18
;Stage 19
mov.w &input_delay19,R12
mov.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
mov.w R13,R14
add.w R14,&output
;Stage 20
;Stage 21
mov.w &input_delay21,R12
mov.w R12,R13
inv.w R13
add.w #1,R13
rra.w R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
mov.w R13,R14
sub.w R14,&output
;Stage 22
;Stage 23
mov.w &input_delay23,R12
mov.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
sub.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
mov.w R13,R14
sub.w R14,&output
;Stage 24
;Stage 25
;Stage 26
;Stage 27
mov.w &input_delay27,R12
mov.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
mov.w R13,R14
add.w R14,&output
;Stage 28
;Stage 29
mov.w &input_delay29,R12
mov.w R12,R13
inv.w R13
add.w #1,R13
rra.w R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
add.w R12,R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
rra.w R13
mov.w R13,R14
add.w R14,&output
;Stage 30
mov.w &input_delay29,&input_delay30
mov.w &input_delay28,&input_delay29
mov.w &input_delay27,&input_delay28
mov.w &input_delay26,&input_delay27
mov.w &input_delay25,&input_delay26
mov.w &input_delay24,&input_delay25
mov.w &input_delay23,&input_delay24
mov.w &input_delay22,&input_delay23
mov.w &input_delay21,&input_delay22
mov.w &input_delay20,&input_delay21
mov.w &input_delay19,&input_delay20
mov.w &input_delay18,&input_delay19
mov.w &input_delay17,&input_delay18
mov.w &input_delay16,&input_delay17
mov.w &input_delay15,&input_delay16
mov.w &input_delay14,&input_delay15
mov.w &input_delay13,&input_delay14
mov.w &input_delay12,&input_delay13
mov.w &input_delay11,&input_delay12
mov.w &input_delay10,&input_delay11
mov.w &input_delay9,&input_delay10
mov.w &input_delay8,&input_delay9
mov.w &input_delay7,&input_delay8
mov.w &input_delay6,&input_delay7
mov.w &input_delay5,&input_delay6
mov.w &input_delay4,&input_delay5
mov.w &input_delay3,&input_delay4
mov.w &input_delay2,&input_delay3
mov.w &input_delay1,&input_delay2
mov.w &input_delay0,&input_delay1
ret
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -