Вот отрывок кода на асме: ; Automatic Gain Control SOVM ssxm LAC #2000H SACL AGCTEMP LT AGCSamp ;load sample band pass filtered MPY AGCGAIN ; mult by GAIN PAC NORM * ;prevents overflow and saturates if required NORM * ; NORM * ; NORM * NORM * ; SACH AGCSamp ; ADDH AGCSamp ; SACH AGCSamp ; ABS ;compute new GAIN value SUBH AGCTEMP NEG SUB AGCGAIN,14 SACH AGCTEMP ZALH AGCGAIN ADDS AGCGAIN+1 ADD AGCTEMP,8 SACH AGCGAIN SACL AGCGAIN+1 ROVM
Код вызывается циклически. На каждом шаге высчитывается новое значение AGCGain, которое используется как коэффициент усиления для последующих отсчетов. Пытасюь записать формулу вычисления AGCGain, но не совсем ясен результат выполнения команды NORM. Растолкуйте ее действия.
|