ВУЗ:
Составители:
79
в программе необходимо организовать два циклических буфера – один для дан-
ных Х, другой – для коэффициентов k.
Одновременная выборка двух операндов k и Х в сигнальном процессоре
осуществляется по двум независимым шинам: шине данных памяти программ и
шине данных памяти данных. Кроме того, имеются отдельные шина адреса па-
мяти программ и шина адреса памяти данных. Таким образом, МАС может по-
лучать входные данные по каждой шине данных одновременно. Для задания
длины циклического буфера в программе можно использовать только регистры
L0 – L7, указателя адреса – регистры I0 – I7, шага изменения адреса – реги-
стры М0 – М7.
В листинге 6 приведен фрагмент программы вычисления одного значе-
ния выходного сигнала КИХ-фильтра N-го порядка по следующему алгоритму:
- выборка коэффициента из циклического буфера коэффициентов;
- обновление указателя адреса буфера коэффициентов;
- выборка отсчета из циклического буфера входного сигнала;
- обновление указателя адреса буфера входного сигнала;
- умножение коэффициента на отсчет;
- добавление нового слагаемого к промежуточному результату;
- переход в начало цикла программы, если просуммированы не все произ-
ведения.
Листинг 6. Расчет фильтра с циклической буферизацией
ADSP – 21xx Пример ассемблерного кода:
М1, М5 = 1 ;
L0, L4 = N ;
MR = 0, MX0 = DM (I0, M1), MY0 = PM (I4, M5) ;
CNTR = N – 1 ;
DO convolution UNTIL CE ;
Convolution :
MR = MR + MX0 * MY0 (SS), MX0 = DM (I0, M1), MY0 = PM (I4, M5) ;
MR = MR + MX0 * MY0 (RND) ;
IF MV SAT MR ;
в программе необходимо организовать два циклических буфера – один для дан-
ных Х, другой – для коэффициентов k.
Одновременная выборка двух операндов k и Х в сигнальном процессоре
осуществляется по двум независимым шинам: шине данных памяти программ и
шине данных памяти данных. Кроме того, имеются отдельные шина адреса па-
мяти программ и шина адреса памяти данных. Таким образом, МАС может по-
лучать входные данные по каждой шине данных одновременно. Для задания
длины циклического буфера в программе можно использовать только регистры
L0 – L7, указателя адреса – регистры I0 – I7, шага изменения адреса – реги-
стры М0 – М7.
В листинге 6 приведен фрагмент программы вычисления одного значе-
ния выходного сигнала КИХ-фильтра N-го порядка по следующему алгоритму:
- выборка коэффициента из циклического буфера коэффициентов;
- обновление указателя адреса буфера коэффициентов;
- выборка отсчета из циклического буфера входного сигнала;
- обновление указателя адреса буфера входного сигнала;
- умножение коэффициента на отсчет;
- добавление нового слагаемого к промежуточному результату;
- переход в начало цикла программы, если просуммированы не все произ-
ведения.
Листинг 6. Расчет фильтра с циклической буферизацией
ADSP – 21xx Пример ассемблерного кода:
М1, М5 = 1 ;
L0, L4 = N ;
MR = 0, MX0 = DM (I0, M1), MY0 = PM (I4, M5) ;
CNTR = N – 1 ;
DO convolution UNTIL CE ;
Convolution :
MR = MR + MX0 * MY0 (SS), MX0 = DM (I0, M1), MY0 = PM (I4, M5) ;
MR = MR + MX0 * MY0 (RND) ;
IF MV SAT MR ;
79
Страницы
- « первая
- ‹ предыдущая
- …
- 77
- 78
- 79
- 80
- 81
- …
- следующая ›
- последняя »
