Поисковые технологии проектирования целочисленных цифровых фильтров. Часть 1

№ 6’2014
PDF версия
В статье рассматриваются основные вопросы моделирования цифрового рекурсивного фильтра относительно дискретной целочисленной математики, соответствующей базовой физике работы фильтра в реальном времени на цифровых платформах с целочисленной арифметикой вычислений. Приводится анализ косвенных методов проектирования рекурсивных фильтров билинейным преобразованием аналогового прототипа, оценены их особенности и недостатки. Проанализирована целочисленная модель рекурсивных фильтров в форме каскадного соединения звеньев второго порядка. Дается оценка быстродействия и шумовых свойств рекурсивных целочисленных фильтров, показана возможность их прямого синтеза поисковыми методами целочисленного нелинейного программирования.

Введение

Цифровая фильтрация — один из наиболее востребованных алгоритмов цифровой обработки сигналов (ЦОС). В современных цифровых системах доля цифровой фильтрации может составлять до половины от общего объема цифровых вычислений. При этом основными задачами цифровой фильтрации являются, прежде всего, частотное разделение сигналов, извлечение из сигналов полезной информации и подавление помех. Так как цифровые фильтры — это устройства частотной селекции входного сигнала, их обычно разрабатывают на основе требований к их частотным характеристикам.

В общем виде комплексный частотный коэффициент передачи цифрового фильтра стандартно можно записать как:

H(ejω) = |H(ejω)|ejj(ω).

Таким образом, основными характеристиками фильтра в частотной области являются:

  • амплитудно-частотная характеристика как модуль коэффициента передачи |H(ejω)|;
  • фазочастотная характеристика как аргумент коэффициента передачи j(ω);
  • групповое время запаздывания: τgr = –∂j/∂ω;
  • фазовая задержка как прямая задержка фильтром гармонического сигнала: τз = –j(ω)/ω.

В частотной области, определяющей селективные свойства, современный цифровой фильтр должен обладать совокупностью характеристик, таких как амплитудно-частотная (АЧХ) и фазочастотная характеристики (ФЧХ), а также характеристики групповой (ГВЗ) или фазовой задержки. Поэтому актуальна задача разработки методов синтеза цифровых фильтров с учетом совокупности требуемых характеристик. Такой синтез принято называть многофункциональным в отличие от многокритериального синтеза — синтеза только по одной требуемой характеристике, когда частная частотная характеристика, задаваемая на k дискретных точках частотного диапазона, при постановке задачи синтеза уже приводит к многокритериальной задаче.

По критерию селективные свойства/эффективность работы в реальном времени (быстродействие) наиболее высокое качество имеют рекурсивные цифровые фильтры (БИХ-фильтры). Важным фактором при этом является арифметика вычислений, используемая в алгоритме цифровой фильтрации. Обзор публикаций по методам расчета и синтеза рекурсивных фильтров показывает, что в настоящее время преобладает косвенное проектирование рекурсивных фильтров по аналоговому прототипу на основе метода билинейного преобразования [1–3] либо различных подходов, на нем базирующихся [4–6]. При этом алгоритмы цифровой фильтрации вещественной арифметики вычислений обычно используются в формате с фиксированной точкой, когда абсолютная величина всех вещественных переменных алгоритма фильтрации (коэффициентов фильтра, результатов промежуточных вычислений) по модулю не превосходит единицу. Очевидно, что это обстоятельство диктуется особенностями расчетного метода билинейного преобразования, когда проектное решение может быть получено только относительно непрерывной математики, то есть в вещественном многомерном пространстве состояний En, и все переменные состояния считаются вещественными величинами, точность представления которых может быть сколь угодно большой.

