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

№ 1’2015
PDF версия
В третьей статье из цикла, посвященного описанию технологии синтеза целочисленных цифровых фильтров, рассматриваются основные этапы синтеза каскадных КИХ-фильтров поисковыми методами целочисленного нелинейного программирования. Приводится описание модели целочисленного КИХ-фильтра, программы расчета его отклика, общая постановка задачи синтеза в целочисленном пространстве параметров. Приведен пример решения задачи многофункционального синтеза целочисленного 8 битового КИХ-фильтра для коррекции амплитудных искажений аналогового тракта гидроакустической приемной станции. Проводится анализ его характеристик.

Все статьи цикла.

Введение

Нерекурсивный цифровой фильтр является, как известно, дискретной системой, для которой соотношение между входной xn и выходной yn временными последовательностями определяется уравнением линейной дискретной свертки:

Формула

где bk — постоянные коэффициенты, которые являются отсчетами импульсной характеристики фильтра. Интервал суммирования по k получил название окна фильтра. Входное окно фильтра составляет (N+1) отсчетов, при этом значение N определяет порядок КИХ-фильтра. Такой фильтр является односторонним каузальным и может быть реализован физически в реальном масштабе времени. Его передаточная функция имеет вид:

Формула

а частотная характеристика представляет собой тригонометрический полином:

Формула

С фазочастотной характеристикой (ФЧХ) фильтра j(w) связаны фазовая tp и групповая (ГВЗ) tg задержки, определяемые соотношениями:

Формула

Как известно, основной недостаток цифровых КИХ-фильтров состоит в их относительно низкой селективной способности, когда для реализации частотной характеристики сложной формы с резкими срезами требуется импульсная характеристика с большим числом отсчетов, что определяет и большой объем цифровых вычислений для расчета отклика фильтра. Достоинством же является то, что КИХ-фильтры, реализуемые нерекурсивно, то есть с помощью прямой свертки (1), всегда устойчивы и не имеют малых предельных циклов. А если импульсная характеристика удовлетворяет условию симметрии, то фильтр может теоретически иметь и линейную ФЧХ, что важно в случаях, когда приходится учитывать дисперсионные искажения, связанные с фазовой нелинейностью (например, при обработке речи и передаче данных).

Как и БИХ-фильтры, КИХ-фильтры имеют множество форм (структур) построения (прямая, каскадная, структура на основе быстрой свертки, частотной выборки и др.) и соответствующих методологий проектирования [1–8]. На сегодня классическими методами расчета КИХ-фильтров считаются методы взвешивания с помощью окна, методы частотной выборки, методы расчета оптимальных (по Чебышеву) фильтров. Интересные возможности предоставляют методы синтеза цифровых КИХ-фильтров с конечной длиной слова коэффициентов и некоторые другие подходы [9–12]. В каждом конкретном случае выбор структуры построения и метода расчета КИХ-фильтра определяется большим числом факторов, поэтому проектировщик должен сам решать, какой метод лучше всего использовать, чтобы удовлетворить заданным требованиям.

Оценивая классические подходы к проектированию КИХ-фильтров, можно отметить следующие их особенности:

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

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

В дальнейшем будет рассмотрена эффективная и наиболее разработанная методология решения задачи поискового параметрического синтеза целочисленных КИХ-фильтров, реализуемых на основе свертки. Однако для постановки и решения такой задачи нужно иметь целочисленную математическую модель, которая позволит на строгом количественном уровне рассчитывать соответствующие функциональные характеристики проектируемого фильтра. Рассмотрим вопросы моделирования целочисленного КИХ-фильтра более подробно.

 

Моделирование целочисленного КИХ-фильтра

Целочисленный нерекурсивный фильтр в прямой форме построения определяется следующим образом [15, 16]:

Формула

