CLS
PRINT " ***********************************************************************"
PRINT " * Questo programma produce del
codice assembler per la costruzione di *"
PRINT " * un filtro FIR per il DSP TMS320C31
*"
PRINT " ***********************************************************************"
PRINT ""
INPUT "Nome del file di output: "; nn$
OPEN nn$ FOR OUTPUT AS #1
INPUT "Nome del file di input: "; nn$
OPEN nn$ FOR INPUT AS #2
INPUT "Numero di coefficienti del filtro : ", k
;*******************************************
;Riempimento del buffer dei campioni con degli zeri
;*******************************************
FOR j = 1 TO k
IF j = 1 THEN
cod$ = "last_x .float
0.0 "
PRINT #1, cod$
GOTO 10
END IF
IF j = k THEN
cod$ = "first_x .float
0.0 "
PRINT #1, cod$
GOTO 10
END IF
cod$ = "
.float 0.0 "
PRINT #1, cod$
10 NEXT j
;*******************************************
;Riempimento del buffer dei coefficienti.
;*******************************************
PRINT #1, ""
PRINT #1, ";************************************"
PRINT #1, "; FIR filter coefficients"
PRINT #1, ";************************************"
PRINT #1, ""
n = 0
DO WHILE NOT EOF(2)
LINE INPUT #2, line$
'Legge i coefficienti contenuti nel file prodotto da FDAS. '
n = n + 1
coeff$ = "
.float" + " " + LEFT$(line$, 24)
IF n = 1 THEN
coeff$ = "FIR_coef
.float" + " " + LEFT$(line$, 24)
GOTO 20
END IF
20 PRINT #1, coeff$
LOOP
PRINT #1, "END_coef"
CLOSE #1