Очевидные недостатки косвенного проектирования рекурсивных фильтров в вещественных числах билинейным преобразованием аналогового прототипа таковы:

  • Принципиальная невозможность многофункционального синтеза цифрового фильтра, так как никакие требования, кроме требований к АЧХ фильтра, выполнены быть не могут. Так, в литературе, например, прямо указывается невозможность контроля либо удовлетворения требований по фазовым искажениям при расчете рекурсивного фильтра по аналоговому прототипу, не говоря уже о требованиях по другим характеристикам. Поэтому и неудивительно, что рекурсивные фильтры высокого порядка, спроектированные через аналоговый прототип методом билинейного преобразования или его модификациями в MАTLAB, имеют нелинейность ФЧХ порядка сотен градусов, то есть практически непригодны для большинства приложений ЦОС.
  • Практическая невозможность синтеза рекурсивного фильтра с произвольной формой частотной характеристики, так как проблема аппроксимации произвольной АЧХ является самостоятельной и весьма непростой задачей. Поэтому по аналоговому прототипу синтезируются лишь фильтры с типовой формой АЧХ (ФНЧ, ФВЧ, полосовой, заградительный) на основе их аппроксимации по Баттерворту, Чебышеву либо Кауэру. Необходимо помнить также, что этап аппроксимации АЧХ является, как известно, нелинейно-фазовой процедурой, что может приводить к резкому увеличению фазовых искажений.
  • Нелинейные деформации частотной шкалы фильтра, прямое несовпадение фазовых и импульсных характеристик цифрового фильтра с его аналоговым прототипом.
  • Вещественный формат представления данных вынуждает квантовать их значения, то есть переводить описание цифрового фильтра из непрерывного пространства состояний En в дискретное вещественное (квантованное) пространство Qn (рис. 1), используя известный алгоритм квантования данных. Однако процедура квантования данных в цифровых фильтрах, оперирующих с фиксированной точкой (ЦФФТ), приводит, как известно, к искажению частотных характеристик фильтра, появлению шумов квантования, а также к необходимости масштабирования вещественных коэффициентов фильтра, что вызвано их квантованием.
  • Проектное решение в вещественном пространстве состояний никак не соответствует арифметике цифрового вычислителя, реализующего тот или иной алгоритм ЦОС, и цифровой фильтрации в частности. Ведь базовая арифметика любого цифрового вычислителя — это целочисленная арифметика, оперирующая только с целыми числами в двоичном их представлении (битами, байтами, словами) и позволяющая осуществлять вычисления за минимальное время при минимальных ресурсах оперативной памяти. И лишь отсутствие целочисленных алгоритмов ЦОС вынуждает переходить к вещественной или комплексной арифметике цифровых вычислений, что требует значительных ресурсов, как по памяти, так и по тактовой частоте вычислителя. А это приводит к существенному усложнению его структуры (за счет введения FPU — арифметических сопроцессоров и т. п.) и значительному увеличению энергопотребления. То есть ЦФФТ как система с вещественной арифметикой вычислений может быть реализован только на специализированных сигнальных процессорах, тогда как наиболее перспективная на сегодня программируемая логика, как и микропроцессорные контроллеры, требует принципиально целочисленных решений, целочисленной арифметики вычислений.
  • Никакие дополнительные внешние условия, функциональные ограничения (например, условия масштабируемости усиления в каскадных цифровых фильтрах) при косвенном синтезе рекурсивного фильтра по аналоговому прототипу непосредственно не могут быть учтены.
Целочисленное описание цифрового фильтра

Рис. 1. Целочисленное описание цифрового фильтра

Перечисленных недостатков слишком много, чтобы считать косвенное проектирование рекурсивных фильтров по аналоговому прототипу в вещественном пространстве состояний современным, эффективным и качественным. Необходимо искать новые подходы к моделированию рекурсивных фильтров и к их расчету, подходы, соответствующие современным требованиям. Одним из таких перспективных направлений является разработка методологии проектирования цифровых фильтров в целых числах. Действительно, перечисленные выше отрицательные последствия представления данных в вещественном формате могут быть во многом устранены при переходе к математическому описанию цифровых фильтров относительно дискретной целочисленной математики, то есть при переходе к математическому описанию, соответствующему базовой физике цифрового фильтра как реального физического устройства.

Цифровой фильтр как физическое устройство изначально является дискретной целочисленной системой, которую и необходимо описывать, моделировать относительно дискретной целочисленной математики, считая любую переменную точкой многомерного дискретного целочисленного пространства состояний In (рис. 1). Таким образом, в целочисленных цифровых фильтрах (ЦЦФ) все переменные состояния (коэффициенты фильтра и результаты промежуточных вычислений, итоговый отклик фильтра) являются целочисленными, как целочисленными являются и все внутренние операции в алгоритме цифровой фильтрации. (Входная КИХ-последовательность xn с аналого-цифрового преобразователя является целочисленной по определению, принимая целочисленные значения от 0 до 2Wx, где Wx — разрядность АЦП.)

Важным достоинством ЦЦФ считается отсутствие процедуры квантования данных (как коэффициентов фильтра, так и результатов промежуточных вычислений) в ходе расчета отклика фильтра в реальном времени, а следовательно, и отсутствие негативных последствий квантования данных, перечисленных выше. То есть квантование как необходимая процедура округления вещественных коэффициентов после их нахождения билинейным преобразованием в ЦЦФ заменена целочисленной дискретизацией многомерного пространства коэффициентов перед синтезом фильтра с получением целочисленного решения с нулевой ошибкой его реализации на целочисленной цифровой платформе или кристалле с заданной длиной слова коэффициентов.

Что касается проектирования и синтеза ЦЦФ, то существующие в настоящее время подходы к реализации рекурсивных цифровых фильтров на платформах с целочисленной арифметикой вычислений состоят в трансформации, переводе вещественного ЦФФТ в ЦЦФ на основе различных дополнительных процедур. Так, в методологии ezIIR целочисленного округления билинейного преобразования, разработанного фирмой Texas Instruments [8], после получения вещественного решения билинейным преобразованием аналогового прототипа переход к ЦЦФ осуществляется с помощью двух спе-цифических процедур: сложной процедуры нормировки вещественных коэффициентов каскадного БИХ-фильтра по его импульсной характеристике на первом этапе и нелинейной процедуры приведения нормированных вещественных коэффициентов к целочисленному виду на втором. Корректность этих этапов возможна в рамках определенных жестких требований, физических ограничений, выход за пределы которых приводит к резкому возрастанию погрешности этих процедур, что приводит в итоге к значительным искажениям характеристик «оцелочисленного» рекурсивного фильтра и даже к возможной потере его устойчивости.

