Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
9.2. Аппаратурное построение КИХ-фильтра прямой формы
Рассмотрим способы построения
КИХ-фильтра прямой формы, схематично изображенного на фиг. 9.1. Найдем прежде
всего основную схему управления, пригодную для построения фильтров с различным
уровнем параллелизма, причем параллелизм будет заключаться не только в
увеличении количества арифметических устройств, но и в параллельной работе
блоков памяти.
На
фиг. 9.2 изображена простая блок-схема построения КИХ-фильтра прямой формы (см.
фиг. 9.1) из единственного арифметического устройства (содержащего умножитель и
сумматор), регистра сдвига для хранения промежуточных результатов и ПЗУ
коэффициентов. Важным моментом является характер управления регистром сдвига.
Каждый выходной отсчет вычисляется путем накопления последовательных
произведений, образующихся на выходе умножителя в процессе кругового сдвига
регистра. Новый входной отсчет
вводится в регистр
одновременно с выталкиванием с противоположного конца регистра отсчета
, сопровождающимся
вычислением произведения
. При каждой итерации,
как это видно из схемы вычислений на фиг. 9.2, производится круговой сдвиг
регистра на один отсчет. После вычисления значения
оно выводится;
одновременно с этим очищается накопитель, после чего начинается следующий
главный цикл.
Фиг. 9.1.
Прямая форма КИХ-фильтра.
Фиг. 9.2.
Блок-схема, последовательность обработки и промежуточные результаты для прямой
формы КИХ-фильтра.
Фиг. 9.3.
Построение КИХ-фильтра с использованием алгоритма Бута.
Заметим,
что структура памяти на сдвиговом регистре, используемой в схеме на фиг. 9.2,
еще не была определена. Прежде всего необходимо выяснить, на каких микросхемах
ее можно собирать. Оказывается, что для этой цели хорошо подходят большие
интегральные схемы с МДП-регистрами сдвига. В настоящее время на одном
кристалле могут размещаться несколько тысяч последовательно соединенных
разрядов памяти. Поэтому для многих КИХ-фильтров вся память нужного объема
размещается в одном корпусе, но при условии, что данные вводятся и подаются на
арифметическое устройство последовательно. Конечно, было бы интересно построить
КИХ-фильтр прямой формы с использованием именно такой памяти, состоящей из
малого числа элементов. Простейшая схема подобного типа приведена на фиг. 9.3.
В этой схеме каждое произведение получается с помощью последовательности
логических умножений коэффициента на разряды перемножаемого отсчета [в данном
случае
]
и суммирования этих произведений. Все отсчеты в схеме на фиг. 9.3 хранятся в
последовательном виде, хотя это показано только для отсчета
.
Следует напомнить, что при выполнении
умножения, основанного на сдвигах и сложениях, вид алгоритма зависит от знаков
сомножителей. Так, при использовании прямого кода сложение будет обычным, а
знак произведения будет определяться знаками отсчета и коэффициента. При
умножении с использованием сдвигов и сложений этот подход довольно эффективен;
однако заключительное накопление всех произведений при этом усложняется, так
как для сложения чисел в прямом коде необходимы сумматор-вычитатель и
соответствующее управление, которое обеспечило бы вычитание меньшего числа из
большего. Накопление упрощается при использовании вместо прямого кода дополнительного.
Отсчеты и коэффициенты также могут
храниться в дополнительном, а не в прямом коде. Это означает, что необходимо
специальное управление первым сумматором (фиг. 9.3). Удобнее всего для этого
использовать алгоритм Бута (он был рассмотрен в гл. 8), в котором анализ двух
соседних разрядов позволяет решить, что следует выполнить — сложение или
вычитание.