Принципиальной особенностью является принадлежность его коэффициентов bk и a0 знакопеременному ряду целых чисел, который может быть как натуральным, так и биномиальным (для нормирующего коэффициента a0). Интервал изменения коэффициентов при этом определяется разрядностью представления данных в используемой цифровой платформе. На практике, как и для БИХ-фильтров, наиболее часто применяется каскадная (последовательная) структура построения КИХ-фильтра. Таким образом, структура целочисленного КИХ-фильтра задается числом его звеньев в каскадной реализации, а вектор IX определяет варьируемые параметры (коэффициенты) звеньев фильтра в многомерном целочисленном пространстве состояний In.

Передаточная функция для целочисленного КИХ-фильтра, состоящего из каскадного соединения m‑звеньев второго порядка (m = N/2), имеет следующий вид:

Формула

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

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

Формула

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

Формула

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

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

Структура целочисленного звена КИХ-фильтра

Рис. 1. Структура целочисленного звена КИХ-фильтра

Таким образом, при расчете отклика КИХ-фильтра используется минимальное количество базовых операций, причем все эти операции целочисленные, что определяет высокое быстродействие при работе фильтра в реальном времени.

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

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

Формула

для хранения результата целочисленного умножения с накоплением, осуществляемого по алгоритму (5). Колебаний переполнения, то есть возникновения больших предельных циклов, вызванных переполнением разрядной сетки регистра-аккумулятора, при таком расчете его разрядности никогда не возникает, особенно если учесть, что накопление результата целочисленного умножения в (5) осуществляется алгебраически, с учетом знака слагаемых, что существенно понижает разрядность результата. Таким образом, негативные проблемы квантования, присущие цифровым фильтрам с вещественной арифметикой вычислений, отсутствуют в целочисленных КИХ-фильтрах ввиду отсутствия самой процедуры квантования данных в алгоритме целочисленной фильтрации.

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

Как видно из (5), при расчете отклика целочисленного КИХ-фильтра используется минимальное количество базовых целочисленных операций. Расчет отклика фильтра на реальном сигнале идет очень быстро, прямо по определению (модели) фильтра (5), используя для этого вычисленные заранее целочисленные коэффициенты. По коду ассемблера приведенной ниже программы расчета отклика каскадного целочисленного КИХ-фильтра может быть произведена оценка его быстродействия путем определения количества тактов ЦПУ, необходимых для расчета его общего отклика при реализации фильтра на целочисленной цифровой платформе или кристалле. Пример такой оценки быстродействия приведен в работе [13].

// программа расчета отклика корректирующего     8-битового КИХ-фильтра
#define FIR8_NBIQ 28 // число звеньев

// коэффициенты звеньев в порядке B0i,B2i,B1i,log_2(A0i)
const short FIR8_COEFF[4*FIR8_NBIQ+1]={
        13,16,28,6,
        –25,–42,61,6,
        15,25,18,6,
        19,–88,–42,6,
        2,–82,–8,6,
        18,–78,–11,6,
        –21,–40,35,6,
        –25,0,–50,6,
        –1,30,31,6,
        9,35,–20,6,
        –25,–61,35,6,
        –8,–78,–9,6,
        –18,–28,–8,6,
        –25,–66,30,6,
        6,–112,–1,6,
        –13,–74,0,6,
        7,45,–14,6,
        1,–107,0,6,
        –8,–71,0,6,
        –7,101,5,6,
        20,–90,–24,6,
        –24,–95,0,6,
        19,–73,5,6,
        10,–94,–25,6,
        16,–99,–18,6,
        19,–99,–11,6,
        29,–88,–19,6,
        9,–98,–15,6
};

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