Другой известный подход состоит в использовании в качестве целочисленного решения целочисленного кванта (кода), получаемого стандартной процедурой квантования и кодирования [9] вещественных данных (коэффициентов фильтра в данном случае), когда каждому вещественному коэффициенту присваивается одно из 2Wk значений дискретных целочисленных кодов, гдe Wk — длина битового слова целочисленных коэффициентов фильтра.

Напомним, что целочисленный квант Сint вещественного числа С  En в варианте округления равен целой части выражения в скобках:

Cint = int(C×2Wk+0,5).               (1)

Тогда вещественный квант СQ  Qn этого числа определяется так:

Cfloat = СQ = Cint/2Wk.

Например, вещественное число С = = 0,96623245 для заданной длины битового представления Wk = 7 квантуется так:

Cint = 0,96623245×27+0,5 124,

СQ = 124/27 = 0,96875.

Шум квантования в данном примере можно вычислить: ε = 0,96875–0,96623245 = = 0,002517.

Несостоятельность подобных подходов перевода вещественного проектного решения в целочисленное очевидна и состоит в следующем:

  • Все вышеперечисленные недостатки косвенного проектирования рекурсивных фильтров билинейным преобразованием аналогового прототипа полностью сохраняются и в полученных целочисленных версиях.
  • Реализация (программная или аппаратная в ПЛИС) полученных ЦЦФ на платформах с целочисленной арифметикой вычислений исключает процедуру динамического квантования вещественных значений в реальном времени, а следовательно, и шумовые свойства производных целочисленных фильтров никак не будут соответствовать шумовой модели исходных ЦФФТ, построенной путем динамического квантования вещественных данных. То же самое, очевидно, можно сказать и относительно малых предельных циклов в этих дискретных динамических системах с разной арифметикой цифровых вычислений и различной структурой построения звеньев фильтров, хотя этот вопрос и требует дополнительного изучения.
  • Все методы проектирования, базирующиеся на билинейном преобразовании аналогового прототипа, зависят от хорошего начального приближения, хорошего прототипа. При наличии такового в простых задачах может быть получен вполне приемлемый результат, но в сложных задачах многофункционального синтеза цифровых фильтров, когда хорошего начального приближения нет и быть не может, применение подобных методов к успеху не приводит.

Эффективный многофункциональный синтез, то есть синтез целочисленных цифровых фильтров по совокупности требуемых характеристик в многомерном целочисленном пространстве состояний, в настоящее время возможен только поисковыми методами целочисленного нелинейного математического программирования [10, 11]. Математическое программирование — это инвариантная и эффективная методология решения формализованных задач (задач проектирования в частности), методология, максимально ориентированная на современные вычислительные системы.

Общая идея математического программирования, как известно, состоит в привязке решения любой задачи к четкому инвариантному математическому признаку — экстремуму функции качества (цели) F(X), где вектор X определяет искомые параметры устройства. Для любой проектной задачи такую функцию всегда можно сформировать исходя из заданных требований к проектируемому устройству. (В компьютерных пакетах синтеза целевую функцию обычно формирует функциональный редактор.) Если вы имеете такую функцию, то решение задачи синтеза сводится к процедуре минимизации F(X), то есть к определению координат глобального экстремума (оптимальных параметров устройства X0), что обычно делается поисковыми методами [12–15]. При этом важным фактором, определяющим работу цифрового фильтра, является разрядность целочисленных данных, с которыми он оперирует. Так, в настоящее время в общей номенклатуре коммерческих цифровых платформ существенную долю занимают 8‑разрядные, с целочисленной арифметикой вычислений. При реализации высокоскоростных ЦЦФ на специализированных платформах разрядность представления данных может быть еще ниже (до четырех или даже до трех битов).

Идеология целочисленного нелинейного программирования (ЦНП) позволяет эффективно проектировать цифровые фильтры с заданной разрядностью представления данных (целочисленных коэффициентов) при максимальном выполнении требований к частотным характеристикам фильтра. Такое целочисленное проектное решение дает принципиальную возможность реализации ЦНП-фильтров не только на специализированных сигнальных процессорах (DSP), но и на простых и дешевых микропроцессорных контроллерах, в которых нет функции вещественных вычислений. Целочисленное проектное решение является, безусловно, предпочтительным при аппаратной реализации ЦНП-фильтра на ПЛИС, а также на кристаллах заказных или полузаказных СБИС. В этой статье рассмотрены основные вопросы моделирования каскадных рекурсивных ЦЦФ. Вопросы же их многофункционального синтеза методами целочисленного нелинейного программирования мы подробно обсудим в последующих публикациях.

 

