Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите разобраться в коде
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
KSN
Вот отрывок кода на асме:
; 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.
Растолкуйте ее действия.
=GM=
Цитата(KSN @ May 4 2007, 08:56) *
Вот отрывок кода на асме:
; 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.
Растолкуйте ее действия.

Одна команда NORM удаляет один бит знака числа, находящегося в аккумуляторе, не модифицируя при этом ARP.
KSN
Что собой представляет операция NORM арифметически?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.