Радиофизика
Вестник Нижегородского университета им. Н.И. Лобачевского, 2009, № б (і), с. 71-78
УДК 621.396
ПРОЕКТИРОВАНИЕ ЦИФРОВЫХ ФИЛЬТРОВ МЕТОДАМИ ЦЕЛОЧИСЛЕННОГО НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
© 2009 г. В.Н. Бугров
Нижегородский госуниверситет им. Н.И. Лобачевского bug@rf.unn.ru
Поступила в редакцию 02.06.2009
Рассматриваются вопросы моделирования и проектирования как рекурсивных (IIR), так и нерекурсивных (FIR) цифровых фильтров с учетом возможностей их аппаратной реализации на микропроцессорных контроллерах. Приводится постановка и решение задачи многофункционального синтеза цифровых фильтров на базе численных методов целочисленного нелинейного математического программирования. Рассмотрен пример решения задачи многофункционального синтеза рекурсивного фильтра и его реализации на микроконтроллере MSP430F1611. Приводится сравнение его теоретических и экспериментальных характеристик.
Ключевые слова: цифровой ЦНП-фильтр, многофункциональный синтез, целочисленное нелинейное программирование, микропроцессорный контроллер, целевая функция.
Введение
Цифровая фильтрация является одним из наиболее мощных инструментальных средств цифровой обработки сигналов. Являясь устройствами частотной селекции входного сигнала, цифровые фильтры обычно разрабатываются на основе требований к их частотным характеристикам. В общем виде комплексный частотный коэффициент передачи цифрового фильтра стандартно можно записать как
Таким образом, основными характеристиками фильтра в частотной области являются:
1. Амплитудно-частотная характеристика
как модуль коэффициента передачи |Н(е) ;
2. Фазо-частотная характеристика как аргумент коэффициента передачи ф(ю);
3. Время групповой задержки: т^г =-сф/ дю;
4. Фазовая задержка как прямая задержка фильтром гармонического сигнала: тз =-ф(ю)/Ю.
Современные условия функционирования цифровых фильтров в различных устройствах цифровой обработки сигналов определяют необходимость обеспечения всей совокупности функциональных требований в частотной области. Поэтому актуальной является задача разработки методов синтеза цифровых фильтров с учётом совокупности требуемых характеристик. Такой синтез принято называть многофункциональным в отличие от многокритериального
синтеза, синтеза только по одной частотной характеристике. Многофункциональный синтез цифровых фильтров с учётом требований их практической реализуемости возможен в настоящее время только методами нелинейного математического программирования [1-3]. Математическое программирование (МП) - это инвариантная и весьма эффективная методология решения формализованных задач, задач проектирования в частности, общая идея которой состоит в привязке решения любой задачи к чёткому инвариантному математическому признаку - экстремуму функции качества (цели) F(X), где Х - вектор искомых параметров устройства. Для любой задачи такую функцию в общем виде всегда можно сформировать (в компьютерных пакетах это обычно делает функциональный редактор [3]). Имея такую функцию, решение любой задачи сводят к процедуре минимизации Е(Х), то есть к отысканию координат глобального экстремума (оптимальных параметров устройства Х°), что обычно делается поисковыми методами [1, 2, 4].
Другим не менее важным требованием к цифровому фильтру является выполнение цифровой фильтрации в реальном времени. Это означает, что все операции алгоритма фильтрации должны выполняться за время, не превышающее период дискретизации входного сигнала. С точки зрения эффективной работы цифрового фильтра в реальном времени, обеспечения минимума затрат (по времени и ресурсам памяти) для расчёта отклика фильтра особый интерес представляет случай целочисленной дискрети-
зации пространства параметров (коэффициентов) фильтра. В этом случае задача МП трансформируется в задачу целочисленного нелинейного программирования (ЦНП), и фильтры, спроектированные в данном приближении, в дальнейшем будем называть цифровыми ЦНП-фильтрами. Целевая функция Р(1Х) в задачах ЦНП записана относительно вектора искомых целочисленных параметров фильтра IX и наиболее часто формируется в виде аддитивной свёртки (1) частных целевых функций /(IX), которые определяют ту или иную частотную характеристику фильтра [1,3]:
Я/*)=Е в ■£ (IX). (1)
і
Коэффициент р,- задает значимость (вес) характеристики (г-го частотного окна). Сами частные целевые функции /(IX формирует функциональный редактор пакета синтеза по критерию минимума среднеквадратичного отклонения (ненормированная (2) или нормированная
(3) форма) либо в форме минимаксного критерия (4):
■2
1 р ^ fi (IX) = - • X Y (IX) - YT Р n=1
1 р
fi (IX) = - • Е
Р n=l
Yn (IX) - YnT Yj
fi (IX) = max {\Yn (IX) - \ 2}
Рекурсивные цифровые ЦНП-фильтры
Рекурсивный ЦНП-фильтр является дискретной линейной системой, для которой соотношение между входной хп и выходной уп последовательностями определяется уравнением в конечных разностях
N a N b
Уп = - Ё ~ ■ Уп-k + Ё ~ ■ Xn-k к=1 a0 k=0 a0
(5)
(2)
(З)
а передаточная функция - его Z-преобразованием. Принципиальной особенностью ЦНП-фильтров, как уже было отмечено выше, является принадлежность его коэффициентов Ьк и ак знакопеременному ряду целых чисел, который может быть как натуральным, так и биномиальным (для нормирующего коэффициента а0). Интервал суммирования по к получил название «окна» фильтра. Входное окно фильтра составляет N+1 отсчётов, выходное - N отсчётов, при этом значение N определяет порядок рекурсивного фильтра. Наличие обратной связи (рекурсии) в (5) определяет бесконечный характер импульсной характеристики фильтра, причём его частотный коэффициент передачи
N
П (1 -
Z,e
-J®
)
i =1
N
(4)
где Y„(IX) - текущее значение характеристики на n-й дискретной частоте диапазона определения, а Yn - требуемое значение частотной характеристики.
Таким образом, цифровой ЦНП-фильтр обеспечивает максимальное качество цифровой фильтрации (с учётом всей совокупности требуемых характеристик) при гарантированном целочисленном решении IX0, т.е. при использовании только целочисленной арифметики для вычисления отклика фильтра на входное воздействие. Это обстоятельство определяет, во-первых, минимизацию времени расчёта отклика фильтра (т.к. целочисленные операции намного «короче» вещественных), а во-вторых, принципиальную возможность реализации ЦНП-фильт-ров не только на специализированных сигнальных процессорах (DSP), но и на простых и дешёвых микропроцессорных контроллерах (МК), в которых нет возможности вычислений в формате с плавающей точкой. Вопросам многофункционального синтеза и практической реализации цифровых ЦНП-фильтров и посвящается данная статья.
П (1 - Ріе - “ ) і=1
полностью описывается распределением полюсов и нулей в Z-плоскости. Если система устойчива, то все полюсы р, должны лежать внутри единичного круга и область сходимости будет содержать единичную окружность [3, 5, 6]. Таким образом, условие устойчивости, физической реализуемости рекурсивного ЦНП-фильт-ра может быть записано как система неравенств (функциональных ограничений) по всем полюсам коэффициента передачи в Z-плоскости:
Ы < 1. (6)
Линейно-разностное уравнение (5) соответствует прямой форме аппаратной реализации фильтра. Однако для качественной нормировки всей совокупности требуемых частотных характеристик прямая форма наименее выгодна, т.к. одним нормирующим коэффициентом а0 этого сделать обычно не удаётся. Для ЦНП-фильтров (как рекурсивного, так и нерекурсивного) наиболее выгодной является последовательная форма построения в виде каскадного включения звеньев второго порядка (рис. 1).
Передаточная функция для рекурсивного ЦНП-фильтра, состоящего из каскадного соединения т звеньев второго порядка (т = N/2), имеет следующий вид:
2
н (2)=п
—1 —2 Ь0 і + Ь1і2 + Ь2і2
, -1 , -2
і=1 а0і + а1і2 + а2 і2
(7)
Форма (7) операторного коэффициента передачи позволяет легко нормировать требуемую совокупность частотных характеристик фильтра (т.к. нормирующий коэффициент а0 есть уже в каждом г-м звене) и даже производить их фрагментацию. Из соотношения (7) легко получается разностное уравнение для одного звена рекурсивного ЦНП-фильтра:
= (0(п + (п-1 + Ь2хп-2 - а\Уп-1 - а2Уп-2 )/«0 ■ ^ ) Как видно из (8), при вычислении отклика фильтра должна выполняться операция деления на целочисленный коэффициент ао, которая может быть реализована операцией сдвига при условии принадлежности каждого г-го коэффициента биномиальному целочисленному ряду:
а0г- е {29 }, ц = 0, Я -1 г = 1, от , (9)
где Я - разрядность микропроцессора.
На рис. 2 приведена типичная структура звеньев рекурсивного ЦНП-фильтра, соответствующая уравнению (8). Как видно, при аппаратной его реализации для вычисления отклика
фильтра уп кроме традиционных операций сложения, умножения и задержки на такт присутствует операция сдвига на В = 1о§2а0 бит, с помощью которой, как уже сказано, реализуется целочисленное деление на биномиальный коэффициент а0 .
Задача целочисленного нелинейного программирования при машинном синтезе рекурсивного фильтра записывается так:
^ 0 (IX 0 ) = тіп ^ (IX)
IX є 16т ,
(10)
— 2й 1 < < 2й 1 — 1, а=1, 2 , г=1, т ,
_______ ________ (11)
— 2й-1 < ЬЛ < 2Й-1 — 1, а=0, 2 , 1=1, т,
аоі є {2 } Я = 0,^ -1,
\2 „ < 1 , і=1, т ,
І "і I
(|Ь0г| +| Ь1г | + |Ь2г| + |а1г| + |а2г|) < 2^ ^
(12)
(13)
(14)
г=1, т,
твт
где I - целочисленное пространство параметров фильтра, т - число звеньев второго порядка, с1 - индекс коэффициента передаточной функции звена (7).
Рис. 1. Каскадная (последовательная) форма построения ЦНП-фильтра
Рис. 2. Структура звена рекурсивного ЦНП-фильтра
Рис. 3. Структура звена нерекурсивного ЦНП-фильтра
Общая экстремальная задача синтеза (10) записана относительно целочисленного пространства /т параметров (коэффициентов фильтра), размерностью 6т. Ограничения (11) задают границы изменения этих целочисленных коэффициентов, а соотношение (12) определяет принадлежность коэффициентов а0 биномиальному ряду (9). Функциональные ограничения (13) контролируют в процессе синтеза условие устойчивости, физической реализуемости (6) рекурсивного фильтра по всем полюсам коэффициента передачи, а ограничения (14) определяют выполнение требований, связанных с конечной разрядностью внутренних аппаратных вычислений. Многофункциональное задание целевой функции определяется соотношением (1), хотя здесь могут быть применены и другие известные способы скаляризации векторных задач [1, 2]. Поисковое итеративное решение экстремальной задачи ЦНП (10) в заданном пространстве параметров осуществляет программный алгоритмический комплекс [3, 4], обращаясь к модельному блоку программы для расчёта текущих функциональных характеристик фильтра. Вектор IX0, минимизирующий скалярную целевую функцию ^(1Х) на множестве допустимых целочисленных решений (8) и (9), является эффективным решением задачи параметрического синтеза рекурсивного ЦНП-фильтра.
Нерекурсивные цифровые ЦНП-фильтры
В нерекурсивных ЦНП-фильтрах в вычислении текущих значений выходной последова-
тельности уп участвуют только значения входной последовательности хп, т.е. в их уравнении (15) отсутствует обратная связь (уравнение прямой линейной свёртки):
N-1 Ь
Уп = X — • хп-к . (15)
к=0 а0
Поэтому нерекурсивные фильтры всегда устойчивы и имеют конечную импульсную характеристику (КИХ-фильтры) [5, 6]. Коэффициенты Ък и а0 также принадлежат знакопеременному ряду целых чисел, интервал изменения которых определяется разрядностью микропроцессора.
Передаточная функция каскадного соединения т звеньев второго порядка нерекурсивного ЦНП-фильтра может быть записана так:
н (2)=П
і=1
(16)
Соотношение (16) также легко позволяет нормировать требуемую совокупность частотных характеристик фильтра и дискретизировать значения коэффициентов целочисленно. Уравнение для одного звена нерекурсивного ЦНП-фильтра имеет вид:
Уп = (( + Ь1хп-1 + Ь2хп-2 )/а0 , где коэффициент а0 во всех т звеньях также принадлежит биномиальному целочисленному ряду (9). На рис. 3 приведена типичная структура звеньев нерекурсивного ЦНП-фильтра.
Постановка задачи целочисленного нелинейного программирования для машинного синтеза нерекурсивного ЦНП-фильтра выглядит следующим образом:
2
т
^ 0 (IX 0) =тіп ^ (IX),
IX є I
4 т
(17)
- 2к-1 < Ьл < 2к-1 -1, d=0,2 і=1, т , (18)
(19)
(|Ь0« | +| Ь1г | + |Ь2г | ) < 2К 1 > *'=!>т , (20)
где /т - целочисленное пространство параметров фильтра, т - число КИХ-звеньев второго порядка, а - индекс коэффициента передаточной функции звена (16), Я - разрядность микропроцессора,
Ограничения (18) задают границы изменения этих целочисленных коэффициентов, а соотношение (19) определяет принадлежность коэффициентов а0,- биномиальному ряду. Функциональные ограничения (20) определяют требования по буферной регистровой памяти микропроцессора. Многофункциональное задание целевой функции здесь также определяется соотношением (1). Вектор IX0, минимизирующий целевую функцию ^(1Х) на множестве допустимых решений (18) и (19), является эффективным решением задачи параметрического синтеза нерекурсивного ЦНП-фильтра.
Синтез и аппаратная реализация рекурсивного ЦНП-фильтра нижних частот
Рассмотрим в качестве примера решение конкретной задачи многофункционального синтеза рекурсивного ЦНП-фильтра нижних частот гидроакустического тракта с частотой среза 290 Гц, который, кроме формирования требуемой рабочей полосы, осуществляет также амплитудную коррекцию АЧХ тракта на интервале 200-290 Гц (график требуемой АЧХ фильтра приведён на рис. 4).
Ки
Рис. 4. Требуемая АЧХ фильтра
В качестве базовой структуры фильтра выберем форму каскадного соединения пяти БИХ-
звеньев второго порядка с передаточной функцией (7). Предполагая реализацию фильтра на микроконтроллере MSP430F1611 (разрядность процессора Я = 16, разрядность АЦП М= 12), задачу параметрического синтеза корректирующего рекурсивного ЦНП-фильтра можно записать так:
^ 0 (IX ° )=шп ^ (IX),
30
IX є/
- 5000 < а л < + 5000 , а=1, 2 , /=1,5 ,
(22)
— — (23)
- 5000 < ЬЛі < + 5000, а=1,2, /=1,5 , аоі є {22 Ь Ч = 0,15 ;
(24)
(25)
,15
(26)
\2 „ < 1, г=1,5 ,
| |
(|Ь0г| + | Ь1г |+ |Ь2г| + |а1г| + |а2г|) < 2
г = 1,5.
Таким образом, минимизация целевого функционала осуществлялась на 30-мерном целочисленном пространстве параметров в допустимой области (23) и (24) при выполнении функциональных ограничений устойчивости фильтра (25) и регистровых ограничений (26), связанных с конечной разрядностью внутренних аппаратных вычислений. Сам целевой функционал данной задачи
г(1Х)=вл(щ+шт+в/з(т+шт (27)
формировался в четыре частотных окна по следующим частотным характеристикам фильтра:
• общей АЧХ фильтра /1 (IX) с весом Р^1 на всём интервале цифровых частот (рис. 4);
• корректирующей участок АЧХ /2(IX) в диапазоне 200-290 Гц с весом р2 = 0,1;
• линейной ФЧХ фильтра /3(IX) в полосе пропускания до 250 Гц (вес Рз = 1.0);
• постоянному времени групповой задержки фильтра /4(1Х) в полосе пропускания до 250 Гц с оконным весом р4= 0.01.
Указанные функции характеристик графически вводились в соответствующее окно функционального редактора пакета синтеза и затем оцифровывались. Требуемые показатели синтезируемого фильтра приведены во втором столбце таблицы 1. В третьем столбце указаны эти показатели по результатам синтеза для частоты дискретизации 1 кГц. Время решения задачи на ЭВМ не превышало 12 минут, причём начальное значение целевого функционала (27) составляло 779, а значение в точке оптимума составляло 0.00023 при полном выполнении условий устойчивости фильтра.
Таблица І
Функциональные показатели Задание Синтез на ЭВМ Эксперимент
Полоса пропускания, Гц 0-290 0-284 0-295
Усиление в полосе 1.0 1.015 1.02
Фазовые искажения в полосе до 250 Гц не более, град 10 7.2 9.8
Групповая задержка, мс 3.8 4 -
В таблице 2 приведены оптимальные значения целочисленных коэффициентов передаточной функции фильтра, а на рис. 5-9 представлены графики его функциональных характеристик по синтезу на ЭВМ. На рис.10 приведён график координатного разреза целевой функции по параметру Ьц в точке оптимального решения (табл. 2).
Как видно из таблиц и приведённых рисунков, все требования по функциональным показателям и характеристикам корректирующего рекурсивного фильтра по синтезу были выполнены с высокой точностью.
Практическая реализация синтезированного рекурсивного ЦНП-фильтра осуществлялась, как уже сказано выше, на многофункциональном микроконтроллере MSP430F1611 фирмы Texas Instruments, являющемся по сути дела однокристальной ЭВМ малой производительности с шестнадцатиразрядным RISC-ядром. Отличительными особенностями данного МК является его низкое энергопотребление, невысокая стоимость и невозможность вычислений в формате с плавающей точкой. И только наличие целочисленного решения (таблица 2) позволило успешно реализовать на данном МК такой сложный рекурсивный фильтр десятого порядка. Внешний вид реализованного цифрового фильтра представлен на рис. 13, а его экспериментально измеренные АЧХ и ФЧХ приведены на рис. 11 и рис. 12 соответственно. Примечательно практически полное соответствие экспериментальной и теоретической (по синтезу) АЧХ фильтра на рис. 11, что и характерно для цифровых систем.
Обсуждение результатов
Методы целочисленного нелинейного программирования в приложении к задачам проектирования цифровых фильтров являются современной и весьма перспективной альтернативой традиционным классическим методам проектирования цифровых фильтров [5-7]. Принципиальное отличие ЦНП-синтеза заключается в том, что в данном случае для удовлетворения требуемого функционирования фильтра не используются никакие искусственные приёмы и подходы классических методов (взвешивание окном, частотные выборки, методы аппроксимации, быстрой свёртки и др.), приводящие к существенным ограничениям в выполнении функциональных требований и систематическим ошибкам, а осуществляется прямой поиск требуемых коэффициентов фильтра прямо по его математическому определению (модели). Критерием поиска является соответствие совокупного текущего функционирования ЦНП-фильтра его требуемому функционированию. Современные алгоритмические комплексы численной минимизации позволяют решать такую задачу весьма надёжно и эффективно при выполнении всех внешних требований и ограничений к работе цифрового фильтра [1, 2, 3]. Это даёт возможность существенно повысить качество проектируемых фильтров, сократить время их разработки, заметным образом снизить их стоимость. Из материалов, приведённых в статье, видно, что в сравнении с традиционными классическими подходами синтез цифровых фильтров методом целочисленного нелинейного программирования имеет ряд достоинств:
1. Возможно осуществлять синтез фильтра по совокупности требуемых его характеристик, причём можно легко управлять приоритетом функциональных характеристик в процессе синтеза фильтра.
2. Форма характеристик может быть произвольная, частотная шкала - линейная.
3. Возможна широкая фрагментация характеристик, когда важные их участки выделяются
Таблица 2
Звено Коэффициенты передаточной функции фильтра
фильтра ao a1 a2 bo bi b2
1 4096 -823 1294 274 -1221 -918
2 4096 1905 1516 175 -1210 376
3 2048 1174 1646 4907 -1580 -2796
4 1024 -1524 531 -2817 -2791 -2576
5 2048 -934 207 652 -573 462
Рис. 5. АЧХ фильтра
1 Частот а, Гц 250
Рис. 7. ФЧХ фильтра в заданной полосе
10.0 Т грз
МО
0.00 | | | | | | | ||____________________________________
1 Частот а, Гц 250
Рис. 9. Групповая задержка в полосе
Частота, Гц
Рис. 11. Экспериментальная АЧХ фильтра
Рис. 6. ФЧХ на главном интервале
7.0 I-^^^^^^--------
Т7г
1 Частот а, Гц 250
Рис. 8. Функция фазовой задержки
Рис. 10. Разрез ЦФ по параметру Ь11
Частота, Гц
Рис. 12. Экспериментальная ФЧХ фильтра
в отдельное функциональное окно для обеспечения их детальной проработки в ходе синтеза.
4. Устойчивость решения для рекурсивных фильтров может быть гарантирована приоритетным выполнением функциональных условий устойчивости в процессе синтеза фильтра.
5. Целочисленная дискретизация пространства варьируемых параметров фильтра позволяет получать проектные решения в целых числах, что снимает все ограничения по арифметике вычислений при аппаратной реализации фильтров как на сигнальных процессорах, так и на микропроцессорных контроллерах, что подтверждается приведёнными в статье экспериментальными данными.
График разреза на рис. 10 показывает, что целевые функции в задачах многофункционального синтеза цифровых ЦНП-фильтров имеют весьма сложный, полимодальный характер. Дискретная минимизация таких функций является весьма не простой задачей. Тем не менее разработанный программно-алгоритмический комплекс успешно справился с этой задачей, показав высокую надёжность и эффективность.
Список литературы
1. Богатырев Ю.К., Бугров В.Н., Воронков Ю.В. Компьютерный анализ и синтез радиотехнических устройств: Учебное пособие. Н. Новгород: Изд-во НГТУ, 1996. 96 с.
2. Воинов Б.С., Бугров В.Н., Воинов Б.Б. Информационные технологии и системы: поиск оптимальных, оригинальных и рациональных решений. М.: Наука, 2007. 730 с.
3. Бугров В.Н., Лупов С.Ю., Земнюков Н.Е., Ко-рокозов М.Н. // Вестник Нижегородского госунивер-ситета им. Н.И. Лобачевского. 2009. № 2. С. 76-82.
4. Бугров В.Н. Решение общей задачи нелинейного программирования поисковыми методами // Тр. 7-й научной конференции по радиофизике. 8 мая 2003 г. / Ред. А.В. Якимов. Н. Новгород: ТАЛАМ, 2003. С. 163.
5. Кривошеев В.И. Цифровая обработка сигналов: Учебное пособие. Н. Новгород: Изд-во ННГУ, 2006. 207 с.
6. Антонью А. Цифровые фильтры: анализ и проектирование. М.: Радио и связь, 1983. 320 с.
7. Каппелини В., Константинидис А. Дж., Эми-лиани П. Цифровые фильтры и их применение. М.: Энергоатомиздат, 1983. 360 с.
30 мм
Рис. 13. Внешний вид синтезированного ЦНП-фильтра, реализованного на микроконтроллере MSP430F1611
DESIGNING DIGITAL FILTERS BY INTEGER NONLINEAR PROGRAMMING METHODS
V.N. Bugrov
The simulation and design of infinite impulse response (IIR) and finite impulse response (FIR) filters are considered taking into account the possibilities of their hardware support on microprocessor controllers. The problem statement and solution of multifunctional synthesis of digital filters on the basis of the numerical methods of integer nonlinear mathematical programming are given. An example has been presented of the problem solution of IIR filter multifunctional synthesis and hardware support on the microcontroller MSP430F1611. A comparison of its theoretical and experimental characteristics is given.
Keywords: digital INP filter, multifunctional synthesis, integer nonlinear programming, microprocessor controller, objective function.