Структурно-функциональное описание цифрового фильтра

Структурно-функциональный подход, лежащий в основе моделирования и синтеза цифрового фильтра, является реализацией системного подхода, излагаемого в теории познания [16, 17]. В нем выделяются функции системы, нужные для удовлетворения определенных потребностей, и структура системы, реализующая эти функции. Согласно структурно-функциональному подходу цифровой фильтр может быть охарактеризован с двух принципиальных сторон (рис. 2).

Структурно-функциональное описание фильтра

Рис. 2. Структурно-функциональное описание фильтра

Внутреннее его состояние принято описывать на двух иерархических уровнях — структурном и параметрическом. Что касается структуры построения фильтра S, определяемой числом функциональных элементов фильтра и их взаимосвязью Vij, то в работе [18] приведено сравнение каскадных, параллельных, прямых и волновых структур построения цифровых БИХ-фильтров и показано, что каскадная структура является наилучшей, поскольку:

  • позволяет реализовывать ряд передаточных функций цифрового фильтра небольшим набором основных функциональных элементов (звеньев) низкого порядка;
  • чувствительность характеристик фильтра к изменению параметров (коэффициентов) наименьшая при последовательной структуре построения фильтра;
  • каскадная структура удобна в случае подстройки после синтеза, так как каждое звено фильтра изолировано друг от друга.

Поэтому в настоящее время построение рекурсивных фильтров в форме каскадного соединения (рис. 3) звеньев второго порядка прямой или обращенной формы на практике используется наиболее часто. Таким образом, если структура рекурсивного фильтра задается числом его звеньев в каскадной реализации, то вектор X(x1, x2, …, xn) определяет варьируемые параметры (коэффициенты) звеньев цифрового фильтра.

Каскадная (последовательная) форма построения фильтра

Рис. 3. Каскадная (последовательная) форма построения фильтра

Внешнюю, функциональную сторону проектируемого цифрового фильтра принято характеризовать вектором частных абсолютных показателей качества его функционирования Yj(y1, y2, …, ym), описывающим ту или иную частотную характеристику фильтра, заданную на m дискретных точках требуемого частотного диапазона. При этом абсолютные показатели yi(X), формирующие этот вектор, считаются однородными, если имеют одинаковый физический смысл, размерность и вычисляются по однотипным соотношениям (моделям). Математически однородные функциональные показатели и критерии имеют примерно одинаковую чувствительность к изменению параметров (коэффициентов фильтра).

Вектор YjT(y1, y2, …, ym) в описании проектируемого фильтра задает требования по каждой j‑й характеристике, определяющей его функционирование. Часто говорят, что этот вектор определяет техническое задание на проектирование цифрового фильтра по совокупности его частотных характеристик.

Текущее функционирование фильтра Y связано с его внутренним состоянием оператором МM, он является математической моделью физических процессов, протекающих в системе Y = МM(S,X).

Приведенное структурно-функциональное описание позволяет сформулировать основные задачи, возникающие при проектировании цифрового фильтра:

  • Прямая задача (задача анализа) — определение функционирования фильтра для заданного внутреннего его состояния, что условно можно отобразить как S,X Y. Решение прямой задачи, как видно, сводится к математическому моделированию цифрового целочисленного фильтра.
  • Обратная задача (задача синтеза) — определение описания цифрового фильтра по заданному его функционированию:

YT S0,X0.                       (2)

Оптимальное состояние S0, X0 цифрового фильтра, при котором текущее его функционирование совпадает (в той или иной транскрипции) с требуемым функционированием, принято называть техническим решением. Таким образом, именно обратная задача определяет сущность проектирования (как процесса создания) синтеза цифрового фильтра с заданной совокупностью требуемых характеристик. При этом в соответствии с двумя уровнями описания внутреннего состояния проектируемого фильтра возможны следующие виды задач его синтеза.

Структурный синтез

Структурный синтез как определение оптимальной для заданного функционирования структуры цифрового фильтра, что условно можно записать как YT S0.

Синтез структуры любого устройства может быть осуществлен, естественно, только на качественном уровне, так как структура дает лишь качественное описание внутреннего состояния проектируемого устройства. При этом для синтеза структуры наиболее часто используют подходы структурной декомпозиции, эвристические методы. Однако наиболее эффективно решать задачу оптимизации структуры хорошо разработанным морфологическим методом [14, 17]. При каскадной же реализации цифрового фильтра его структура будет определять число используемых звеньев второго порядка, то есть общий порядок проектируемого фильтра N. При проектировании цифрового фильтра методом ЦНП этот порядок будет определяться в поэтапном процессе поискового синтеза целочисленного цифрового фильтра.

Параметрический синтез цифрового фильтра

Это поиск по заданному функционированию оптимальных значений параметров фильтра при фиксированной его структуре:

YT X0|S=const.                     (3)

Задача решается на строгом количественном уровне с использованием разработанной математической модели цифрового фильтра той или иной структуры. В настоящее время параметрический синтез является наиболее распространенной в проектировании задачей. Большинство коммерческих синтезирующих пакетов решают именно такую задачу.

