22.4.3. ПРАКТИЧЕСКИЕ СООБРАЖЕНИЯ
При разработке цифровых фильтров основные затраты связаны с реализацией элементов задания масштабных коэффициентов, которые обеспечивают умножение сигнала на заданный коэффициент. Длина слова в фильтре должна быть выбрана
большей, чем входной или выходной сигналы, на число разрядов коэффициентов, с тем чтобы при умножении не произошло существенной потери информации. В противном случае характеристика фильтра будет зависеть от амплитуды. Это ведет к искажениям.
Требования к точности умножителя для коэффициентов, стоящих в знаменателе, тем больше, чем ближе
к 1 и С, к
данном случае можно, однако, ослабить эти требования посредством следующего преобразования:
Здесь
очевидно, меньше 1. Этот коэффициент имеет значительно меньше значащих разрядов, чем
Чаще всего для фильтра первого порядка достаточно 4 разряда, а для фильтра второго порядка - 8 разрядов. Дополнительные аппаратурные затраты для схемы вычитания малы по сравнению с экономией в умножителе. Подобным же образом можно представить коэффициент
Простой пример реализации цифрового фильтра
В качестве примера рассмотрим фильтр верхних частот первого порядка. Его частота среза должна составлять 100 Гц, ширина полосы входного сигнала
Выберем
т.е.
Из выражения
с учетом формулы (22.25) получим
Для того чтобы можно было оперировать в двоичной системе, преобразуем
в двоичную дробь:
Это число близко к
Можно значительно уменьшить затраты на вычисление произведения
если
будет точно равняться целочисленной степени двух, в рассматриваемом случае
Тогда умножение выполняется просто сдвигом у на четыре двоичных разряда.
Из анализа формул (22.25) можно заключить, что поставленное условие может быть выполнено путем незначительного изменения нормировочного коэффициента
т.е. изменением
из выражения
следует
Это означает, что при частоте выборки
частота среза
возрастает со 100 до 102,6 Гц. Коэффициенту
также придаем приближенное значение
Так как этот параметр влияет только на коэффициент усиления, для дальнейшего упрощения схемы будем считать его равным — 1, т.е. коэффициент усиления на высоких частотах стремится к значению
После этих упрощений получаем блок-схему, приведенную на рис. 2214, с цифровой передаточной характеристикой
Схемотехническая реализация с
-разрядным входным кодом показана на рис. 22.15. Для того чтобы иметь возможность оперировать и с положительными, и с отрицательными числами, используется
Рис. 22.14. Цифровой фильтр верхних частот первого порядка. Частота среза
Коэффициент усиления
Рис. 22.15. Схема цифрового фильтра верхних частот.
предложенное в разд. 19.5.6 двоичное дополнительное представление. Старший разряд, таким образом, является знаковым. Поскольку умножение можно выполнять посредством сдвига, необходимы еще только суммирующие схемы. Для этого воспользуемся
-разрядным арифметикологическим устройством типа
Оно может служить вычитателем, если на управляющие входы поданы соответствующие сигналы. Таким образом, образование двоичного дополнительного кода для коэффициентов
может быть перенесено в сумматор. При помощи
и
образуется выражение
Умножение у на 2 4 достигается тем, что у сдвигается на четыре разряда в вычитателе. При этом длина слова увеличивается с 4 до 8 бит.
Знаковый разряд
должен быть у всех независимых разрядов, для того чтобы умножение у на
осуществлялось правильно и для положительных, и для отрицательных значений у. Это иллюстрируется следующим числовым примером:
Решающий блок
соответствует первому сумматору на рис. 22.14, а
-второму. Задержка на длительность такта обеспечивается с помощью ИС 3 и 4, которые содержат по четыре D-триггера, срабатывающих по фронту импульса. Триггеры в
служат для синхронизации входного сигнала.
Логические элементы ИСКЛЮЧАЮЩЕЕ ИЛИ в ИС 6 и ИС 7 служат для защиты от перегрузки. Как было показано в разд. 19.5.6, при превышении диапазона положительных чисел происходит скачок с
до — 128, так как старший разряд является знаковым. Из-за нежелательной перемены знака при перегрузке фильтр может стать нестабильным и при известных обстоятельствах больше уже не
возвращается в нормальный режим работы. Такой эффект в точности соответствует «захлопыванию», известному и в аналоговых схемах. Этого можно избежать, если, например, на выходе сумматора при положительной перегрузке число равняется
а при отрицательной — 128. Однако при этом необходимо раздельно декодировать положительное и отрицательное переполнения.
Той же цели можно достичь, если при перегрузке выходные коды инвертируются. В этом случае характеристика имеет вид, показанный на рис. 22.16. Для ее получения с помощью логических элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, подсоединенных, как показано на рис. 22.15, к выходам
коммутируется тот вычислительный блок, в котором возникает перегрузка. При этом происходит инверсия, когда
Вычислительные блоки
по сравнению со стандартными блоками
имеют то преимущество, что в них формируется сигнал переполнения ОУ.
Способ действия фильтра хорошо иллюстрируется осциллограммой реакции на импульс, приведенной на рис. 22.17.
Рис. 22.16. Выходная характеристика решающего блока при перегрузке. а - без ограничивающего логического устройства; б - с ограничивающим логическим устройством.
Рис. 22.17. Переходная характеристика цифрового фильтра, представленного на рис. 22.15.
Рис. 22.18. Блок-схема программы для моделирования цифрового фильтра первого порядка на микро-ЭВМ.
Последовательная обработка сигнала
Из рассмотрения схемы, приведенной на рис. 22.15, видно, что аппаратурные затраты существенны, хотя был выбран простейший пример. Поэтому возникает вопрос, в каких случаях окупаются большие аппаратурные затраты по сравнению с относительно простой аналоговой реализацией. Пример такого рода - обработка сигналов с экстремально низкой частотой. Она без труда осуществляется с помощью цифровых схем, если выбрать низкую частоту выборки. Напротив, в аналоговых системах в этом случае требуются экстремально большие постоянные времени, которые не всегда могут быть реализованы.
При низких частотах выборки цифровой фильтр можно значительно упростить, выполняя все операции последовательно в одном и том же арифметическом устройстве. Промежуточные результаты запоминаются в буферной памяти до следующего тактового импульса. Для выполнения подобных операций очень удобно применить микро-ЭВМ. Для примера на рис. 22.18 приведена блок-схема программы, соответствующая структурной схеме на рис. 22.14. Для того чтобы
следующее значение х фактически могло быть подано на вход устройства, длительность Та такта фильтра должна быть больше, чем время обработки сигнала в устройстве. Для фильтра первого порядка при 8-раз-рядной длине слова с помощью стандартных систем (8080, 6800) можно получить времена обработки порядка
В этом случае максимальная частота выборки составляет, следовательно,
Для фильтров более высокого порядка и при большей длине слова она меньше. Поэтому для построения цифровых фильтров целесообразно использовать
-раз-рядные микропроцессоры.
Особенно выгодно применять специальный процессор-фильтр, как, например, модель 2920 фирмы Intel. Он содержит аналого-цифровой и цифро-аналоговый преобразователи с
-разрядной дискретизацией. Для обработки сигнала имеется ЗУПВ емкостью 40 слов по 25 бит и
-разрядное арифметическое устройство. Программа реализации фильтра хранится в запрограммированном соответствующим образом ЭППЗУ на 192 слова по 24 разряда. При такой длине командного слова с помощью одной команды можно задать не только код операции, но и адрес источника и адрес передачи данных, как только будет проведено умножение на целое двоичное число. Отсюда следует, что для программирования фильтра второго порядка необходимо лишь 10 команд. Выполнение команды занимает
Поэтому даже при максимальной длине программы (192 команды) частота выборки составляет еще