Радиофизика
Вестник Нижегородского университета им. Н.И. Лобачевского, 2014, № 1 (2), с. 132-137
УДК 621.396
МОДЕЛИРОВАНИЕ И СИНТЕЗ ЦИФРОВЫХ ЦНП-ФИЛЬТРОВ С ЛИНЕЙНОЙ ФАЗОЙ
© 2014 г. В.В. Артемьев
Нижегородский госуниверситет им. Н.И. Лобачевского
zzzrf413@bk.ru
Поступила в редакцию 25.09.2013
Рассматриваются вопросы целочисленного моделирования и синтеза рекурсивного ЦНП-фильтра с линейной фазой с учетом возможностей его реализации на программируемой логике. Приводятся постановка и решение задачи синтеза рекурсивного фильтра с линейной фазой методами дискретного программирования. Рассмотрен пример решения задачи синтеза рекурсивного ЦНП-фильтра нижних частот и его реализации на ПЛИС ХШМХ Spartan-3AN.
Ключевые слова: цифровой ЦНП-фильтр, дискретное программирование, синтез, целевая функция, программируемая логическая интегральная схема.
Введение
Рекурсивная цифровая фильтрация имеет более высокое качество частотной селекции цифровых сигналов по сравнению с нерекурсивной. Однако, как указано во многих источниках [1—3], основным недостатком рекурсивной фильтрации является нелинейная фазоча-стотная характеристика (ФЧХ). Нелинейность фазы может быть объяснена несовершенной методикой его проектирования. Действительно, при косвенном проектировании рекурсивного фильтра через аналоговый прототип методом билинейного преобразования или его модификациями в MATLAB основными факторами, определяющими нелинейность фазы коэффициента передачи, являются:
- нелинейность частотной шкалы цифрового фильтра, приводящая к нелинейным искажениям как модуля, так и фазы частотного коэффициента передачи фильтра;
- этап аппроксимации требуемой АЧХ фильтра по Чебышеву, Баттерворту или Кауэру, которая, как известно, является нелинейно-фазовой процедурой;
- нелинейность процедуры приведения коэффициентов рекурсивного фильтра к целочисленному виду, что приводит к дополнительным искажениям фазы.
Однако основной причиной фазовой нелинейности является то, что при косвенном проектировании рекурсивного фильтра через аналоговый прототип ни на одном этапе классического метода билинейного преобразования требования по фазе коэффициента передачи проек-
тируемого фильтра не учитываются и не могут быть учтены в принципе. Фильтр проектируется лишь по требуемой амплитудно-частотной характеристике (АЧХ). Поэтому неудивительно, что рекурсивные фильтры высокого порядка, спроектированные через аналоговый прототип, имеют нелинейность ФЧХ порядка сотен градусов. Физически это объясняется тем, что в основных формах построения (прямой и последовательной) как рекурсивный, так и нерекурсивный цифровой фильтр является дискретной минимальнофазовой системой, в которой модуль и аргумент частотного коэффициента передачи связаны преобразованием Гильберта
к )
=Н ф(ю) .
(1)
Это означает, что нельзя независимо управлять фазой коэффициента передачи - это приведёт и к неизбежному изменению его модуля, т.е. АЧХ фильтра. Поэтому ужесточение требований по фазе рекурсивного фильтра возможно только за счёт снижения его амплитудной селективности, так как эти два показателя являются принципиально противоречивыми. Если использовать традиционную оценку селективных свойств фильтра среднеквадратичной ошибкой ст выполнения требований к АЧХ фильтра
ст =
"V
1 р
- X ¥я (X) - Гг
р я=1
(2)
где У„(Х) - текущее значение модуля коэффициента передачи фильтра на п-й дискретной
Т
частоте диапазона определения, а Уя - требуемое значение частотной характеристики, то
2
связь амплитудной селекции и фазовых искажений Дф(га) рекурсивного фильтра может быть отражена следующим образом:
аДф(ю)«const, (3)
где N - порядок рекурсивного фильтра.
Фазовые искажения при этом определяются максимальным отклонением текущей фазы фильтра от линейной:
Дф(ю) = max фг- (IX) -ф^ , (4)
i
где ф1 - требуемая линейная ФЧХ фильтра.
Постановка задачи дискретного синтеза
Требование фазовой линейности рекурсивной цифровой фильтрации может быть полностью выполнено при переходе к прямому синтезу рекурсивного фильтра методами дискретного математического программирования [4-8]. Общая идея математического программирования (МП) состоит в привязке решения задачи к чёткому инвариантному математическому признаку - экстремуму функции качества объекта F(X), которую также называют целевой функцией, где Х - вектор искомых параметров устройства. Для любой проектной задачи такую функцию в общем виде всегда можно сформировать исходя из требуемого функционирования устройства (в компьютерных пакетах это обычно делает функциональный редактор). Имея такую целевую функцию, решение задачи синтеза устройства сводят к процедуре минимизации F(X), то есть отысканию координат глобального экстремума (оптимальных параметров устройства что обычно делается поисковыми методами [6-8].
Весьма важным требованием к рекурсивному фильтру является выполнение цифровой фильтрации в реальном времени. Это означает, что все операции алгоритма фильтрации должны выполняться за время, не превышающее периода дискретизации входного сигнала. С точки зрения эффективной работы цифрового фильтра в реальном времени, обеспечения минимума затрат (по времени и ресурсам) для расчёта отклика фильтра, особый интерес представляет случай целочисленной дискретизации пространства параметров (коэффициентов) фильтра, так как целочисленное проектное решение является безусловно предпочтительным при аппаратной реализации рекурсивного фильтра на ПЛИС. При целочисленной дискретизации пространства параметров задача МП трансформируется в задачу целочисленного
нелинейного программирования (ЦНП). Таким образом, принципиальное отличие дискретного ЦНП-синтеза заключается в том, что в данном случае для удовлетворения требуемого функционирования рекурсивного фильтра на стадии его проектирования осуществляется прямой поиск требуемых целочисленных коэффициентов фильтра по его математическому определению (рекурсивной модели). Критерием поиска является соответствие совокупного текущего функционирования фильтра его требуемому функционированию. Формально критерий поиска определяется значением целевой функции Г(/Х), которую при синтезе фильтра необходимо минимизировать. Здесь уже /X - вектор целочисленных параметров (коэффициентов) проектируемого фильтра.
Для обеспечения высокой селективности и возможности реализации сложной формы характеристик целочисленный рекурсивный фильтр наиболее целесообразно проектировать в форме каскадного соединения т = N/2 рекурсивных целочисленных звеньев второго порядка [6], где N - общий порядок рекурсивного фильтра. Системная функция такого фильтра имеет
следующий вид:
H ( z) =П
m Ьш + bz-1 + b^z~2
J2iz
— -1 -2 =1 a0i + a1iz + a2iz
(5)
/ю /
где комплексная переменная г = е , а ю=-
¥Д
- цифровая частота.
Из соотношения (5) легко получается разностное уравнение для одного звена рекурсивного целочисленного фильтра:
Уп =
b0 xn + b1xn-1 + b2xn-2 - a1 Уп-1 - a2Уп-2
(6)
При вычислении отклика фильтра должна выполняться операция деления на целочисленный нормирующий коэффициент а0, которая может быть реализована операцией побитового сдвига при условии принадлежности каждого /-го нормирующего коэффициента биномиальному целочисленному ряду:
а01 е{2? }, ц = 0,Я -1, 1 = 1т, (7)
где Я - разрядность цифровой платформы.
На рис. 1 приведена структура звеньев рекурсивного целочисленного фильтра, соответствующая разностному уравнению (6). Как видно, при аппаратной его реализации на ПЛИС для вычисления отклика фильтра уп кроме традиционных операций сложения, умножения и задержки на такт присутствует операция сдвига на В = 1о§2а0 бит, с помощью которой реализу-
a
0
ется целочисленное деление на биномиальный нормирующий коэффициент а0. Условие устойчивости рекурсивного селективного фильтра может быть записано как
\Ър\ < 1, (8)
где р, - полюса передаточной функции (3) в 2-плоскости.
При синтезе рекурсивного фильтра с линейной фазой целевая функция обычно формируется в виде аддитивной свёртки двух частных целевых функций /АЧХ(1Х) и /ФЧХ(1Х), обеспечивающих соответственно выполнение требований как к амплитудной селекции фильтра, так и к линейности его фазы:
¥(1Х) = р- /ачх (IX) + Р2 /ФЧХ (IX). (9)
Частная целевая функция /АЧХ(1Х) при этом определяется соотношением (2), а функция УФЧХ(/Х) - соотношением (4).
Относительно целевой функции (9) задача дискретного целочисленного программирования для синтеза рекурсивного фильтра в форме каскадного соединения т звеньев второго порядка записывается так [6]:
Е° (IX0 ) = шп Е (IX ),
(10)
IX е/6т,
- 2к -1 < ай < 2к -1, й=1,2, /=1, т,
л ' к - — (11)
- 2к -1 < Ъл < 2к -1, й=1,2, /=1, т,
аог- е (2д }, д = , (12)
< 1, /=1, т, (13)
где Я - разрядность цифровой платформы, й - индекс коэффициента передаточной функции звена второго порядка (5).
Общая экстремальная задача дискретного синтеза (10) записана относительно целочисленного пространства 16т параметров (коэффициентов фильтра) размерностью 6т. Ограничения (11) задают границы изменения этих целочисленных коэффициентов, а соотношение (12) определяет принадлежность коэффициентов а0г биномиальному ряду (7). Функциональные ограничения (13) контролируют в процессе синтеза условие устойчивости рекурсивного фильтра по всем полюсам коэффициента передачи.
Дискретный синтез рекурсивного фильтра с линейной фазой
Рассмотрим в качестве примера решение конкретной задачи многофункционального синтеза рекурсивного фильтра нижних частот чет-
+ ) ( +
Рис. 1. Структура рекурсивного звена фильтра
Таблица 1
Коэффициенты фильтра
Звено фильтра Коэффициенты передаточной функции фильтра
а0 а[ а2 ь0 Ьх Ь2
1 8192 -2418 211 2864 -9439 -5422
3 16384 -10000 2459 -4570 -2006 -3277
вертого порядка с полосой пропускания 0-70 кГц, усилением в полосе на уровне 1.8. Фаза коэффициента передачи должна быть максимально линейной в полосе пропускания фильтра. Графики требуемых характеристик синтезируемого фильтра приведены на рис. 2, 3 (выделены красным цветом).
Задача дискретного программирования для синтеза рекурсивного ФНЧ в форме каскадного соединения двух звеньев второго порядка под цифровую платформу с разрядностью Я =14 записывается так:
¥° (IX0) = шш ^ (IX):
IX е/
12
-16000 < аа1 < 16000, =1,2, г =1,2, -16000 < Ъа1 < 1600С, ¿=12, г=12,
аш е (2д }, д = 0,14,
(14)
(15)
(16) (17)
гРД <1, ;=1,4-
Таким образом, минимизация целевого функционала осуществлялась на 12-мерном целочисленном пространстве параметров в допу-
стимой области (15) и (16) при выполнении функциональных ограничений устойчивости фильтра (17) по всем его четырем полюсам. Целевой функционал данной задачи формировался в виде аддитивной свертки (9) при одинаковой значимости требований к амплитудной селекции проектируемого фильтра и линейности его фазы (0! = р2 = 1).
В таблице 1 приведены найденные оптимальные значения целочисленных коэффициентов передаточной функции проектируемого фильтра. Время решения данной задачи на ЭВМ не превышало 12 минут, причем значение целевого функционала в начальной точке составляло 9100, а значение в точке оптимума было равно 0.00011 при полном выполнении условий (17) устойчивости рекурсивного фильтра.
В качестве цифровой платформы для аппаратной реализации синтезированного ФНЧ была выбрана программируемая логическая схема семейства БраЛап-ЗАК фирмы Х1ЫХХ. Программирование осуществлялось на языке УНБЬ под заданную структуру фильтра (рис. 1) и найденные целочисленные коэффициенты его звеньев.
21,81,61,41,21
| 0,8-I 0,60,40,20-
V, »ебуег лая А1- IX
\\
\\
пьная \
реа МЧА
2 0 -2 -4' -6 -8 -10 -12 -14
0 20000 40000 60000 80000 100000 120000 140000 160000 Частота, Гц
Рис. 2. Требуемая и реальная АЧХ фильтра
требу 'емая ичх
ьная ЬЧХ
0 20000 40000 60000 80000 100000 120000 140000 160000 Частота, Гц
Рис. 3. Требуемая и реальная ФЧХ фильтра
Измерение частотных характеристик фильтра осуществлялось на реальном сигнале с помощью автоматизированной панорамной измерительной системы, разработанной в среде виртуальных приборов LabVIEW. Реальные измеренные частотные характеристики фильтра для частоты дискретизации 320 кГц приведены на рис. 2, 3.
Как видно из приведённых графиков, требования по функциональным характеристикам рекурсивного фильтра были выполнены с высокой точностью. Фазовые искажения Дф(га) в полосе пропускания фильтра не превышали 3 градусов. Таким образом, правильно спроектированный рекурсивный фильтр не может иметь нелинейную фазу.
Заключение
Методы ЦНП в приложении к задачам проектирования цифровых фильтров являются современной и перспективной альтернативой традиционным классическим методам проектирования цифровых фильтров [1 -3]. Современные алгоритмические комплексы целочисленной минимизации позволяют решать такие задачи весьма надёжно и эффективно при выполнении всех внешних требований к работе цифрового фильтра, давая возможность повысить качество проектируемых фильтров, сократить время их разработки, заметным образом снизить их стоимость. Из материалов статьи видно, что в сравнении с традиционными подходами синтез цифровых фильтров методом ЦНП позволяет:
1. Осуществлять синтез цифровых фильтров по совокупности требуемых характеристик, причём можно легко управлять приоритетом функциональных характеристик.
2. Форма характеристик может быть произвольной, частотная шкала - линейной.
3. Возможна широкая фрагментация характеристик, когда важные их участки выделяются в отдельное функциональное окно для более детальной проработки.
4. Устойчивость решения для рекурсивных фильтров может быть гарантирована приоритетным выполнением функциональных условий устойчивости.
5. Целочисленная дискретизация пространства варьируемых параметров фильтра позволяет получать проектные решения в целых числах, что снимает все ограничения по арифметике вычислений при аппаратной реализации фильтров.
Работа выполнена в рамках программы развития ГОУ ВПО «Нижегородский государственный университет им. Н.И. Лобачевского» на 2009— 2018 годы.
Список литературы
1. Антонью А. Цифровые фильтры: анализ и проектирование. М.: Радио и Связь, 1983. 320 с.
2. Каппелини В., Константинидис А. Дж., Эми-лиани П. Цифровые фильтры и их применение. М.: Энергоатомиздат, 1983. 360 с.
3. Баскаков С.И. Радиотехнические цепи и сигналы. М.: Высшая школа, 2005. 270 с.
4. Мину М. Математическое программирование. Теория и алгоритмы. М.: Наука, 1990. 488 с.
5. Корбут А.А., Финкельштейн Ю.Ю. Дискретное программирование. М.: Наука, 1959. 370 с.
6. Бугров В.Н. Проектирование цифровых фильтров методами целочисленного нелинейного программирования // Вестник Нижегородского университета им. Н.И. Лобачевского. 2009. № 6. С. 61-70.
7. Бугров В.Н., Лупов С.Ю., Земнюков Н.Е., Ко-рокозов М.Н. Дискретный синтез цифровых рекурсивных фильтров // Вестник Нижегородского университета им. Н.И. Лобачевского. 2009. № 2. С. 76-82.
8. Воинов Б.С., Бугров В.Н., Воинов Б.Б. Информационные технологии и системы: поиск оптимальных, оригинальных и рациональных решений. М.: Наука, 2007. 730 с.
SIMULATION AND SYNTHESIS OF DIGITAL INP FILTERS WITH LINEAR PHASE
V. V. Artemiev
Integer simulation and synthesis of a recursive digital INP filter with linear phase are considered taking into account its implementation on programmable logic. The problem statement and solution of the synthesis of the recursive filter with linear phase by discrete programming methods are presented. An example of the problem solution for the synthesis of a recursive low-pass INP filter and its implementation on Xilinx Spartan-3AN FPGA is given.
Keywords: digital INP filter, discrete programming, synthesis, objective function, programmable logic integrated circuit.
Яeferences
1. АМоп^и А. С1&оууе Й1'1ху: ат1к 1 ргоекйго-уате. М.: Яа&о 1 8у)щ', 1983. 320 8.
2. КарреНш V., Konstant1n1d1s А. Dzh., 1еш111ап1 Р. C1frovye ШЧгу 1 1Ь рпшеште. М.: Jenergoatoш1zdat, 1983. 360 8.
3. Baskakov 8.1. Rad1otehn1cheskie сер1 1 signa1y. М.: Vysshaja shko1a, 2005. 270 s.
4. M1nu М. Matematicheskoe prograшш1rovan1e. Теог1)а 1 a1gor1tшy. М.: Nauka, 1990. 488 s.
5. КоЛи А.А., F1nke1'shtejn Ju.Ju. Diskretnoe рго-graшm1rovan1e. М.: Nauka, 1959. 370 с.
6. Bugrov V.N. Proekt1rovan1e c1frovyh f11'trov шetodaшi ce1ochis1ennogo ne11nejnogo prograшш1ro-van1ja // Vestnik N1zhegorodskogo un1vers1teta 1ш. N.1. Lobachevskogo. 2009. № 6. S. 61-70.
7. Bugrov V.N., Lupov 8Ли., Zeшnjukov N.E., Korokozov M.N. Diskretnyj s1ntez c1frovyh ^^г-s1vnyh f11'trov // Vestn1k N1zhegorodskogo un1ver-siteta 1ш. N.1. Lobachevskogo. 2009. № 2. 8. 76-82.
8. Voinov В.8., Bugrov V.N., Volnov В.В. 1П-forшac1onnye tehno1og11 1 sistemy: po1sk ори-шa1'nyh, or1g1na1'nyh 1 rac1ona1'nyh reshen1j. М.: Nauka, 2007. 730 а