Структурно-параметрический синтез

Здесь для заданного функционирования YТ определяется не только оптимальная структура, но и оптимальные параметры цифрового фильтра (2). Структурно-параметрический синтез наиболее эффективен по качеству, однако и наиболее трудоемок. Полный замкнутый цикл структурно-параметрического синтеза цифровых фильтров может быть реализован на базе смешанного математического программирования, когда поиск технического решения ведется одновременно в структурном и параметрическом пространстве состояний проектируемого фильтра [19].

В дальнейшем будет рассмотрена эффективная и наиболее разработанная методология решения задачи параметрического синтеза (3) рекурсивных целочисленных фильтров. Однако для ее постановки и решения необходимо иметь математическую модель, которая позволит на строгом количественном уровне рассчитывать необходимые функциональные характеристики проектируемого цифрового фильтра. Рассмотрим вопросы моделирования целочисленного рекурсивного фильтра более подробно.

 

Целочисленное моделирование рекурсивного фильтра

Рекурсивные ЦЦФ, являясь дискретными линейными системами с обратной связью (рекурсией), обладают значительно бóльшими селективными возможностями по сравнению с нерекурсивными, поэтому они позволяют реализовать требуемые формы частотных характеристик цифрового фильтра со значительно меньшим порядком. Рекурсивный целочисленный фильтр является дискретной линейной системой, для которой соотношение между входной xn и выходной yn временными последовательностями определяется уравнением в конечных разностях:

Формула

а передаточная функция — его z‑преобразованием.

К принципиальной особенности ЦЦФ относится принадлежность его коэффициентов bk и ak знакопеременному ряду целых чисел, который может быть как натуральным, так и биномиальным (для нормирующего коэффициента a0). Интервал суммирования по k получил название «окна» фильтра. Входное окно фильтра составляет N+1 отсчетов, выходное — N отсчетов, при этом значение N определяет порядок рекурсивного фильтра. Наличие обратной связи (рекурсии) в (4) определяет бесконечный характер импульсной характеристики фильтра, причем его частотный коэффициент передачи:

Формула

полностью описывается распределением полюсов и нулей в z‑плоскости. Если система устойчива, то все полюсы pi должны лежать внутри единичного круга и область сходимости будет содержать единичную окружность [2, 3].

Линейно-разностное уравнение (4) соответствует прямой форме аппаратной реализации фильтра, хотя, как показано выше, наилучшей является последовательная структура построения фильтра (рис. 3) в виде каскадного включения звеньев второго порядка.

Передаточная функция для рекурсивного ЦЦФ, состоящего из каскадного соединения m‑звеньев второго порядка (m = N/2), имеет следующий вид [20, 21]:

Формула

где z = ejω — комплексная переменная; ω = 2πf/Fд — цифровая частота.

Все коэффициенты системной функции (5) являются целочисленными, а их интервал изменения (вариации) определяется заданной длиной битового слова (разрядностью) коэффициентов фильтра. Целочисленный рекурсивный фильтр будет устойчив, если все полюсы pi передаточной функции (3) лежат внутри единичного круга в z‑плоскости:

|Zpi| < 1.                     (6)

Из соотношения (5) для операторного коэффициента передачи легко получается разностное уравнение для одного звена фильтра:

Формула

где xn — входная временная последовательность; yn — выходная последовательность.

Судя по соотношению (7), при вычислении отклика фильтра должна выполняться операция деления на целочисленный коэффициент a0, которая может быть реализована операцией сдвига при условии принадлежности каждого i‑го коэффициента биномиальному целочисленному ряду:

Формула

где Wk — длина битового слова целочисленных коэффициентов фильтра.

На рис. 4 приведена типичная структура звеньев рекурсивного целочисленного фильтра, соответствующая разностному уравнению (7). Как видно, при его аппаратной реализации на кристалле для вычисления отклика фильтра yn кроме традиционных операций сложения, умножения и задержки на такт присутствует операция сдвига на B = log2a0 бит, с помощью которой реализуется целочисленное деление на биномиальный коэффициент a0.

Структура звена рекурсивного ЦНП-фильтра

Рис. 4. Структура звена рекурсивного ЦНП-фильтра

Таким образом, при расчете отклика рекурсивного ЦЦФ используется минимальное количество базовых операций, причем все эти операции целочисленные, что определяет высокое быстродействие рекурсивного ЦЦФ при работе в реальном времени.