int FIR_Filtr(int Data) {
    int32 temp;
    short *COEFF=(short*)FIR8_COEFF; // указатель на коэффициенты
    short *D = (short*)DBuffer; // указатель на линию задержки
    short Xc, pvalue;
    int i;

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

Как уже было упомянуто, важным фактором, определяющим быстродействие КИХ-фильтра, является разрядность целочисленных данных, с которыми он оперирует. Снижение разрядности данных даже на 1 бит может обеспечить существенную экономию оперативной памяти при уменьшении времени расчета отклика фильтра. Поэтому для высокоскоростных целочисленных фильтров на кристалле разрядность представления данных во многом становится определяющим фактором.

 

Постановка задачи целочисленного синтеза КИХ-фильтра

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

Формула

где m — число звеньев второго порядка; d — индекс коэффициента передаточной функции звена (4); IX — вектор целочисленных параметров (коэффициентов) проектируемого КИХ-фильтра; Wk — длина битового слова целочисленных коэффициентов, бит; Kimin, Kimax — допустимые границы изменения коэффициента усиления i‑го звена фильтра.

Экстремальная задача синтеза (8) записана относительно целочисленного пространства коэффициентов фильтра I4m, размерностью 4m. Ограничения (9) задают границы изменения этих целочисленных коэффициентов, а соотношение (10) определяет принадлежность коэффициентов a0i биномиальному ряду. Функциональные ограничения (11) определяют требования масштабирования усиления в каскадном КИХ-фильтре.

Многофункциональное задание целевой функции F(IX) в задачах ЦНП-синтеза наиболее часто формируется методом комбинированного критерия [14] в виде взвешенной суммы частных целевых функций fj(IX), которые определяют выполнение функциональных требований по той или иной час-тотной характеристике фильтра:

Формула

Коэффициент bj задает значимость (вес) характеристики (j‑го частотного окна). Сами частные целевые функции fj(IX) формирует функциональный редактор пакета синтеза по критерию минимума среднеквадратичного отклонения (ненормированная (13) или нормированная (14) форма) либо в форме минимаксного критерия (15):

Формула

где Yn(IX) — текущее значение характеристики фильтра на n‑й дискретной частоте диапазона определения, а YnT — требуемое значение частотной характеристики.

Поисковое итеративное решение экстремальной задачи ЦНП-синтеза (8) в заданном пространстве целочисленных параметров КИХ-фильтра осуществляет программный алгоритмический комплекс [14], обращаясь к модельному блоку программы для расчета текущих функциональных характеристик фильтра. Вектор IX0, минимизирующий скалярную целевую функцию на множестве допустимых целочисленных решений (9) и (10), является парето-эффективным решением задачи параметрического синтеза целочисленного КИХ-фильтра. Все попытки с доступной нам глубиной поиска найти зарубежные или российские аналоги к успеху не привели: в трактовке (8)–(11) задачу проектирования каскадных КИХ-фильтров не решает никто, практического применения данного подхода в проектировании не обнаружено.

В качестве примера поискового решения сложной задачи многофункционального синтеза КИХ-фильтра рассмотрим решение задачи целочисленного синтеза корректирующего цифрового ФНЧ, осуществляющего фильтрацию гидроакустического сигнала и устраняющего амплитудные искажения аналогового тракта. Хотя исходное описание данной задачи можно найти в работе [15], где она решалась относительно целочисленного БИХ-фильтра, для удобства читателя приведем ее полную постановку и в данной статье.

 

Синтез 8‑битового корректирующего КИХ-фильтра тракта гидроакустических измерений

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

Структура приемного гидроакустического тракта

Рис. 2. Структура приемного гидроакустического тракта

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

Внешний вид гидроакустической антенны

Рис. 3. Внешний вид гидроакустической антенны

Коррекция амплитудных искажений аналогового тракта корректирующим цифровым фильтром значительно облегчает и удешевляет расчет и изготовление гидроакустических приемных измерительных антенн, поскольку при расчете антенны можно снизить жесткие требования к равномерности ее АЧХ в заданном частотном диапазоне, а при изготовлении самой гидроакустической антенны достаточно добиться с заданной точностью повторяемости параметров образцов.

АЧХ аналогового гидроакустического тракта

Рис. 4. АЧХ аналогового гидроакустического тракта

Рассмотрим пример решения этой задачи синтеза целочисленного нерекурсивного корректирующего ФНЧ, осуществляющего селекцию гидроакустического сигнала в полосе пропускания 0–43 кГц и устраняющего амплитудные искажения аналогового тракта (график на рис. 4) в этой полосе так, чтобы общий коэффициент передачи скорректированного тракта КTZ в полосе пропускания имел усиление 2 с неравномерностью не более 5%, а в полосе непропускания (52–60 кГц) обеспечивал подавление сигнала на уровне не хуже 0,1 (график требуемой АЧХ скорректированного тракта приведен на рис. 5).

Требуемая АЧХ скорректированного гидроакустического тракта

Рис. 5. Требуемая АЧХ скорректированного гидроакустического тракта

Поскольку коэффициенты передачи аналогового тракта Кат, корректирующего КИХ-фильтра Ккцф связаны с требуемым коэффициентом передачи скорректированного гидроакустического тракта КTZ соотношением Кат×Ккцф = КTZ, то частотный коэффициент передачи корректирующего цифрового фильтра может быть получен делением графиков частотных зависимостей КTZ (рис. 5) на Кат (рис. 4), что в итоге определяет весьма сложную форму АЧХ корректирующего фильтра (рис. 6). На этом же рисунке приведены требования и к неравномерности группового времени запаздывания корректирующего фильтра на уровне не более 5% от среднего его значения в полосе пропускания фильтра. Это обеспечивает высокую линейность ФЧХ корректирующего фильтра в полосе пропускания. Требуемые частотные характеристики фильтра графически вводились в соответствующее окно функционального редактора пакета синтеза и оцифровывались с необходимой точностью.

Требуемая АЧХ и ГВЗ корректирующего КИХ-фильтра

Рис. 6. Требуемая АЧХ и ГВЗ корректирующего КИХ-фильтра

Таким образом, исходные данные к синтезу корректирующего КИХ-фильтра выглядят так:

  • полоса пропускания 0–43 кГц;
  • переходная полоса 43–52 кГц с допуском в 2%;
  • полоса непропускания 52–60 кГц;
  • требуемая АЧХ фильтра приведена на рис. 6;
  • неравномерность ГВЗ в полосе пропускания не более ±5%;
  • разрядность (длина слова целочисленных коэффициентов) — 8 бит;
  • масштабирование коэффициентов передачи звеньев в интервал {0,8–2};
  • частота дискретизации 120 кГц.

Задача целочисленного программирования для многофункционального синтеза 8‑битового корректирующего КИХ-фильтра в форме каскадного соединения 28 звеньев второго порядка (общий порядок фильтра N = 56 определялся в процессе поэтапного поискового синтеза фильтра) записывалась так:

Формула

Таким образом, минимизация целевого функционала осуществлялась на 84‑мерном целочисленном пространстве восьмибитовых параметров в допустимой области (17) при фиксированных нормирующих коэффициентах (18) и выполнении условий (19) масштабирования усиления звеньев фильтра в заданный интервал.

При поисковом синтезе корректирующего КИХ-фильтра с линейной фазой или (что то же самое) с постоянным временем группового запаздывания (ГВЗ) в полосе пропускания фильтра целевая функция формировалась в виде суммы двух частных целевых функций fАЧХ(IX) и fГВЗ(IX), обеспечивающих соответственно выполнение требований как к амплитудной селекции фильтра (рис. 6), так и к постоянству его ГВЗ:

Формула

где частная целевая функция fГВЗ(IX) определяется максимальным отклонением ГВЗ-фильтра от требуемого значения τТ в полосе пропускания фильтра:

Формула

а целевая функция fАЧХ(IX) задавалась среднеквадратичной ошибкой выполнения требований к АЧХ корректирующего КИХ-фильтра:

Формула

Значимость требований к АЧХ фильтра и его ГВЗ была одинаковой (β1 = β2 = 1).

Общее время решения данной задачи на стандартном персональном компьютере не превышало 30 мин, причем значение целевого функционала в начальной точке составляло 773, а значение в точке оптимума было равно 0,0643 при полном выполнении условий масштабирования коэффициентов передачи звеньев фильтра (таблица) в заданный интервал.

Таблица. Коэффициенты передаточной функции фильтра

Звено фильтра

Коэффициенты передаточной функции фильтра

Усиление звена Кmax

a0

b0

b1

b2

1

64

13

28

16

0,9

2

64

–25

61

–42

1,7

3

64

15

18

25

0,91

4

64

19

–42

–88

1,88

5

64

2

–8

–82

1,38

6

64

18

–11

–78

1,52

7

64

–21

35

–40

1,24

8

64

–25

–50

0

1,17

9

64

–1

31

30

0,94

10

64

9

–20

35

0,85

11

64

–25

35

–61

1,55

12

64

–8

–9

–78

1,48

13

64

–18

–8

–28

0,84

14

64

–25

30

–66

1,54

15

64

6

–1

–112

1,84

16

64

–13

0

–74

1,3

17

64

7

14

45

0,9

18

64

1

0

–107

1,69

19

64

–8

0

–71

1,23

20

64

–7

5

101

1,69

21

64

20

–24

–90

1,79

22

64

–24

0

–95

1,86

23

64

19

5

–73

1,44

24

64

10

–25

–94

1,75

25

64

16

–18

–99

1,84

26

64

19

–11

–99

1,86

27

64

29

–19

–88

1,86

28

64

9

–15

–98

1,72

В таблице приведены оптимальные значения целочисленных 8‑битовых коэффициентов передаточной функции корректирующего КИХ-фильтра, а также достигнутые значения коэффициентов усиления его звеньев. На рис. 7–11, 13 представлены графики функциональных характеристик фильтра в точке оптимума для частоты дискретизации 120 кГц.

Требуемая и синтезированная АЧХ корректирующего фильтра

Рис. 7. Требуемая и синтезированная АЧХ корректирующего фильтра

Как видно, АЧХ синтезированного КИХ-фильтра с высокой точностью соответствует требуемой для коррекции АЧХ. На рис. 8 приведена полная АЧХ скорректированного тракта Ктр в сравнении с исходным нескорректированным, а на рис. 9 представлена ошибка коррекции ΔК = Ктр–КТZ. То есть в полосе пропускания тракта 0–43 кГц ошибка коррекции АЧХ не превышает 0,08 и находится в поле допустимого 5%-го допуска. Неравномерность ГВЗ (рис. 10) в полосе составляет 0,018 мс при среднем ее значении τср = 0,45 мс — она также находится в пределах установленного допуска.

Полная АЧХ скорректированного гидроакустического тракта

Рис. 8. Полная АЧХ скорректированного гидроакустического тракта

Ошибка коррекции АЧХ в полосе

Рис. 9. Ошибка коррекции АЧХ в полосе

ГВЗ фильтра в полосе

Рис. 10. ГВЗ фильтра в полосе

Достигнутая равномерность ГВЗ определяет высокую линейность ФЧХ (рис. 11). Фазовые искажения Δφ(w) в полосе пропускания корректирующего фильтра не превышают двух градусов.

ФЧХ в полосе пропускания

Рис. 11. ФЧХ в полосе пропускания

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

График разреза на рис. 12 по параметру b1 четвертого звена показывает, что целевые функции в задачах многофункционального синтеза цифровых КИХ-фильтров имеют сложный, полимодальный характер. Целочисленная минимизация таких функций является весьма не простой задачей. Тем не менее разработанный программно-алгоритмический комплекс успешно справился с этой задачей, показав высокую надежность и эффективность.

Разрез ЦФ по параметру b1 [4]

Рис. 12. Разрез ЦФ по параметру b1 [4]

Таким образом, все требования по функциональным показателям и характеристикам 8‑битового корректирующего КИХ-фильтра гидроакустического тракта в процессе его поискового ЦНП-синтеза были выполнены с высокой точностью. Практическая реализация (рис. 13) подтвердила синтезированные характеристики корректирующего фильтра.

Исследование АЧХ корректирующего фильтра в модуле анализа программы

Рис. 13. Исследование АЧХ корректирующего фильтра в модуле анализа программы

 

Заключение

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

  1. Осуществлять синтез как рекурсивных (IIR), так и нерекурсивных (FIR) фильтров одной и той же идеологией ЦНП с использованием одного и того же компьютерного программного комплекса.
  2. Осуществлять синтез целочисленного фильтра по совокупности требуемых его характеристик, причем можно легко управлять приоритетом функциональных характеристик в процессе синтеза фильтра.
  3. Форма характеристик может быть произвольная, частотная шкала — требуемая (линейная, логарифмическая и др.).
  4. Возможна широкая фрагментация характеристик фильтра, когда важные их участки выделяются в отдельное функциональное окно для обеспечения их детальной проработки в ходе синтеза.
  5. Устойчивость решения для целочисленных БИХ-фильтров может быть гарантирована приоритетным выполнением функциональных условий устойчивости в процессе синтеза фильтра.
  6. Глобальная модельная идеология поиска определяет высокую надежность отыскания эффективного решения экстремальной задачи ЦНП практически из любой начальной точки. Хорошего начального приближения (прототипа) здесь не требуется. Как правило, в сложных проектных задачах оптимальное решение определяется не из начальной точки, заданной пользователем, а из точки, сгенерированной самим поисковым алгоритмом.
  7. Необходимое масштабирование усиления в каскадных структурах может быть обеспечено непосредственно в ходе ЦНП-синтеза целочисленного цифрового фильтра. Здесь нет необходимости использования косвенных приемов масштабирования усиления применением, например, Lp-нормы.
  8. Целочисленная дискретизация пространства параметров (коэффициентов) фильтра позволяет получать проектные решения в целых числах, что снимает все ограничения по арифметике вычислений при реализации ЦНП-фильтров на любых цифровых платформах (сигнальных процессорах, контроллерах, ПЛИС) с заданной разрядностью представления данных, а также на кристаллах заказных или полузаказных СБИС.
Литература
  1. Лем Г. Аналоговые и цифровые фильтры. М.: Мир, 1990.
  2. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов. М.: Мир, 1978.
  3. Айфичер Э., Джервис Б. Цифровая обработка сигналов: практический подход. М.: Издательский дом «Вильямс», 2004.
  4. 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.
  5. Pun C. K. S., Wu Y. C., Chan S. C., Ho K. L. An efficient design of fractional-delay digital FIR filters using the Farrow structure // In proc. 11th IEEE Signal Processing Workshop on Statistical Signal Processing. 2001. Aug.
  6. Кривошеев В. И. Цифровая обработка сигналов: учебное пособие. Н. Новгород: Изд-во ННГУ, 2006.
  7. Chen C. L., Willson A. N. A trellis search algorithm for the design of FIR filters with signedpowers_of_two coefficients. IEEE Trans. on CAS_II. 1999. V. 46. № 1.
  8. Sienski K., Legako M. Hardware efficient FIR filter structures from linear program design constraints. 1996.
  9. Мингазин А. Т. Вариация исходных параметров в задачах синтеза цифровых КИХ-фильтров с конечной длиной слова коэффициентов. М.: DSPA, 2000. T. 1.
  10. Kodek D. Design of optimal finite wordlength FIR digital filters using integer programming techniques // IEEE Trans. 1980. Vol. ASSP‑28, № 3.
  11. Nakayama K. A discrete optimization method for high-order FIR filters with finite wordlength coefficients // ICASSP.1982. Vol. 1.
  12. Lim Y. C., Parker S. R., Constantinides A. G. Finite word length FIR filter design using integer programming over a discrete coefficient space // IEEE Trans. ASSP‑30. № 4.
  13. Бугров В. Н., Пройдаков В. И., Артемьев В. В. Поисковые технологии проектирования целочисленных цифровых фильтров. Часть 1 // Компоненты и технологии. 2014. № 6.
  14. Бугров В. Н., Пройдаков В. И., Артемьев В. В. Поисковые технологии проектирования целочисленных цифровых фильтров. Часть 2 // Компоненты и технологии. 2014. № 10.
  15. Шкелев Е. И., Бугров В. Н., Пройдаков В. И., Артемьев В. В. Целочисленные цифровые фильтры — эффективное решение для 8‑битовых цифровых платформ // Компоненты и технологии. 2013. № 10.
  16. Бугров В. Н. Проектирование цифровых фильтров методами целочисленного нелинейного программирования // Вестник ННГУ. 2009. № 6.

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

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