Введение
Совокупное качество цифрового фильтра определяется как его селективной способностью, так и быстродействием, то есть минимальным временем расчёта отклика при реализации на заданной цифровой платформе. Под селективной способностью при этом обычно понимают возможность удовлетворения совокупности требуемых характеристик фильтра в частотной области. КИХ-фильтры, как известно, имеют относительно низкую селективную способность, когда для реализации частотной характеристики сложной формы с резкими срезами требуется импульсная характеристика с большим числом отсчётов, что определяет и большой объём цифровых вычислений для расчёта отклика фильтра. Рекурсивные же БИХ-фильтры, являясь дискретными системами с обратной связью, обладают значительно бо¢льшими селективными возможностями и позволяют реализовать требуемые частотные характеристики значительно меньшим порядком фильтра. При этом к основным факторам, определяющим быстродействие, относятся, прежде всего, арифметика вычислений и длина слова коэффициентов (разрядность) цифрового фильтра.
Обзор публикаций по классическим методам проектирования КИХ-фильтров показывает, что в настоящее время преобладает их аналитический расчёт с применением взвешивания с помощью окна, частотной выборки, оптимального (по Чебышеву) метода [1] и некоторых других подходов к синтезу КИХ-фильтров с конечной длиной слова коэффициентов [2, 3] при использовании в алгоритмах цифровой фильтрации вещественной арифметики вычислений в формате с фиксированной или плавающей точкой. Для БИХ-фильтров в настоящее время преобладает косвенное их проектирование по аналоговому прототипу с применением метода билинейного преобразования [1] либо различных подходов, на нём базирующихся [4], при использовании в алгоритме фильтрации также вещественной арифметики вычислений. Вещественный формат представления данных вынуждает квантовать их значения, что при малой разрядности коэффициентов приводит к существенному искажению частотных характеристик и появлению шумов квантования, а для рекурсивных фильтров – также и к возможности появления малых предельных циклов при квантовании результатов внутренних вычислений. К тому же проектное решение в вещественных числах может быть реализовано только на специализированных сигнальных процессорах, тогда как наиболее перспективная на сегодняшний день программируемая логика, а также микропроцессорные контроллеры требуют принципиально целочисленных проектных решений, целочисленной арифметики вычислений. Вопросам квантования при аналитическом расчёте как КИХ-, так и БИХ-фильтров посвящено много работ. В целом можно отметить, что при высоком порядке фильтра весьма существенные трудности возникают уже при квантовании вещественных данных до 7–8 бит.
Однако возможность прямого синтеза цифровых фильтров непосредственно в целочисленном пространстве состояний может быть предоставлена методологией целочисленного нелинейного программирования (ЦНП), описание которой приведено в работах [5, 6]. Под пространством состояний в данном случае понимается, прежде всего, многомерное пространство целочисленных параметров (коэффициентов) цифрового фильтра, входных xn и выходных yn сигналов – целочисленных временны¢х последовательностей, а также базовые целочисленные операции над данными в алгоритме цифровой фильтрации. Естественно, целочисленные операции на любой цифровой платформе выполняются значительно быстрее, чем операции вещественных вычислений. Число тактов центрального процессорного устройства, необходимых для реализации базовых целочисленных операций, существенно меньше. Например, для микроконтроллерного процессора C8051F120, имеющего возможность работать как с целочисленным, так и с вещественным форматом представления данных, базовые операции сложения реализуются в семь раз быстрее, а операции умножения более чем в четыре раза быстрее для целочисленной арифметики в сравнении с вещественными вычислениями.
Идеология ЦНП позволяет эффективно проектировать целочисленные цифровые фильтры (ЦЦФ) с заданной разрядностью представления данных и максимальным выполнением требований к совокупности частотных характеристик фильтра при произвольной форме их задания. В настоящее время в общей номенклатуре коммерческих цифровых платформ существенную долю занимают 8-разрядные цифровые платформы с целочисленной арифметикой вычислений. При реализации высокоскоростных ЦЦФ на специализированных платформах или на кристалле разрядность представления данных может быть ещё ниже (до 4 или даже до 3 бит), а снижение разрядности данных даже на 1 бит может сэкономить до 50% оперативной памяти при существенном уменьшении времени расчёта отклика фильтра [7]. В связи с этим для высокоскоростных фильтров на кристалле разрядность представления данных во многом является определяющим фактором.
В данной статье рассматривается возможность решения задач синтеза полосно-пропускающих целочисленных КИХ- и БИХ-фильтров минимальной разрядности представления данных компьютерным пакетом ЦНП (версии 3.1). Эти примеры иллюстрируют принципиальные возможности многофункционального проектирования цифровых систем численными методами дискретного программирования. В настоящее время на практике наиболее часто используется построение БИХ- и КИХ-фильтров в форме каскадного соединения звеньев второго порядка, при этом синтез полосовых фильтров осуществлялся как по критерию требуемой полосовой селективности, так и по критерию обеспечения возможной линейности фазы в полосе пропускания фильтра. Таким образом, целевая функция в приведённых ниже проектных задачах формировалась в виде взвешенной суммы двух частных целевых функций fАЧХ(IX) и fФЧХ(IX), обеспечивающих выполнение требований амплитудной селекции фильтра и линейности его фазы соответственно:
Можно заметить, что часто требование линейности фазочастотной характеристики заменяется эквивалентным ему требованием постоянства группового времени запаздывания (ГВЗ) в рабочем диапазоне фильтра. Коэффициенты βi определяют значимость (вес) характеристики, а сами частные целевые функции формирует функциональный редактор пакета синтеза по критерию минимума среднеквадратичного отклонения:
где Yn(IX) – текущее значение характеристики фильтра на n-й дискретной частоте диапазона определения, а YTn – требуемое значение частотной характеристики.
Часто ради экономии времени расчёта в соотношении (2) корень не извлекают и осуществляют синтез по ненормированному квадратичному критерию:
Как известно, в каскадных формах построения цифровых фильтров необходима процедура масштабирования сигнала, то есть равномерной раскладки усиления по каскадам. Это позволяет фильтру работать в широком динамическом диапазоне входных сигналов. Однако в каскадных ЦЦФ расчёт такого масштабирования целочисленного звена легче осуществлять не применением Lр-нормы, а прямым введением требования обеспечения малого разброса коэффициентов передачи отдельных звеньев при синтезе фильтра [6]. Как показывает практика, существенного сужения динамического диапазона фильтра не происходит, если максимальные коэффициенты передачи его каскадов различаются не более чем в 5–7 раз. При более грубом покаскадном масштабировании сужение динамического диапазона становится заметным. Формально требования масштабирования сигнала записываются двусторонними функциональными ограничениями экстремальных задач ЦНП-синтеза.
В общем виде постановка задачи целочисленного нелинейного программирования при машинном синтезе рекурсивных и нерекурсивных ЦЦФ с заданной разрядностью представления данных рассмотрена в [5, 6]. При этом для численного решения экстремальных задач проектирования ЦЦФ используется эффективный метод синтеза с поиском глобального экстремума на дискретной сетке кода Грея [8]. Данный метод адаптирован к поиску решений в режиме дискретного целочисленного представления многомерной области поиска. Вектор IX0, минимизирующий скалярную целевую функцию F(IX) на множестве допустимых целочисленных решений, является Парето-эффективным решением задачи синтеза малоразрядного ЦЦФ по совокупности противоречивых характеристик.
Моделирование и синтез полосового БИХ-фильтра малой разрядности
Передаточная функция для рекурсивного ЦЦФ, состоящего из каскадного соединения m-звеньев второго порядка (m=N/2, где N – общий порядок фильтра), имеет следующий вид [5]:
где комплексная переменная z при переходе к описанию частотной характеристики K(ejω)= K(ejω)∣×ejj(ω) принимает значение z=ejω, а ω=2πf/fs – цифровая частота.
Все коэффициенты системной функции (4) являются целочисленными, а их интервал изменения определяется заданной длиной битового слова (разрядностью) коэффициентов фильтра. Из соотношения (4) легко получается разностное уравнение для одного звена целочисленного БИХ-фильтра:
где xn, yn – входная и выходная целочисленные временны́е последовательности, a0 – нормирующий множитель.
Как видно из (5), при вычислении отклика фильтра должна выполняться операция деления на целочисленный коэффициент a0, которая может быть реализована операцией побитового сдвига при условии принадлежности каждого i-го коэффициента биномиальному целочисленному ряду (ряду степеней числа 2):
где Wk – длина битового слова целочисленных коэффициентов, включая знак.
На рисунке 1 приведена типичная структура звеньев рекурсивного целочисленного фильтра, соответствующая разностному уравнению (5).
Как видно, при вычислении отклика фильтра, кроме традиционных операций сложения, умножения и задержки на такт, присутствует операция сдвига на B=log2a0 бит, с помощью которой реализуется целочисленное деление на биномиальный нормирующий коэффициент a0.
Как известно, рекурсивный фильтр будет устойчив, если все полюсы pi передаточной функции проектируемого БИХ-фильтра удовлетворяют следующему условию:
где rmax – допустимый максимальный радиус полюсов передаточной функции фильтра в z-плоскости, при котором в системе не возникают предельные циклы [5].
Так, в пакете ЦНП 3.1 возможно задание следующей линейки значений максимальных радиусов полюсов при решении конкретной проектной задачи: rmax={1,0 0,98 0,9 0,82 и 0,75}. Как показала практика, при синтезе с меньшим значением максимального радиуса практически всегда удаётся получить проектное решение без предельных циклов того или иного рода, хотя селективная способность фильтра при этом, естественно, снижается.
Что касается результатов необходимых для расчёта отклика ЦЦФ промежуточных вычислений, то все они также являются целочисленными, а результат умножения целых чисел (например, текущего цифрового отсчёта и коэффициента фильтра) полностью детерминирован и не требует квантования для реализации на цифровой платформе с заданной разрядностью Wk представления коэффициентов. При заданной битовой разрядности квантования входного сигнала Wx достаточно выделить внутренний аккумуляторный регистр с разрядностью Wak=Wx+Wk+2 [бит] для хранения результата целочисленного умножения с накоплением (МАС), осуществляемого по алгоритму (2). Колебаний переполнения, то есть возникновения больших предельных циклов, вызванных переполнением разрядной сетки регистра-аккумулятора, при таком расчёте его разрядности практически никогда не возникает, особенно если учесть, что накопление результата целочисленного умножения в (2) осуществляется алгебраически, с учётом знака слагаемых, что существенно понижает разрядность результата. В алгоритме расчёта отклика целочисленного звена единственным случайным процессом (т.е. источником шума) является операция нормировки, деления на биномиальный множитель a0, которая, как показано выше, реализуется регистровым сдвигом вправо на B=log2a0 бит с потерей данных в младших разрядах. Таким образом, в целочисленном фильтре на каждое звено приходится по одному источнику шума, своим происхождением обязанному операции сдвига [6]. В цифровых же платформах с вещественной арифметикой вычислений представление результата умножения вещественных чисел конечным числом разрядов носит стохастический характер и, естественно, требует процедуры квантования, результатом которой и является стохастический шум квантования.
Синтез рекурсивного полосно-пропускающего фильтра (ППФ) высокого порядка в целочисленном пространстве параметров с учётом заданного радиуса полюсов его передаточной функции в z-плоскости осуществлялся по следующему техническому заданию:
- Полоса пропускания – 0,2…0,35 (здесь и далее в шкале относительных частот f/fs, где fs – частота дискретизации входного сигнала).
- Коэффициент передачи в полосе пропускания – 0 дБ с допуском ±1 дБ.
- Нелинейность фазы в полосе не выше 3°.
- Уровень подавления на частотах ниже 0,1 и выше 0,45 не менее 40 дБ.
- Разрядность (длина слова коэффициентов Wk) – 4 бита, включая знак.
- Порядок рекурсивного фильтра – 20.
- Максимально допустимый радиус полюсов – 0,9.
- Масштабирование коэффициентов передачи звеньев в интервал {1–3}.
Относительно целевой функции (1) задача целочисленного программирования для многофункционального синтеза рекурсивного ППФ в форме каскадного соединения 10 звеньев прямой формы второго порядка записывалась так:
Таким образом, итоговая минимизация целевого функционала по сценарию динамического программирования [6] осуществлялась на 50-мерном целочисленном пространстве 4-битовых параметров в допустимой области (9) при выполнении функциональных ограничений устойчивости фильтра (11) по всем полюсам передаточной функции с радиусами, не превышающими 0,9 в z-плоскости, и при масштабировании (12) коэффициентов усиления звеньев в заданный интервал.
Для ввода структуры ППФ в программу использовался встроенный топологический редактор ЦНП-пакета, позволяющий сформировать файл исходных данных к решению конкретной задачи синтеза с указанием порядка фильтра, числа варьируемых коэффициентов, их начальных значений и границ изменения, а также возможного дублирования коэффициентов в случае необходимости. Примеры ввода требуемой АЧХ и ФЧХ фильтра в модуле функционального редактора пакета синтеза представлены на рисунках 2 и 3 соответственно. При вводе обычно широко используется фрагментация характеристик фильтра, когда важные их участки выделяются в отдельное функциональное окно для обеспечения их детальной проработки в ходе синтеза.
В таблице 1 (см. дополнительные материалы к статье на сайте www.soel.ru) приведены оптимальные значения целочисленных 4-битовых коэффициентов передаточной функции по синтезу с одинаковой значимостью (β1=β2) требований к АЧХ и ФЧХ проектируемого фильтра, а графики его частотных характеристик представлены на рисунке 4.
Что касается оценки фазовой нелинейности в полосе пропускания синтезированного рекурсивного ППФ, то по критерию влияния на форму выходного сигнала корректно применение аддитивной среднеквадратичной оценки (СКО) фазовых искажений:
а не их оценки по критерию максимальной ошибки
где φn(IX) – текущее значение ФЧХ на n-й дискретной частоте интервала оценки, а φnL – требуемое значение линейной ФЧХ.
Это следует непосредственно из преобразования Фурье, которое определяет именно аддитивное влияние фазового и амплитудного спектра всех гармоник обрабатываемого сигнала на искажение его формы. Высокое значение максимальной ошибки далеко не всегда определяет сильное искажение формы выходного сигнала при фильтрации, а вот высокое значение СКО вполне его подтверждает. Поэтому в дальнейшем для оценки фазовой нелинейности, а также неравномерности АЧХ в полосе пропускания фильтра будет применяться оценка по критерию (20), хотя и максимальная ошибка будет также приводиться. В данном случае среднеквадратичные неравномерность АЧХ и нелинейность ФЧХ в полосе пропускания 4-битового ППФ были равны ∆Кско=0,35 дБ и ∆φско=2,7° соответственно.
На рисунке 5 приведено распределение полюсов передаточной функции ППФ в z-плоскости с указанием заданной границы (11) допустимого максимального радиуса полюсов rmax=0,9. Так как некоторые нули передаточной функции выходят за границы единичной окружности, то синтезированный 4-битовый ППФ не является строго минимальнофазовой дискретной системой.
Практическая реализация фильтра осуществлялась на многофункциональном микроконтроллере MSP430F1611 фирмы Texas Instruments с целочисленным RISC-ядром. Измерение частотных характеристик фильтра осуществлялось на реальном сигнале с помощью автоматизированной панорамной системы, разработанной в среде виртуальных приборов LabVIEW. Экспериментальные графики частотных характеристик фильтра на всём интервале Найквиста для частоты дискретизации fs=2 кГц приведены на рисунке 6.
В связи с тем что выходной сигнал снимался непосредственно с ЦАП микроконтроллера, наблюдается некоторое возрастание шумов измерения вблизи частоты Найквиста, где эффекты квантования входного аналогового сигнала наиболее выражены. Анализ выходного сигнала при нулевом входе показал, что предельные циклы при максимальном радиусе полюсов 0,87 в синтезированном ППФ отсутствуют. Таким образом, все функциональные требования по ЦНП-синтезу 4-разрядного рекурсивного ППФ были выполнены.
Моделирование и синтез полосового КИХ-фильтра малой разрядности
Передаточная функция целочисленного КИХ-фильтра, состоящего из каскадного соединения m-звеньев второго порядка (m=N/2), имеет следующий вид [6]:
откуда легко получается разностное уравнение для одного целочисленного КИХ-звена:
На рисунке 7 приведена структура целочисленного КИХ-звена второго порядка, соответствующая уравнению (14).
Как видно, кроме традиционных операций сложения, умножения и задержки на такт, также присутствует операция сдвига на B=log2a0 бит, с помощью которой, как уже сказано, реализуется целочисленное деление на биномиальный нормирующий коэффициент a0.Таким образом, при расчёте отклика фильтра используется минимальное количество базовых операций, причём все эти операции целочисленные, что определяет существенное повышение быстродействия фильтра при работе в реальном времени.
Далее показана возможность синтеза пакетом ЦНП 3.1 и каскадных целочисленных КИХ-фильтров минимальной разрядности представления данных. Синтез 4-битового ППФ высокого порядка в целочисленном пространстве параметров осуществлялся по следующим требованиям:
- Полоса пропускания фильтра – 0,19…0,275 в шкале f/fs.
- Коэффициент передачи в полосе пропускания – 0 дБ с допуском ±1,0 дБ.
- Нелинейность фазы в полосе не выше 10°.
- Уровень подавления на частотах ниже 0,12 и выше 0,35 не менее 50 дБ.
- Длина слова коэффициентов Wk – 4 бита, включая знак.
- Общий порядок КИХ-фильтра – 56.
- Масштабирование коэффициентов передачи звеньев в интервал {0,8…2,0}.
Требуемая АЧХ фильтра приведена на рисунке 8а (выделена красным цветом).
При синтезе ППФ по сценарию динамического программирования и целевой функции (1) весовые коэффициенты оконных целевых функций определялись практически в ходе решения следующей экстремальной задачи целочисленного программирования:
Экстремальная задача синтеза (15) записана относительно целочисленного пространства параметров (коэффициентов КИХ-фильтра) размерностью 84. Ограничения (16) задают границы изменения этих целочисленных коэффициентов, а соотношение (17) определяет принадлежность нормирующих коэффициентов a0i биномиальному целочисленному ряду. Ограничения (18) масштабируют коэффициенты передачи звеньев в заданный интервал.
В таблице 2 (см. дополнительные материалы к статье на сайте www.soel.ru) приведены оптимальные значения целочисленных 4-битовых коэффициентов передаточной функции по синтезу полосового КИХ-фильтра, а также достигнутые значения коэффициентов усиления отдельных его звеньев. Графики частотных характеристик представлены на рисунке 8. Время решения данной задачи на стандартном персональном компьютере не превышало 10 минут. Состояние панели синтеза программы в точке целочисленного оптимума приведено на рисунке 9.
Как видно, среднеквадратичные неравномерность АЧХ и нелинейность ФЧХ в полосе пропускания 4-битового ППФ были равны ∆Кско=1 дБ и ∆φско=9° соответственно. Процесс измерения в модуле анализа программы полосовой нелинейности ФЧХ фильтра отображён на рисунке 10.
На рисунке 11а приведено сравнение 4- и 14-битового ЦНП-решений по полосовому КИХ-фильтру, а на рисунке 11б – 4-битовое решение данной задачи методом окна в пакете MATLAB. Как видно, при квантовании до 4 бит селективные требования не выполняются как в полосе пропускания, так и в полосе непропускания ППФ.
Практическая реализация полосового КИХ-фильтра осуществлялась также на МК MSP430F1611. Графики экспериментальных частотных характеристик фильтра на всём интервале Найквиста для частоты дискретизации fs=1 кГц (см. рис. 12) соответствуют данным синтеза с высокой точностью.
Заключение
Методы целочисленного нелинейного программирования являются эффективным методом проектирования линейных цифровых фильтров. Классическое проектирование базируется, как известно, на аналитическом представлении функциональных зависимостей, начиная с аналитической аппроксимации требуемой частотной характеристики фильтра, что, естественно, приводит к чрезвычайной сложности аналитических вычислений даже в относительно простых проектных задачах. Если же необходимо реализовать некий сложный закон изменения характеристики, например фазы коэффициента передачи либо её производных (ГВЗ и дисперсии), то аналитический расчёт фильтра становится невозможен.
Принципиальная особенность ЦНП-синтеза состоит в применении современных численных методов машинного проектирования, позволяющих работать не с аналитическим, а с дискретным представлением характеристик проектируемого фильтра, когда требуемые и текущие характеристики фильтра табулированы с заданной дискретностью их представления в частотной области и в вычислительной системе представлены двумерными массивами (векторами). Это, с одной стороны, даёт возможность рассчитывать с заданной точностью все требуемые характеристики фильтра (включая и дисперсионные характеристики) численными методами, с другой – делает возможным применение для синтеза технического решения эффективных поисковых методов дискретного программирования, позволяющих осуществлять проектирование непосредственно в целочисленном пространстве параметров. Критерием поиска при этом является соответствие текущего функционирования синтезируемого фильтра требуемому функционированию по совокупности частотных характеристик. Современные алгоритмические комплексы целочисленной минимизации позволяют решать такие проектные задачи надёжно и эффективно при выполнении всех внешних требований и ограничений к работе цифрового фильтра, что даёт возможность существенно повысить качество проектируемых фильтров и сократить время их разработки.
Из материалов, приведённых в статье, видны следующие преимущества синтеза цифровых фильтров численными методами ЦНП в сравнении с традиционными подходами:
Синтез осуществляется по совокупности требуемых частотных характеристик при произвольной форме их задания и заданной частотной шкале.
Имеется возможность проектирования фильтров с малой разрядностью представления данных (вплоть до 3 бит) непосредственно в целочисленном пространстве коэффициентов.
Для целочисленных БИХ-фильтров устойчивость решения гарантируется приоритетным выполнением функциональных условий устойчивости в процессе ЦНП-синтеза. При этом возможно задание требуемого максимального радиуса полюсов передаточной функции, что позволяет эффективно управлять добротностью проектируемого фильтра в случае возникновения малых предельных циклов.
Глобальная модельная идеология поиска определяет высокую надёжность отыскания эффективного решения экстремальной задачи ЦНП. Хорошего начального приближения (прототипа) здесь не требуется. Как правило, в проектных задачах со сложными селективными требованиями оптимальное решение определяется не из начальной точки, заданной пользователем, а из точки, сгенерированной самим поисковым алгоритмом решения задачи.
Необходимое масштабирование сигнала в каскадных структурах обеспечивается непосредственно в ходе ЦНП-синтеза целочисленного фильтра. Здесь нет необходимости использования косвенных приёмов масштабирования усиления применением, например, Lp-нормы.
Целочисленная дискретизация пространства параметров (коэффициентов) фильтра позволяет получать проектные решения в целых числах, что обеспечивает максимальное быстродействие при работе фильтра в реальном времени и снимает все ограничения по арифметике вычислений при его реализации на любых цифровых платформах (сигнальных процессорах, контроллерах, FPGA) с заданной разрядностью представления данных.
Литература
- Айфичер Э., Джервис Б. Цифровая обработка сигналов: практический подход. – М.: ИД «Вильяме», 2004.
- Fox T.W., Turner L.E. The design of peak-constrained least squares FIR filters with low-complexity finiteprecision coefficients // IEEE Trans. Circuits and Syst.: II. 2002. Vol. 49. № 2.
- Nakayama K. A discrete optimization method for high-order FIR filters with finite wordlength coefficients // ICASSP. 1982. Vol. 1.
- Мингазин А.Т. Синтез передаточных функций цифровых фильтров в области дискретных значений коэффициентов (обзор). Электронная техника. Сер. 10. 1993. № 1, 2.
- Морозов Н.С., Бугров В.Н. Проектирование целочисленных цифровых БИХ-фильтров. Современная электроника. 2017. № 8.
- Бугров В.Н. Целочисленные цифровые фильтры. Монография. – Saarbrucken: Lambert Academic Publishing, 2017. – 156 с.
- Dehner G. On the design Cauer filters with coefficients of limited wordlength. 1975. V. 26. № 4.
- Воинов Б.С., Бугров В.Н., Воинов Б.Б. Информационные технологии и системы: поиск оптимальных, оригинальных и рациональных решений. – М.: Наука, 2007.
Если вам понравился материал, кликните значок - вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал - не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!