Другим важным достоинством целочисленных цифровых фильтров является, как уже было сказано, отсутствие процедуры квантования данных (как коэффициентов фильтра, так и результатов промежуточных вычислений) в ходе расчета отклика фильтра в реальном времени, а следовательно, и отсутствие таких негативных последствий квантования данных, свойственных ЦФФТ, как искажение частотных характеристик фильтра [7] при квантовании его вещественных коэффициентов, необходимость масштабирования коэффициентов фильтра, появление динамических шумов квантования [4], а также возможность появления малых предельных циклов при квантовании результатов внутренних вычислений. То есть квантование в ЦЦФ заменено целочисленной дискретизацией многомерного пространства коэффициентов перед синтезом фильтра с получением целочисленного решения (вектора целочисленных коэффициентов IX0 в многомерном целочисленном пространстве состояний In) с нулевой ошибкой его реализации на цифровой платформе или кристалле с заданной длиной Wk слова целочисленных коэффициентов.

Что же касается результатов промежуточных вычислений, то все они также являются целочисленными, и при заданной битовой разрядности квантования входного сигнала (в аналого-цифровом преобразователе, например) легко выделить внутренний аккумуляторный регистр с разрядностью (бит):

Wak = Wx+Wk+2                 (9)

для хранения результата целочисленного умножения с накоплением, осуществляемого по алгоритму (7).

Колебаний переполнения, то есть возникновения больших предельных циклов, вызванных переполнением разрядной сетки регистра-аккумулятора, при таком расчете его разрядности практически никогда не возникает. Особенно если учесть, что накопление результата целочисленного умножения в (7) осуществляется алгебраически, с учетом знака слагаемых, что существенно снижает разрядность результата. При этом разрядность в цепях обратной связи целочисленного фильтра не растет от такта к такту, так как разрядность отклика рекурсивного целочисленного звена yn всегда меньше (и весьма существенно) разрядности результата внутреннего целочисленного умножения с накоплением за счет последней операции формирования этого отклика — операции регистрового сдвига вправо, величину которого определяет значение биномиального нормирующего коэффициента a0i целочисленного звена. Таким образом, негативные проблемы квантования, присущие цифровым фильтрам с вещественной арифметикой вычислений, отсутствуют в целочисленных цифровых фильтрах ввиду отсутствия самой процедуры квантования данных в алгоритме целочисленной фильтрации.

Как известно, в каскадных формах построения цифровых фильтров необходимо масштабирование сигнала, что позволяет каскадному фильтру работать в широком динамическом диапазоне входных сигналов. При этом в каскадных ЦФФТ это обычно делается по методике Джексона путем ввода в структуру звена специального масштабирующего умножителя с коэффициентом умножения l, равного степени числа два, при котором не возникает переполнение. То есть здесь масштабирующие умножения в звеньях сводятся к простым сдвигам [1, 9]. Но точно такая же процедура регистрового сдвига является последней в расчете отклика целочисленного звена, а значит, ее вполне можно использовать и для масштабирования его усиления. Однако расчет такого масштабирования целочисленного звена гораздо легче осуществлять не применением, например, -нормы или изменением коэффициентов числителя передаточной функции звена [1, 4], а прямым введением требования обеспечения малого разброса коэффициентов передачи отдельных звеньев (в пределе — равенства коэффициентов передачи, хотя это и приведет к некоторому снижению селективности) непосредственно в ходе ЦНП-синтеза каскадного цифрового фильтра. Формально требование масштабирования усиления записывается как двустороннее функциональное ограничение экстремальной задачи ЦНП-синтеза.

 

Оценка быстродействия

При расчете отклика рекурсивного ЦЦФ используется минимальное количество базовых операций, причем все эти операции целочисленные. Расчет отклика фильтра на реальном сигнале идет очень быстро, прямо по определению (модели) фильтра (7), для этого используются вычисленные заранее целочисленные коэффициенты. Естественно, целочисленные операции на любой цифровой платформе выполняются значительно быстрее, чем операции вещественных цифровых вычислений. Число тактов центрального процессорного устройства (ЦПУ), необходимых для реализации базовых операций, существенно меньше для целочисленных вычислений.

Это, например, убедительно показано в работе [22], где приводятся данные сравнительного расчета и измерения количества тактов ЦПУ базовых операций (сложения и умножения) для микроконтроллерного процессора C8051F120, имеющего возможность работать как с целочисленным, так и с вещественным форматом представления данных. Ядро CIP‑51 этого процессора поддерживается аппаратными и программными средствами разработки от Silicon Laboratories. При этом для определения количества тактов базовых операций использовался один из таймеров микроконтроллера, тактируемый внутренним генератором. Результат счета таймера показывает, что для этой цифровой платформы операции сложения реализуются в семь раз быстрее, а операции умножения более чем в четыре раза быстрее для целочисленной арифметики в сравнении с вещественными вычислениями.

Аналогичная методика оценки быстродействия может быть применена и для всего целочисленного фильтра. Так, по коду ассемблера приведенной далее программы расчета отклика каскадного рекурсивного ЦЦФ было определено количество тактов ЦПУ, необходимых для расчета его общего отклика при реализации фильтра уже на многофункциональном микроконтроллере MSP430F1611 фирмы Texas Instruments, который является, по сути дела, однокристальной ЭВМ малой производительности с 16‑разрядным RISC-ядром. Отличиями этого контроллера являются его низкое
энергопотребление, невысокая стоимость, а также возможность проведения только целочисленных вычислений.

