Высокоуровневое проектирование встраиваемых систем. Платунов А.Е - 125 стр.

UptoLike

Применение
Основное назначение функционального блока это реализация КИХ- и
БИХ-фильтров. Все операции умножения и сложения вычисляются с помощью
команд микрокода (см. табл. 2.9).
Таблица 2.9. КИХ- и БИХ-фильтры
КИХ-фильтр
БИХ-фильтр
=
=
P
i
i
inxbny
0
)()(
==
=
Q
i
i
P
i
i
inyainxbny
1
0
)()()(
Функциональный блок FCUP поддерживает работу с числами в диапазоне
[–1,+1). Это ограничение накладывается и на коэффициенты a
i
и b
i
. Поэтому
вводится нормирующий множитель k, а в фильтре используются
нормированные коэффициенты.
Таблица 2.10. КИХ- и БИХ-фильтры с нормированными коэффициентами
КИХ-фильтр
БИХ-фильтр
ii
P
i
i
bkb
inxbny
)(
)(
0
=
=
=
ii
ii
Q
i
i
P
i
i
aka
bkb
inyainxbny
)(
)(
)(
10
=
=
=
==
)(
)
(
nyk
ny
=
Таким образом, фильтр работает с нормированными коэффициентами
(табл. 2.10
), а масштабный множитель сохраняет в выходной порт K. В
дальнейшем, чтобы получить корректное значение фильтра, нужно
перемножить значения портов Y и K.
Как видно из формулы, для вычисления значения y(n) требуется
произвести множество операций умножения и сложения. Время вычисления
прямо пропорционально количеству коэффициентов a
i
и b
i
. Расчеты будут
занимать значительное время, а функциональные блоки, для которых эти
вычисления выполняются, будут простаивать в ожидании готовности результата
FCUP. На рис. 2.29 показана схема типового расчета КИХ-фильтра.
Для ускорения готовности результата была предложена оптимизация
микропрограммы. Рассмотрим эту оптимизацию на примере КИХ-фильтра. На
шаге n вычисляется значение фильтра:
)()1()()(
10
Pnxbnxbnxbny
P
+++=
124