РАДИОФИЗИКА
УДК 621.396
ЦЕЛОЧИСЛЕННОЕ ПРОЕКТИРОВАНИЕ ГАУССОВЫХ ЦИФРОВЫХ ФИЛЬТРОВ © 2012 г. В.Н. Бугров
Нижегородский госуниверситет им. Н.И. Лобачевского [email protected]
Поступила в редакцию 15.04.2011
Рассматриваются вопросы моделирования и проектирования рекурсивных (ІШ) гауссовых цифровых фильтров с учетом возможности их реализации на микроконтроллерах. Приводится постановка и решение задачи многофункционального синтеза гауссовых фильтров методами целочисленного нелинейного математического программирования. Рассмотрен пример решения задачи синтеза рекурсивного гауссова фильтра и его реализации на микроконтроллере MSP430F1611. Приводится сравнение теоретических и экспериментальных характеристик фильтра.
Ключевые слова: цифровой гауссов фильтр, многофункциональный синтез, целочисленное нелинейное программирование, микроконтроллер, целевая функция.
Введение
Фильтры специальной формы частотных характеристик широко используются в современной радиоэлектронной аппаратуре. К таким устройствам в первую очередь можно отнести гауссовы фильтры, амплитудно-частотная характеристика которых близка к гауссовой кривой [1, 2].
Нормированная резонансная характеристика для гауссовой кривой (рис. 1) определяется следующим образом:
Уф = *
(1)
при каскадном (последовательном) соединении т звеньев второго порядка амплитудно-частотная характеристика (АЧХ) системы стремится к гауссовой кривой. Это иллюстрирует рис. 2, где представлены нормированные резонансные кривые при различных т (для удобства по оси абсцисс отложено отношение абсолютной расстройки к полосе пропускания).
Формально для оценки степени близости АЧХ фильтра к гауссовой кривой удобно использовать среднеквадратичную погрешность ст в полосе пропускания по заданному уровню (уровень у0 на рис.1):
где ^ = f - f0 - абсолютная расстройка от резонансной частоты, а параметр а определяет нормированную полосу пропускания гауссовой кривой:
П2
а =- г- ,
4 Ы2
здесь П - абсолютная полоса пропускания по уровню 0.7.
Как известно, фильтры с гауссовой характеристикой имеют самое короткое из возможных время установления колебаний при отсутствии выбросов за фронтом. Это главное достоинство гауссовых фильтров широко используется в современной радиоэлектронике, как аналоговой, так и цифровой. Что касается принципов построения гауссовых фильтров, то из общей теории электрических фильтров известно, что
- [у&) - УГ & )]2, (2)
Р и
где у(^г) - текущее значение характеристики в і-й дискретной точке определения, а у (£,г) -значение идеальной гауссовой характеристики в этой точке.
Сказанное выше очевидно справедливо и для цифровых фильтров, построенных структурно в виде каскадного соединения звеньев второго порядка - цифровых резонаторов. Как показано в [2, 3], такая структура построения является базовой для цифровых фильтров, спроектированных методом целочисленного нелинейного программирования (ЦНП). Синтез как рекурсивного, так и нерекурсивного фильтра данным методом обеспечивает возможность реализации произвольной формы частотных характеристик (в том числе и гауссовой формы) при гаранти-
а
Рис. 1. Гауссова характеристика фильтра
V
Рис. 2. Нормированные характеристики при различных m
рованном целочисленном решении IX , т.е. при использовании только целочисленной арифметики для вычисления отклика фильтра на входное воздействие. Это обстоятельство определяет, во-первых, минимизацию времени расчёта отклика гауссова фильтра (т.к. целочисленные операции намного «короче» вещественных), а во-вторых, принципиальную возможность реализации фильтра не только на специализированных сигнальных процессорах (DSP), но и на простых и дешёвых микропроцессорных контроллерах (МК), в которых нет возможности вычислений в формате с плавающей точкой. Вопросы многофункционального синтеза и практической реализации гауссовых ЦНП-фильтров и рассматриваются в статье. Однако данный подход требует прежде всего разработки целочисленных моделей гауссовых фильтров, а также выбора наиболее рациональной формы их построения.
Целочисленная модель рекурсивного гауссова фильтра
Рекурсивные ЦНП-фильтры, являясь дискретными линейными системами с обратной связью (рекурсией), обладают значительно большими селективными возможностями по сравнению с нерекурсивными при практически таком же быстродействии, поэтому они позво-
ляют реализовать гауссову форму АЧХ значительно меньшим порядком N фильтра.
Частотная передаточная функция для рекурсивного гауссова фильтра, состоящего из каскадного соединения т звеньев второго порядка (т = N/2), имеет следующий вид [3]:
H (z) = ПЬоі + KZ~'+ KZ
-1 -2
a0i + a1iZ + a2iZ
(З)
причём все коэффициенты передаточной функции являются целочисленными, а их интервал изменения (вариации) определяется разрядностью R используемого микропроцессора. Гауссов рекурсивный фильтр будет устойчив, если все полюсы р/ передаточной функции (3) лежат внутри единичного круга в 2-плоскости [3]:
\2р\ < 1. (4)
Из соотношения (3) для операторного коэффициента передачи легко получается разностное уравнение для одного звена фильтра:
Уп = (Ь0 Хп + Ь1 Хп-1 + Ъ2 Хп-2 - а1 Уп-1 - а2 Уп-2 )/ О) , (5) где хп - входная временная последовательность, уп - выходная последовательность.
Как видно из (5), при вычислении отклика фильтра должна выполняться операция деления на целочисленный коэффициент а0, которая может быть реализована операцией сдвига при условии принадлежности каждого /-го коэффициента биномиальному целочисленному ряду:
а0/ е {2“ }, ц = 0, Я -1 / = 1, т . (6)
Рис. 3. Структура звена рекурсивного гауссова фильтра
На рис. 3 приведена типичная структура звеньев рекурсивного гауссова фильтра, соответствующая уравнению (5). Как видно, для вычисления отклика фильтра уп кроме традиционных операций сложения, умножения и задержки на такт присутствует операция сдвига на В = ^2а0 бит, с помощью которой, как уже сказано, реализуется целочисленное деление на биномиальный нормирующий коэффициент а0.
Таким образом, при расчёте отклика рекурсивного гауссова фильтра используется минимальное количество базовых операций, причём все эти операции целочисленные. Расчёт отклика фильтра на реальном сигнале идёт очень быстро, прямо по определению (модели) фильтра (3) и (5), с использованием вычисленных заранее целочисленных коэффициентов. Поэтому рекурсивный гауссов ЦНП-фильтр при работе в реальном времени обладает высоким быстродействием.
Синтез рекурсивного гауссова фильтра
Общая постановка задачи целочисленного нелинейного программирования при машинном синтезе ЦНП-фильтров подробно рассмотрена в работе [3]. Постановку конкретной задачи многофункционального синтеза рекурсивного гауссова фильтра на микроконтроллере с разрядность процессора R можно записать так:
F °(!Х0) = тт F (IX),
IX єіЬт,
- 5000 < ал < + 5000 d=1,2, і=1,т,
- 5000 < йЛ < + 5000 d=1,2, /=Гт,
айі є {2д}, д = 0,R -1,
(7)
(8)
(9)
(10)
ур\ < 1, і=1, т ,
(Ы +1 Ъ1г 1+ Ы + Ы + |а2і| ) < і = 1 т, (11)
где т - число звеньев второго порядка, d - индекс коэффициента передаточной функции звена (3).
Экстремальная задача синтеза (7) записана
/т
X
параметров (коэффициентов фильтра), размерностью 6т. Ограничения (8) задают границы изменения этих целочисленных коэффициентов, а соотношение (9) определяет принадлежность коэффициентов а0г- биномиальному ряду. Функциональные ограничения (10) контролируют в процессе синтеза условие устойчивости рекурсивного гауссова фильтра по всем полюсам коэффициента передачи, а ограничения (11) определяют выполнение требований, связанных с конечной разрядностью внутренних аппаратных вычислений. Поисковое итеративное решение экстремальной задачи (7) в заданном пространстве параметров осуществлял программный алгоритмический комплекс целочисленной минимизации многомерных полимодальных функций, обращаясь к модельному блоку программы для расчёта текущих функциональных характеристик фильтра. Вектор IX0, минимизирующий скалярную целевую функцию F(IX) на множестве допустимых целочисленных решений (8) и (9), является эффективным решением задачи параметрического синтеза рекурсивного гауссова фильтра. Спецификой задачи в данном случае являлась необходимость контроля всего главного интервала цифровых частот гауссова фильтра, т.к. при поисковом решении задачи синтеза (7) возможно появление боковых лепестков АЧХ фильтра, уровень которых должен быть минимален. Поэтому целевой функционал данной задачи формировался в виде аддитивной свёртки четырёх частных целевых функций /(IX), которые определяли ту или иную область АЧХ гауссова фильтра либо его фазочастотную характеристику:
Д(1Х)=РЛ(К)+Р^./2(1Х)+Р^./3(ТХ) +Р^./4(1Х). (12)
Таблица 1
Показатели гауссова фильтра Задание Синтез Эксперимент
Центральная частота, Гц 500 502 504
Полоса пропускания, Гц 25 24.9 25.1
СКО реализации гауссовой формы в полосе по уровню 0.01, не более 0.02 0.011 0.018
Фазовые искажения в полосе, град 2 1.5 2.7
Уровень побочных лепестков, дБ -40 -43.5 -41
Таблица 2
Звено фильтра Коэффициенты передаточной функции гауссова фильтра
а0 a1 а2 ba b1 b2
1 409б -1844 1543 884 -340 -2081
2 409б -1243 2б1 -2137 -10б9 -210б
3 2048 155 1888 -1041 -2370 80
4 409б -291 3743 -109 47 -10б
5 409б -1б55 554 -2348 2732 -1874
б 409б -78б 559 -30б 1920 52б
7 2048 857 543 898 -2308 б33
8 409б -103 3531 2898 1514 -110
Частная целевая функция f1(IX) с весом (3i=l формировала зону основного гауссова лепестка фильтра, рассчитанного по соотношению (l) для заданной полосы пропускания фильтра, и определялась среднеквадратичной ошибкой (СКО) - отклонением текущей АЧХ фильтра от идеальной гауссовой АЧХ, рассчитанной по соотношению (3). Таким образом, данное частотное окно контролировало основной гауссов лепесток в интервале заданного уровня подавления побочных лепестков (уровень у0 на рис. l).
Частная целевая функция f2(IX) с весом р2=0.2 определяла внеполосное (вне гауссова лепестка) подавление побочных лепестков на интервале цифровых частот ниже гауссова лепестка.
Частная целевая функция f3(IX) с весом р3=0.2 определяла внеполосное подавление побочных лепестков по уровню y0 на интервале цифровых частот выше основного гауссова лепестка вплоть до частоты Найквиста.
Частная целевая функция f4(IX) с весом р4=0. l определяла требуемую линейность ФЧХ в полосе пропускания гауссова фильтра.
Указанные характеристики графически вводились в соответствующее окно функционального редактора пакета синтеза и затем оцифровывались. Ниже приводится пример решения задачи многофункционального целочисленного синтеза гауссова рекурсивного фильтра 16-го порядка с добротностью Q = 20. Исходные данные для синтеза приведены во втором столбце таблицы 1. В третьем столбце указаны эти показатели по результатам синтеза для частоты дискретизации 2 кГц при уровне подавления побочных лепестков у0 = 0.01 (-40 дБ). Время решения задачи на ЭВМ не превышало 20 минут,
причём значение целевого функционала (12) в начальной точке поиска составляло 892, а в точке оптимального целочисленного решения IX0 было равно 0.00015 при полном выполнении условий (10) устойчивой работы гауссова фильтра. В таблице 2 приведены оптимальные значения целочисленных коэффициентов передаточной функции фильтра, а на рис. 4-7 представлены графики его функциональных характеристик по синтезу.
Как видно из таблиц 1, 2 и рисунков, все требования по функциональным показателям и характеристикам гауссова фильтра были выполнены с высокой точностью и ошибка реализации гауссовой формы АЧХ была минимальной.
В итоге, как показало практическое решение задачи синтеза, целочисленные проектные решения фильтров с низкой добротностью реализуются относительно легко и при малом порядке N гауссова фильтра. Дальнейшее увеличение добротности было возможно только при пропорциональном увеличении порядка гауссова фильтра (рис. 10), что обеспечивало минимально требуемый уровень СКО реализации гауссовой кривой.
Из приведённых на рис. 10 графиков видно, что максимальные добротности рекурсивных гауссовых фильтров ограничивались значением Qmax= 35 - 40. На рис. 11 приведены АЧХ гауссовых фильтров с различной добротностью Q и порядком N, синтезированных методом ЦНП.
Практическая реализация синтезированного гауссова ЦНП-фильтра осуществлялась на многофункциональном микроконтроллере MSP430F1611 фирмы Texas Instruments [4] с целочисленным RISC-ядром разрядностью R = 16. Отличитель-
1.0
НИ
э.о
-2.0
Фаза
Рад
-3,1
N = 16
а = 20
458 Частота, Гц
Рис. 4. АЧХ гауссова фильтра
X
X
488 Частота, Гц
Рис. 6. ФЧХ фильтра в полосе
512
0.98
542
0.00
Рд = 2 кГц
\
Частота, Г ц
Рис. 5. АЧХ на всём главном интервале
1000
40.0
0.00
488 Частота, Гц
Рис. 7. Функция групповой задержки
512
Н(2)
Частота, Г ц
Рис. 8. Экспериментальная АЧХ фильтра в полосе пропускания
400 500 600 700
Частота, Г ц
Рис. 9. Экспериментальная АЧХ фильтра на главном интервале
Рис. 10. Зависимость СКО от добротности гауссова фильтра
Рис. 11. АЧХ гауссовых фильтров с различной добротностью Рис. 12. Внешний вид гауссова ЦНП-фильтра
ными особенностями данного микроконтроллера является его низкое энергопотребление, невысокая стоимость, а также возможность вычислений только в формате с фиксированной точкой. И только наличие целочисленного решения (таблица 2) позволило успешно реализовать на данном контроллере сложный рекурсивный гауссов фильтр шестнадцатого порядка с высокой добротностью. Внешний вид фильтра представлен на рис. 12, а его экспериментально измеренные АЧХ приведены на рис. 8, 9. Измерения осуществлялись на панорамном измерителе частотных характеристик цифровых фильтров, реализованном в среде виртуальных приборов LabVIEW. Примечательно практически полное соответствие экспериментальных и теоретических (по синтезу) характеристик фильтра, что и характерно для цифровых систем.
Заключение
Проектирование цифровых фильтров специальной формы характеристик, гауссовых фильтров в частности, методами нелинейного математического программирования позволяет существенно повысить качество проектируемого фильтра, обеспечить совокупность его требуемых характеристик, заметным образом сократить время разработки [3, 5]. Особый интерес представляет проектирование гауссовых фильтров в целых числах, что позволяет обеспечить минимальное время расчёта отклика фильтра на входное воздействие, то есть обеспечить максимальное быстродействие при работе гауссова фильтра в реальном времени.
Кроме того, целочисленное решение позволяет успешно реализовывать гауссовы фильтры на микроконтроллерах с целочисленной арифметикой вычислений, наиболее дешёвых и производительных. Из материалов, приведённых в данной статье, видно, что методы ЦНП-синтеза позволяют успешно проектировать рекурсивные гауссовы фильтры со значениями добротности вплоть до 50 при практически полном подавлении побочных лепестков АЧХ и нелинейностью ФЧХ порядка 1 - 2 град. Никакими известными классическими подходами [6] решить подобную задачу невозможно. Приведённые в статье экспериментальные данные по аппаратной реализации гауссовых ЦНП-фильтров на микроконтроллере вполне подтверждают теоретические расчёты.
Список литературы
1. Гончаров Г.А., Зубаткин О.Ю., Лопатин П.А. Расчет фильтра с АЧХ, близкой к гауссовой кривой // Сборник «Техника средств связи». 1978. № 5. С. 43-49.
2. Бугров В.Н., Лупов С.Ю., Земнюков Н.Е., Ко-рокозов М.Н. // Вестник ННГУ. 2009. № 2. С. 76-82.
3. Бугров В.Н. // Вестник ННГУ. 2009. № 6. С. 71-78.
4. Семенов Б.Ю. Микроконтроллеры MSP430. Первое знакомство. М.: Изд-во «Солон-пресс», 2006. 120 с.
5. Воинов Б.С., Бугров В.Н., Воинов Б.Б. Информационные технологии и системы: поиск оптимальных, оригинальных и рациональных решений. М.: Наука, 2007. 730 с.
6. Антонью А. Цифровые фильтры: анализ и проектирование. М.: Радио и связь, 1983. 320 с.
INTEGER DESIGN OF GAUSSIAN DIGITAL FILTERS
V.N. Bugrov
The simulation and design of infinite impulse response (IIR) Gaussian recursive digital filters taking into account the possibilities of their practical realization in microprocessor controllers are considered. The problem statement and solution of multifunctional synthesis of Gaussian digital filters by integer nonlinear mathematical programming are given. An example of an IIR Gaussian filter design and its realization in the microcontroller MSP430F1611 has been considered. A comparison of theoretical and experimental characteristics of the filter is given.
Keywords: digital Gaussian filter, multifunctional synthesis, integer nonlinear programming, microcontroller, objective function.