Программирование микроконтроллера осуществлялось с помощью программатора MSP-TS430PM64 через интерфейс JTAG:

// программа расчета отклика каскадного рекурсивного ЦЦФ
#define IIR16_NBIQ 2 // число звеньев фильтра

//коэффициенты B0i, B2i, B1i, A2i, A1i, log2(A0i)
const short IIR16_COEFF[6*IIR16_NBIQ+1]={
      1618,-4234,-2798,-4632,2007,13,
      -1069,-1677,-1940,-1736,6517,13
      };

int DBuffer[2*IIR16_NBIQ+1]; // линии задержки
int EBuffer[2*IIR16_NBIQ+1];

int IIR_Filtr(int Data) {
      int32 temp;
      short *COEFF=(short*)IIR16_COEFF;
      short *D = (short*)DBuffer;                      
      short *E = (short*)EBuffer;                      
      short Xc, pvalue;
      int i;

      pvalue = (short)Data;
      for(i=0;i<IIR16_NBIQ;i++)
      {
      Xc = pvalue;
temp=(long)(*COEFF++)*Xc + (long)(*COEFF++)*(*D++) +
      (long)(*COEFF++)*(*D--) + (long)(*COEFF++)*(*E++)+
      (long)(*COEFF++)*(*E--);
      *D++ = *D;
      *E++ = *E;
      pvalue = (short)(temp>>*COEFF++);
      *D++ = Xc;
      *E++ = pvalue;
      }
      return (int) pvalue;
}

Как показывают расчеты, общее число тактов ЦПУ, необходимых для вычисления в реальном времени отклика всего каскадного рекурсивного ЦЦФ, для данной цифровой платформы MSP430F1611 составило 43+92m тактов, где m — число каскадов (звеньев) фильтра. По этому соотношению можно вычислить время расчета отклика (для тактовой частоты ЦПУ fТ = 8 МГц) и возможную частоту дискретизации входного сигнала многокаскадного фильтра при его реализации на этом микроконтроллере (таблица).

Таблица. Расчет времени выполнения цифровой фильтрации на микроконтроллере MSP430F1611

Количество
звеньев m

Количество
тактов ЦПУ

Время
выполнения, мс

Максимальная Fд, Гц

1

135

0,016875

59259,2

2

227

0,028375

35242,4

3

319

0,039875

25078,7

4

411

0,051375

19464,2

5

503

0,062875

15904,5

6

595

0,074375

13445,4

7

687

0,085875

11644,8

8

779

0,097375

10268,3

9

871

0,108875

9184,7

10

963

0,120375

8307,4

Как уже было упомянуто, важным фактором, определяющим быстродействие цифрового фильтра, является разрядность цифровой платформы, а следовательно, и целочисленных данных, которыми он оперирует. Как справедливо показано в [4, 5], снижение разрядности данных даже на 1 бит может сэкономить до 50% оперативной памяти при существенном уменьшении времени расчета отклика фильтра, поэтому для высокоскоростных ЦЦФ на кристалле разрядность представления данных во многом является определяющим фактором.

 

Шумовые свойства целочисленного рекурсивного фильтра

В современной литературе по проектированию линейных цифровых фильтров, оперирующих с фиксированной точкой, шумы квантования исследованы достаточно подробно [1, 2, 9]. Так, в работе [1] приведена полная шумовая модель рекурсивного ЦФФТ в каскадной реализации с пятью источниками шума округления, подключенными к общему узлу суммирования, и получено соотношение для дисперсии выходного шума с учетом Lp-масштабирования каскадного фильтра. В работе [23] для общепринятой вероятностной модели округления чисел с фиксированной точкой, диапазон изменения которых по модулю не превосходит единицу, для БИХ-фильтра на звеньях второго порядка прямой или нормальной структуры построения приведено следующее отношение шума квантования к сигналу на выходе каскадного фильтра:

Формула

где G — усиление шума; Н — максимальный коэффициент передачи фильтра; R — число битов, сохраняемое после округления.

При этом многие авторы полагают, что шумы динамического квантования на сумматоре промежуточных результатов умножения вещественных чисел в ЦФФТ будут полностью соответствовать шумам производных по соотношению (1) целочисленных фильтров, хотя очевидно, что в реальном фильтре, оперирующем с целочисленными данными на целочисленных цифровых платформах, процедура динамического квантования данных отсутствует в принципе. В алгоритме (7) расчета отклика целочисленного рекурсивного звена единственным случайным процессом (то есть источником шума) является операция нормировки, деления на нормирующий биномиальный множитель a0, которая, как показано выше, реализуется регистровым сдвигом вправо на B = log2a0 битов с потерей данных в младших разрядах.

Попытка оценки шумовых свойств кас-кадного рекурсивного ЦЦФ сделана в работе [24]. Обозначая в соотношении (7) расчета отклика выражение в скобках как:

yn = b0xn+b1xn–1+b2xn–2a1yn–1a2yn–2,

