Главная > Разное > Теория и применение цифровой обработки сигналов
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

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), в котором анализ двух соседних разрядов позволяет решить, что следует выполнить — сложение или вычитание.

 

<< Предыдущий параграф Следующий параграф >>
Оглавление