авторы определяют шум целочисленного звена как разность между результатом вещественного и целочисленного деления ynна нормирующий коэффициент:

Формула

считая при этом, что en имеет равномерное распределение. Далее, делая стандартные предположения о том, что:

  • любые два отсчета шума от одного и того же источника некоррелированы;
  • шум от источников некоррелирован с входной последовательностью xn;
  • авторы предлагают следующую шумовую модель рекурсивной части целочисленного звена фильтра (рис. 5).
Шумовая модель рекурсивного целочисленного звена

Рис. 5. Шумовая модель рекурсивного целочисленного звена

Важно отметить, что в целочисленном фильтре на каждое звено приходится по одному источнику шума, своим происхождением обязанному операции сдвига. Дисперсия шума тогда определяется так:

Формула

а отношение сигнал/шум для одного звена равно:

Формула

где G — максимальный коэффициент передачи фильтра.

В случае же работы с многокаскадным целочисленным фильтром отношение сигнала на выходе к шуму равно:

Формула

где коэффициенты a и b определяются так:

Формула

Очевидно, что изложенный в [24] подход носит предварительный, оценочный характер, и полученные соотношения (11) и (12) вызывают ряд критических замечаний. Необходимы дальнейшие теоретические и экспериментальные исследования шумовых свойств целочисленных рекурсивных фильтров, равно как и исследование возможности возникновения малых предельных циклов в таких системах.

Продолжение статьи.

Литература
  1. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов. М.: Мир, 1978.
  2. Антонью А. Цифровые фильтры: анализ и проектирование. М.: Радио и связь, 1983.
  3. Каппелини В., Константинидис А. Дж., Эмилиани П. Цифровые фильтры и их применение. М.: Энергоатомиздат, 1983.
  4. Мингазин А. Т. Синтез передаточных функций цифровых фильтров в области дискретных значений коэффициентов (обзор) // Электронная техника. Сер. 10. 1993. № 1, 2.
  5. Dehner G. On the design Cauer filters with coefficients of limited wordlength // AEÜ. 1975. 26. № 4.
  6. Мингазин А. Т. Программа DIFID: эффективный синтез каскадных цифровых БИХ-фильтров. T. 1. М.: DSPA, 2002.
  7. Мингазин А. Т. Анализ влияния квантования коэффициентов на характеристики цифровых фильтров // Радиотехника. 1987. № 6.
  8. EzIIR filter design package. http://www.ti.com/tool/sprc072 /ссылка устарела/
  9. Айфичер Э., Джервис Б. Цифровая обработка сигналов: практический подход. М.: ИД «Вильямс», 2004.
  10. Мину М. Математическое программирование. Теория и алгоритмы. М.: Наука, 1990.
  11. Корбут А. А., Финкельштейн Ю. Ю. Дискретное программирование. М.: Наука, 1959.
  12. Моисеев Н. Н., Иванилов Ю. П. и др. Методы оптимизации. М.: Наука, 1978.
  13. Батищев Д. И. Методы оптимального проектирования. М.: Радио и связь, 1984.
  14. Воинов Б. С., Бугров В. Н., Воинов Б. Б. Информационные технологии и системы: поиск оптимальных, оригинальных и рациональных решений. М.: Наука, 2007.
  15. Бугров В. Н., Лупов С. Ю., Земнюков Н. Е., Корокозов М. Н. Дискретный синтез цифровых рекурсивных фильтров // Вестник ННГУ. 2009. № 2.
  16. Штофф В. А. Введение в методологию научного познания. Л.: Издательство ЛГУ, 1972.
  17. Половинкин А. И. Основы инженерного творчества. М.: Машиностроение, 1988.
  18. Demрster A. G., Macleod M. D. IIR digital filter design using minimum adder multiplier blocks // IEEE Trans. on Circuits and Systems-II. V. 45. No 6.
  19. Бугров В. Н., Воронков Ю. В. Формализация задачи структурно-параметрического синтеза радиоэлектронных систем // Радиотехника. 2001. № 9.
  20. Бугров В. Н. Проектирование цифровых фильтров методами целочисленного нелинейного программирования // Вестник ННГУ. 2009. № 6.
  21. Шкелев Е. И., Бугров В. Н., Пройдаков В. И., Артемьев В. В. Целочисленные цифровые фильтры — эффективное решение для 8‑битовых цифровых платформ // Компоненты и технологии. 2013. № 10.
  22. Кованова Е. В. Оценка быстродействия рекурсивных целочисленных цифровых фильтров. Тезисы доклада на международной научной конференции «ИСТ‑2013». Н. Новгород: НГТУ, 2013.
  23. Мингазин А. Т. Шум округления и разрядность коэффициентов четырех структур БИХ-фильтров. T. 1. М.: DSPA, 2006.
  24. Артемьев В. В., Шамшин М. О. Моделирование шумовых свойств целочисленного рекурсивного звена. Тезисы доклада на международной научной конференции «ИСТ‑2014». Н. Новгород: НГТУ, 2014.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *