УДК 621.396 DOI:10.31854/1813-324X-2021-7-2-8-17
Динамическое квантование коэффициентов
цифрового фильтра
В.Н. Бугров1*
Нижегородский государственный университет им. Н.И. Лобачевского, Нижний Новгород, 603022, Российская Федерация *Адрес для переписки: [email protected]
Информация о статье
Поступила в редакцию 11.05.2021 Принята к публикации 01.06.2021
Ссылка для цитирования: Бугров В.Н. Динамическое квантование коэффициентов цифрового фильтра // Труды учебных заведений связи. 2021. Т. 7. № 2. С. 8-17. DOI:10.31854/1813-324X-2021-7-2-8-17
Аннотация: Рассматривается возможность квантования коэффициентов цифрового фильтра в концепции динамического математического программирования, как процесса пошагового квантования коэффициентов с их дискретной оптимизацией на каждом шаге по общей для всего процесса квантования целевой функции. Динамическое квантование позволяет существенно уменьшить функциональную ошибку реализации требуемых характеристик малоразрядного цифрового фильтра в сравнении с классическим квантованием. Приводится алгоритм пошагового динамического квантования методами целочисленного нелинейного программирования с учетом заданного масштабирования сигнала и радиуса полюсов передаточной функции фильтра. Иллюстрируется эффективность применения данного подхода на примере динамического квантования коэффициентов каскадного полосно-пропускающего БИХ-фильтра высокого порядка с минимальной разрядностью представления целочисленных коэффициентов. Проведен сравнительный анализ функциональных ошибок квантования, а также проверка работоспособности квантованного фильтра на тестовом и реальном сигналах.
Ключевые слова: цифровой фильтр, квантование, динамическое программирование, дискретный синтез, целевая функция.
Введение точностью, поэтому на стадии реализации фильтра
К основным эффектам конечной разрядности необходима пр°цедура квантования его коэффици-
представления данных в системах цифровой филь- ентов, которая в формате фТ осуш,ествляется сле-
трации относится погрешности характеристик, дуюШим образом: для заданной длины битового
обусловленные квантованием коэффициентов представления Я целочисленный код (квант) веще-
цифрового фильтра. Наиболее часто в алгоритме ственного неквантованного коэффициента х1 6 Еп
цифровой фильтрации используются вычисления в варианте округления до ближайшего целого
в формате с фиксированной точкой (ФТ), когда все (rоund) равен целой части выражения в скобках: переменные цифрового алгоритма являются дроб- х|п: = ¡п1-(х. . 2й + 0 5) (1)
ными вещественными числами, принадлежащими '
диапазону от -1 до 1-2-Я, где Я - число значащих би- а в варианте усечения (Агаф он равен: тов, используемых для двоичного представления х^ — т1(х 2й) числа [1-3]. Таким образом, заданным числом дво- ' 1
ичных разрядов можно реализовать только дис- Тогда вещественный квант данного коэффици-
кретный ряд определенных значений коэффициен- ента определяется по выражению: тов фильтра в интервале | XI | < 1,0, где ¡п:
Х(х1,х2,...,х1,..хп) - совокупный вектор коэффи- х-Хоа: =—_, (2)
циентов цифрового фильтра. Однако аналитиче- ' 2Й
ский расчет коэффициентов, например, преобразо- а ошибка квантования коэффициента составляет:
ванием аналогового прототипа БИХ-фильтра, мето- 1оа1
дом окна или частотной выборки для КИХ- е1 = Х1 — Х1 . (3)
фильтра, осуществляется в непрерывном п-мерном
вещественном пространстве Еп с неограниченной
В рамках статистической модели [2] ошибки квантования коэффициентов считаются равномерно распределенными случайными величинами с нулевым средним значением. Такая статистическая модель позволяет рассчитать дисперсию шума квантования коэффициентов и их статистическую разрядность, необходимую для выполнения определенных функциональных требований. При этом каждому типу цифрового фильтра, его порядку и структуре построения свойственны различные статистические характеристики квантования коэффициентов. Ошибки квантования в классическом аналитическом проектировании приводят к искажению частотных характеристик и необходимости масштабирования коэффициентов фильтра. В рекурсивных структурах возможны также появления предельных циклов.
Однако ошибку квантования можно устранить, осуществив дискретизацию параметрического пространства коэффициентов фильтра только теми значениями, при которых ошибки квантования (3) равны нулю. Математическое задание квантованного пространства при этом возможно как вещественным (2), так целочисленным ее кодом (1). Фильтры, использующие вещественную арифметику вычислений и дискретизацию коэффициентов, принято называть квантованными вещественными цифровыми фильтрами (ВЦФ), а фильтры, использующие целочисленную арифметику вычислений и дискретизацию параметров - целочисленными цифровыми фильтрами (ЦЦФ). Вариант целочисленного представления является более универсальным и практически значимым, так как ЦЦФ имеют минимальную вычислительную сложность и могут быть реализованы на любой цифровой платформе (MCU, DSP, FPGA) без наличия FPU-сопроцессора (от англ. Fating Pоint Unit) в структуре вычислителя. Разрядность такого представления определяется интервалом изменения целочисленных коэффициентов фильтра, что практически весьма удобно при реализации алгоритма динамического квантования коэффициентов. При необходимости целочисленное решение легко преобразовать в вещественное квантованное решение формата ФТ, используя для этого их однозначную связь через соотношение (2). Формирование целочисленного кода часто называют нормализацией коэффициентов фильтра, когда в дискретном п-мерном пространстве /д формируется вектор целочисленных коэффициентов /X(ixx, ix2,..., ixt,.. ixn), квантованных с заданной разрядностью R их представления.
Ошибки квантования коэффициентов (3) вызывают, как уже сказано выше, соответствующую функциональную ошибку ДЯ^, ошибку реализации требуемой характеристики цифрового фильтра. Для дискретного табулированного представления характеристики наиболее часто функцио-
нальная ошибка выполнения требований формируется по критерию среднеквадратичного отклонения (СКО):
p
= 1- £ [ Y«(IX) - rfcT ] 2, ^ fc=i
(4)
где У® (IX) - текущее значение характеристики фильтра на к-й дискретной частоте диапазона определения для заданной разрядности Я представления коэффициентов, а - требуемое значение частотной характеристики фильтра.
В некоторых случаях функциональную ошибку выгодно формировать и по критерию максимальной ошибки:
АН,
О)
= max
|^(IX)
yT| Гк |
Функциональная ошибка (4) будет, естественно, возрастать с понижением разрядности представления коэффициентов и ограничивать тем самым минимальную разрядность коэффициентов допустимым уровнем ошибки реализации требуемой характеристики. В классическом квантовании ошибки (3) и (4) определяют порог разрядного представления коэффициентов при реализации цифрового фильтра на конкретной цифровой платформе.
Приведенный алгоритм описывает классический «статический» механизм квантования коэффициентов фильтра, квантования в один проход, когда дальнейшее уменьшение разрядности вызывает уже недопустимую функциональную ошибку выполнения требований.
Однако существенное уменьшение функциональной ошибки (4) можно обеспечить применением «динамического» механизма квантования коэффициентов на основе динамического программирования [4, 5], как раздела оптимального программирования, в котором процесс решения общей задачи может быть разбит на отдельные этапы (шаги), причем результаты решения на одном этапе процесса квантования существенно влияют на последующие шаги. Принцип оптимальности Р. Беллмана, являющийся основным содержанием динамического программирования, гарантирует, что решение на любом шаге не локально лучше, а лучше с точки зрения процесса квантования коэффициентов в целом.
Алгоритм динамического квантования
Рассмотрим алгоритм динамического квантования на примере квантования коэффициентов нормализованного БИХ-фильтра, состоящего из каскадного соединения т-звеньев второго порядка (т = N/2, где N - порядок фильтра^, с передаточной функцией [6, 7]:
boi + buz 1 + b2iZ-
+ a^z-1 + a.2i z-
2
(5)
к
m
l = 1
где комплексная переменная 2 при переходе к описанию частотной характеристики К(е-*шТ) = = 1к(е^шТ)1 ■ принимает значение г = ,
где Т - период дискретизации.
Квантование коэффициентов комплексного коэффициента передачи (5) при этом осуществляется целочисленным кодом (1). Тогда разностное уравнение для одного звена второго порядка имеет вид:
Уп
(b0xn + b1xn-1
-2 а1Уп-1
где хп,уп - целочисленные входная и выходная временные последовательности; а0 - нормирующий pоwer-оf-twо коэффициент:
l0i
е { 2q } , q = 0,R i = l,m.
На рисунке 1 приведена типичная структура звеньев целочисленного БИХ-фильтра, соответствующая разностному уравнению (6).
Рис. 1. Структура рекурсивного звена
Fig. 1. Structure of a Recursive Section
Как видно, при вычислении отклика фильтра, кроме традиционных операций сложения, умножения и задержки на такт, присутствует операция сдвига на B = 1од2ао бит, с помощью которой реализуется целочисленное деление на нормирующий pоwer-оf-twо коэффициент.
На рисунке 2 показана общая блок-схема алгоритма динамического пошагового квантования коэффициентов ЦЦФ как последовательности поисковых задач с поэтапным понижением разрядности R представления коэффициентов фильтра вплоть до требуемого малоразрядного их представления RT = Rmin.
На первом, стартовом этапе неквантованные вещественные коэффициенты X £ Еп сначала квантуются целочисленным кодом (1) со стартовой высокой разрядностью Rmgx = 16 бит (блоки 1-3), формируя тем самым дискретное целочисленное решение на квантованном множестве коэффициентов IX £ IRmax с соответствующей функциональной ошибкой квантования (4).
Затем на этом дискретном множестве ставится задача оптимизации дискретных коэффициентов данной разрядности (блок 4) по общей для всех
этапов динамического квантования целевой функции (4), как задачи целочисленного нелинейного программирования (блок 4), которая для каскадного БИХ- фильтра с передаточной функцией (5) записывается так [6]:
Fo (\XR) = min F(\Xr), \Xr е IRSm,
, (6)
- 2R< adi < 2R, 2R < bdi < 2r,
d = 1,2, i = 1,m
d = 1,2, i = 1,m
(8) (9)
е { 2q } , q = 0,R i = 1,m ,
Ki\ <
i = 1,m ,
Kmin < \К1(е'шТ)\ < Km
(10)
_ (11)
i = T/m , (12)
(7)
где ^(1ХЙ) - целевая функция; d - индекс коэффициента передаточной функции (5); Гтах - допустимый максимальный радиус полюсов; К/т™ , К/тах -допустимые границы изменения коэффициента усиления /-го звена.
Рис. 2. Структура динамического квантования
Fig. 2. Dynamic Quantization Framework
Задача пошаговой дискретной оптимизации (8) записана относительно целочисленного пространства коэффициентов размерностью 5m. Решение ее невозможно традиционными аналитическими методами [1, 8-10], а численное решение в дискретном квантованном пространстве коэффициентов формата ФТ возможно только применением сеточных алгоритмов поисковой минимизации, когда дискретность сетки поиска задается числом двоичных разрядов R, которыми в кодовом пространстве отображается каждая i-я переменная. Этим требованиям вполне отвечает поисковый алгоритм гло-
а
0
а
г.
бальной минимизации полимодальных целевых функций на детерминированной сетке [11]. При этом выполнение функциональных ограничений устойчивости (11) по всем полюсам коэффициента передачи с радиусами, не выше rmаx , а также масштабирования усиления (12) в каскадной структуре реализуется применением штрафных функций [11, 12]. Малые потери на поиск и высокая надежность отделения глобального экстремума в квантованном параметрическом пространстве являются характерными достоинствами данного алгоритма.
При этом необходимо заметить, что квантование коэффициентов на текущем шаге (блок 3) обычно не приводит к потере глобального экстремума общей целевой функции и в зоне притяжения глобального экстремума осуществляется лишь оптимизации, подстройка дискретных параметров с новой разрядностью их представления.
Далее в блоке 5 производится проверка соответствия текущей разрядности квантования Я с требуемой минимальной разрядностью Ят и в случае несоответствия осуществляется понижение разрядности представления коэффициентов (блок 6) с последующим их квантованием и оптимизацией на новом дискретном множестве (блоки 3 и 4) также по общей для всех этапов динамического квантования целевой функции ошибки (4). Пересчет целочисленных коэффициентов разрядности Ь в разрядность представления М при этом осуществляется по следующей простой формуле х]П' = х™' х х 2М-Ь. Так при понижении разрядности на 1 бит мы имеем хЩ-! = х™'/2. Точно так же пересчитыва-ются и границы нового дискретного множества целочисленных коэффициентов. Таким образом, решение на текущем этапе динамического квантования является стартовой точкой этапа последующего. Цикл повторяется до достижения требуемой минимальной разрядности представления коэффициентов, после чего осуществляется выявление оптимального малоразрядного решения, обеспечивающего допустимый уровень ухудшения функциональных характеристик фильтра, и проводится анализ этого решения во временной и частотной областях. Процесс завершается формированием итогового протокола динамического квантования коэффициентов цифрового фильтра (блоки 7 и 8 общей диаграммы).
Таким образом, процесс динамического квантования состоит из этапов последовательного понижения разрядности коэффициентов с формированием дискретного множества коэффициентов текущей разрядности /д с последующим решением задачи дискретной оптимизации коэффициентов на этом множестве по критерию общей функциональной ошибки реализации требований. Характерно, что дискретные множества, формируемые на этапах динамического квантования, являются
вложенными подмножествами исходного дискретного множества коэффициентов с максимальной разрядностью:
Rmin
< f"
< ,п
< in
<
< jn 'Rmax-
Это означает, что любое малоразрядное решение всегда может быть реализовано и на цифровой платформе большей разрядности с той же функциональной ошибкой выполнения требований. Обратное же утверждение, естественно, несправедливо.
Динамическое квантование коэффициентов БИХ-фильтра
Рассмотрим пример квантования методом динамического программирования коэффициентов исходного синтезированного полосно-пропускаю-щего БИХ-фильтра при целочисленном описании его квантованного варианта. В итоге необходимо определить минимальную разрядность квантования коэффициентов, при которой выполняются следующие спецификационные требования к функциональным показателям фильтра:
- полоса пропускания: 400-700 Гц;
- коэффициент передачи в полосе пропускания: 0 дБ с допуском ±1 дБ;
- уровень подавления на частотах ниже 200 и выше 900 Гц: 40 дБ;
- нелинейность фазы в полосе: 10°;
- порядок рекурсивного фильтра: 20;
- максимально допустимый радиус полюсов: 0,9;
- масштабирование коэффициентов передачи звеньев в интервал {1-4};
- частота дискретизации: 2 кГц;
- программная реализация на микроконтроллере с целочисленным RISС-ядром.
График требуемой АЧХ полосно-пропускающего фильтра (ППФ) приведен на рисунке 6а (выделен красным цветом), а исходные неквантованные вещественные его коэффициенты указаны в таблице 1 (где т - звено фильтра; и - усиление звена Ктах. Приведенные выше требования спецификаций в неквантованном ППФ выполнялись с большим запасом.
Осуществим сначала классическое квантование коэффициентов данного фильтра в варианте округления по соотношению (1) последовательно до минимальной разрядности их представления 3 бита, фиксируя функциональную ошибку (4) реализации требуемой АЧХ (таблица 2, где 5 - ДНклас; п - ДНдин). Из таблицы видно, что разброс квантования по функциональной ошибке превосходит два порядка (рисунок 3а), поэтому график соответствующей зависимости для наглядности представлен и в логарифмическом масштабе (рисунок 3Ь). Необходимо заметить, что в таблице и графиках разрядность квантования целочисленных коэффициентов указана уже с учетом знакового бита.
ТАБЛИЦА 1. Оптимальные коэффициенты неквантованного фильтра
TABLE 1. Optimal Coefficients of a Non-Quantized Filter
m Коэффициенты передаточной функции U
а1 а2 be b1 b2
1 0,414917 0,658203 -0,307983 -0,031860 0,408936 2,1
2 -0,227051 0,469971 -0,072266 -0,815430 -0,235840 1,7
3 0,994995 0,667725 -0,195679 0,709595 0,403198 2,8
4 -0,672852 0,654785 0,170898 -0,992065 0,805298 2,6
5 -0,659668 0,872803 0,979980 -0,740967 0,605591 3,3
6 0,999878 0,675537 0,267944 0,144287 0,552612 1,7
7 0,998901 0,673584 0,729492 0,438477 0,266235 1,6
8 -0,144653 0,528687 0,160278 0,008057 -0,501831 1,4
9 -0,015869 0,409546 0,085083 0,742798 0,532715 1,5
10 -0,130493 0,146484 0,320435 -0,722900 0,250000 1,0
ТАБЛИЦА 2. Ошибки классического и динамического квантования
TABLE 2. Classical and Dynamic Quantization Errors
СКО Разрядность квантования, бит
НК 14 12 10 8 7 6 5 4 3
б 0,102 0,102 0,103 0,112 0,202 0,507 0,304 3,28 3,82 10,4
n 0,102 0,096 0,103 0,094 0,091 0,097 0,094 0,153 0,40 1,32
11 ■
9 -
Si 7-
Ю
I
о
S 5-
X _0
13 11-1 -
Кпассич -"- Динамич
6 8 10 12 Разрядность квантования, бит
а)
0,01
2
4
14
6 8 10 12 Разрядность квантования, бит b)
Рис. 3. Ошибки классического и динамического квантования в линейном (а) и логарифмическом (б) масштабе
Fig. 3. Errors of Classical and Dynamic Quantization in Linear (a) and Logarithmic (b) Scales
Можно также отметить, что случая потери устойчивости БИХ-фильтра при квантовании с округлением не наблюдалось, так как исходный некванто-ванный ППФ был синтезирован с хорошим запасом по устойчивости (радиусы полюсов не превышали 0,9), хотя в противном случае выход полюсов квантованного фильтра за единичную окружность на малой разрядности представления коэффициентов при классическом механизме квантования наблюдается довольно часто.
На рисунке 4 отражена модификация АЧХ квантуемого цифрового фильтра при понижении разрядности его коэффициентов. Осуществим теперь динамическое квантование коэффициентов исходного фильтра (таблица 1) по приведенному выше алгоритму и целевой функции (4) также последовательно от максимальной до минимальной 3-битовой разрядности их представления, фиксируя функциональную ошибку ДНдин реализации требуемой АЧХ в таблице 2. Графики динамической ошибки также представлены на рисунке 3, а соответствующая модификация АЧХ фильтра при квантовании отображена на рисунке 5.
2,30
0,001
R3
— R4
— R5
1 — R6
,1 — R8
_ R10
R14
Частота, Гц
а)
7,20
ДБ
40,0 200 Частота, Гц
b)
Рис. 4. Модификация АЧХ фильтра при классическом квантовании коэффициентов в линейной (а) и логарифмической (б) шкале
Fig. 4. Modification of the Frequency Response of the Filter with Classical Quantization of Coefficients in Linear (a) and Logarithmic (b) Scales
Из таблицы и приведенных графиков видно, что функциональная ошибка классического квантования резко возрастает, начиная с уровня 10-11 битового представления коэффициентов полосового БИХ-фильтра, в то время как ошибка динамиче-
2
4
14
нк
ского квантования имеет тенденцию к росту, только начиная с уровня 4-5 битового представления коэффициентов. Также можно отметить, что допустимому уровню 0,4 (отображен на рисунке 3Ь пунктиром) выполнения спецификационных требований по функциональной ошибке соответствует только 8-битовое решение при классическом квантовании, в то время как при динамическом квантовании для представления коэффициентов вполне достаточно 4-х бит. В таблице 3 приведены эти оптимальные значения целочисленных 4-битовых коэффициентов передаточной функции ППФ, а также достигнутый уровень его каскадного масштабирования. Графики частотных характеристик фильтра представлены на рисунке 6.
4e-04
Частота, Гц
a)
4,00 0
H
ДБ
-40,0
200
900
Частота, Гц b)
Рис. 5. Модификация АЧХ фильтра при динамическом квантовании коэффициентов в линейной (а) и логарифмической (б) шкале
Fig. 5. Modification of the Frequency Response of the Filter with Dynamic Quantization of Coefficients in Linear (a) and Logarithmic (b) Scales
Как видно, в полосе пропускания неравномерность АЧХ отквантованного ППФ составляла АК = 0,98 дБ, а фазовая нелинейность не превышала Дф = 5,5°, что полностью соответствует требованиям спецификации.
Вещественные 4-битовые коэффициенты формата 4.3 приведены в таблице 4. С помощью m-фай-ла данные коэффициенты загружались в пакет MATLAB для контрольного анализа характеристик отквантованного ППФ во временной и частотной области (рисунок 7). Видно, что при динамическом
квантовании полюса передаточной функции не вышли за границы допустимого максимального радиуса 0,9, а инерционность квантованного ППФ по задержке импульсного отклика составила 15 семплов.
ТАБЛИЦА 3. Оптимальные целочисленные коэффициенты фильтра
TABLE 3. Optimal Integer Filter Coefficients
m Коэффициенты передаточной функции U
Я1 а2 bo b1 b2
1 3 5 -2 3 3 1,9
2 -1 3 -7 -1 -1 1,3
3 7 4 -3 5 3 2,1
4 -4 4 0 -6 7 2.0
5 -5 6 7 -7 3 2.7
6 7 5 2 1 4 1,1
7 7 5 5 3 2 1,0
8 -2 4 1 -2 -4 1,4
9 0 1 -6 -5 2 1,4
10 -2 -1 -1 -4 7 1,1
5,00
К
ДБ
-40,0
I
1,03 Фаза
Рад
a)
-3,42
0 дБ
K = С ,98 д Б ; \
\
\
\
\\
// \
! \\
il \\
0 200 400 600 800 1000 Частота, Гц
\
Дф = 5,5o
\
400 Частота, Гц 700
b)
Рис. 6. Характеристики 4-битового ППФ: а) АЧХ; b) ФЧХ в полосе пропускания
Fig. 6. Characteristics of a 4-Bit BPF: a) Frequency Response; b) Phase Response in the Passband
Таким образом, анализ в пакете MATLAB полностью подтверждает квантованные характеристики полосового БИХ-фильтра.
п
ТАБЛИЦА 4. Квантованные вещественные коэффициенты 4-битового фильтра
TABLE 4. Quantized Real Coefficients of a 4-Bit Filter
Проведем модельное тестирование работоспособности данного 4-битового ППФ в пакете МАТЬАБ. Для этого на временном интервале 2 сек конструируем ЛЧМ-сигнал с девиацией вплоть до частоты Найквиста при fs = 2 кГц и пропускаем его через квантованный фильтр.
Результаты модельной фильтрации ЛЧМ-сигнала (рисунок 8) подтверждают полную работоспособность квантованного 4-битового ППФ.
Практическая реализация квантованного фильтра осуществлялась на многофункциональном микроконтроллере MSP430F1611 фирмы ТехаБ Instruments [13] с целочисленным RISC-ядром.
Экспериментальные частотные характеристики фильтра, измеренные на реальном сигнале при частоте дискретизации fs = 2 кГц, приведены на рисунке 9.
m Коэффициенты передаточной функции
а1 а2 be b1 b2
1 0,375 0,625 -0,250 0,375 0,375
2 -0,125 0,375 -0,875 -0,125 -0,125
3 0,875 0,500 -0,375 0,625 0,375
4 -0,500 0,500 0,000 -0,750 0,875
5 -0,625 0,750 0,875 -0,875 0,375
6 0,875 0,625 0,250 0,125 0,500
7 0,875 0,625 0,625 0,375 0,250
8 -0,250 0,500 0,125 -0,250 -0.500
9 0,000 0,125 -0,750 -0,625 0.250
10 -0,250 -0,125 -0,125 -0,500 0,875
5 0 -
-5 -
-10 -
3.-15 -
С
со
о -20 .
-25 -
-30 -
-35 --40
0 100 200 300 400 500 600 700 800 900 1000 Frequency
а)
о /Ч 1 1
о 1 о / Чу 1
-2 -1 0 Real Part
c)
-500 -600 -700
(Л
§8 -800 ТО -8
8 -900 g
jg-1000 -Si -1100
CL
-1200 -1300
500 550 Frequency
b)
0,4 0,3 0,2 0,1
0* • • • * •
— -0,1 -0,2 -0,3 -0,4
0
10
15 Samples
d)
20
25
Рис. 7. Характеристики ВЦФ: а) АЧХ; b) ФЧХ в полосе пропускания; с) карта нулей и полюсов в z-плоскости; d) импульсная
характеристика фильтра
Fig. 7. Real Filter Characteristics: a) Frequency Response; b) Phase Response in the Passband; c) Map of Zeros and Poles in the z-Plane;
d) Impulse Response of the Filter
0
-5
4
3
2
3
5
i
0,8 0,6 0,4
I 0,2
S 0
CP - -0,2
-0,4
-0,6
-0,8
-1
ДБ
2 г 0 --2 --4 --6 --8 --10 --12 --14 --16 --18 --20 --22 -24 -26 -28 -30 --32 --341 -36-38 L 100
CO
1
0,8 0,6 0,4
m 0,2 0 -0,2 -0,4 -0,6 -0,8 -1
0 0,2 0,4 0,6
0,8 1 Time, sec
а)
1,2 1,4 1,6 1,8 2
0
1500 2000 2500 Time, samples
b)
4000
Рис. 8. Входной ЛЧМ-сигнал (а) и его фильтрация квантованным ППФ (b)
Fig. 8. Input Signal (a) and its Filtering (b)
M Mv
200 300 400
500 600 Частота, Гц
700 800 900 1000
0,75 0,5 0,25 0 -0,25 -0,5 -0,75 -1 -1,25 -1,5 -1,75 -2 -2,25 -2,5 -2,75 -3 -3,25 -3,5 -3,75 -4 -4,244 N
\
N
\
ч
50 420 440 460 480 500 520 540 560 580 600 620 640 660 680 700 Частота, Гц
a) b)
Рис. 9. Экспериментальные измерения АЧХ (а) и ФЧХ (b) в полосе пропускания
Fig. 9. Experimental Measurements of the Frequency Response (a) and Phase Response (b) in the Passband
Исследование устойчивости фильтра по предельным циклам осуществлялось путем анализа выходного сигнала при нулевом входном сигнале. Анализ показал, что при максимальном радиусе полюсов 0,87 в 4-битовом ППФ предельные циклы отсутствуют. Таким образом, все функциональные требования при динамическом квантовании коэффициентов рекурсивного ППФ были выполнены.
Заключение
При проектировании высокоскоростных малоразрядных цифровых фильтров одной из основных задач является уменьшение ошибки реализации требуемых функциональных характеристик при уменьшении разрядности представления данных в алгоритме цифровой фильтрации. При классическом квантовании коэффициентов фильтра весьма существенные трудности возникают уже при квантовании коэффициентов до 8-10 бит, что подтверждается приведенными в статье данными.
Эти негативные последствия могут во многом быть устранены применением динамического программирования, как процесса пошагового квантования коэффициентов с их дискретной оптимизацией на каждом шаге по общей для всего процесса квантования целевой функции. Для приведенного в статье примера динамическое квантование коэффициентов позволило практически на порядок уменьшить функциональную ошибку реализации требуемых характеристик 4-битового цифрового БИХ-фильтра в сравнении с классическим статистическим квантованием. Современные алгоритмы минимизации на дискретной сетке с заданной разрядностью представления параметров позволяют решать динамическую задачу квантования надежно и эффективно, что позволяет проектировать цифровые фильтры минимальной разрядности представления данных в целочисленном или вещественном квантованном пространстве с полным контролем устойчивости и масштабирования каскадных БИХ-фильтров, существенно повысить качество проектируемых малоразрядных цифровых фильтров.
K
п
Список используемых источников
1. Ifeachor E.C., Jervis B.W. Digital Signal Processing: A Practical Approach. Harlow: Pearson Education, 2002. 640 р.
2. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов. Пер. с англ. М.: Мир, 1978. 840 с.
3. Мингазин А.Т. Анализ квантованных КИХ-фильтров // Цифровая обработка сигналов. № 4. 2019. С. 3-13.
4. Есипов Б.А. Методы оптимизации и исследования операций. Самара: Изд-во Самар. гос. аэрокосм. ун-та, 2007. 180 с.
4. Вентцель Е.С. Исследование операций. Задачи, принципы, методологии. М.: Наука, 1988. 208 с.
5. Бугров В.Н. Дискретный синтез минимально-фазовых и линейно-фазовых цифровых БИХ-фильтров // Компоненты и технологии. 2019. № 10(219). С. 92-103.
6. Бугров В.Н., Пройдаков В.И., Артемьев В.В. Синтез цифровых фильтров методами целочисленного нелинейного программирования // 17-я международная конференция «Цифровая обработка сигналов и её применение - DSPA-2015»: тезисы докладов. М.: НТО РЭС им. А.С. Попова, 2015. С. 200-204.
7. Мингазин А.Т. Минимум максимальной взвешенной ошибки аппроксимации АЧХ классических аналоговых и цифровых фильтров // Цифровая обработка сигналов. 2018. № 4. С. 18-20.
8. Getu B.N. Digital IIR Filter Design using Bilinear Transformation in MATLAB // International Conference on Communications, Computing, Cybersecurity, and Informatics (CCCI, Sharjah, United Arab Emirates, 3-5 November 2020). IEEE, 2020. DOI:10.1109/CCCI49893.2020.9256625
9. Zhang M., Kwan H.K. FIR filter design using multiobjective teaching-learning-based optimization // Proceedings of the 30th Canadian Conference on Electrical & Computer Engineering (CCECE, Windsor, Canada, 13-16 May 2018). IEEE, 2018. DOI:10.1109/CCECE.2017.7946800
10. Воинов Б.С., Бугров В.Н., Воинов Б.Б. Информационные технологии и системы: поиск оптимальных, оригинальных и рациональных решений. М.: Наука, 2007. 730 с.
11. Zаngwill W.I. Nоn-lineаr programming viа penаlty functus // Mаnаgement Science. 1967. Vоl. 13. Iss. 5.
12. Семенов Б.Ю. Микроконтроллеры MSP430. Первое знакомство. М.: Изд-во «Солон-пресс», 2006. 180 с.
* * *
Dynamic Quantization of Digital Filter Coefficients
V. Bugrov1
*N.L Lobachevsky State University of Nizhni Novgorod, Nizhni Novgorod, 603022, Russian Federation
Article info
DOI:10.31854/1813-324X-2021-7-2-8-17 Received 11th May 2021 Accepted 1st June 2021
For citation: Bugrov V. Dynamic Quantization of Digital Filter Coefficients. Proc. of Telecom. Universities. 2021;7(2):8-17. (in Russ.) DOI:10.31854/1813-324X-2021-7-2-8-17
Abstract: The possibility of quantizing the coefficients of a digital filter in the concept of dynamic mathematical programming, as a dynamic process of step-by-step quantization of coefficients with their discrete optimization at each step according to the objective function, common to the entire quantization process, is considered. Dynamic quantization can significantly reduce the functional error when implementing the required characteristics of a low-bit digital filter in comparison with classical quantization. An algorithm is presented for step-by-step dynamic quantization using integer nonlinear programming methods, taking into account the specified signal scaling and the radius of the poles of the filter transfer function. The effectiveness of this approach is illustrated by dynamically quantizing the coefficients of a cascaded high-order IIR bandpass filter with a minimum bit depth to represent integer coefficients. A comparative analysis of functional quantization errors is carried out, as well as a test of the quantized filter performance on test and real signals.
Keywords: the IIR-filter, quantization, dynamic programming, discrete synthesis, criterion function.
References
1. Ifeachor E.C., Jervis B.W. Digital Signal Processing: A Practical Approach. Harlow: Pearson Education; 2002. 640 p.
2. Rabiner R.L., Gold B. Theory and Application of Digital Signal Processing. New Jersey: Prentice-Hall, 1975.
3. Mingazin A.T. Analysis of Quantized Fir Filters. DSPA.2019:4:3-13. (in Russ.)
4. Esipov B.A. Optimization Techniques and Operations Research. Samara: Samara Aerospace University Publ.; 2007. 180 p. (in Russ.)
5. Ventcel E.C. Operations Research. Objectives, Principles, Methodologies. Moscow: Nauka Publ.; 1988. 208 p. (in Russ.)
6. Bugrov V.N. Discrete Synthesis of Minimum-Phase and Linear-Phase IIR Digital Filters. Components and Technolo-gies.2019;10(219):92-103. (in Russ.)
7. Bugrov V.N., Proidakov V.I., Artemev V.V. Synthesis of Digital Filters by Methods of Integer Nonlinear Programming. Proceedings of the 17-th International Conference "Digital Signal Processing and its Applications - DSPA-2015". Moscow: Russian Scientific and Technical Society of Radio Engineering, Electronics and Communications named after A.S. Popova Publ.; 2015. p.200-204. (in Russ.)
8. Mingazin A.T. Minimum-of-Maximum Weighted Error in Magnitude Response Approximation of Analog and Digital Classical Filters. DSPA. 2018;4:18-20. (in Russ.)
9. Getu B.N. Digital IIR Filter Design using Bilinear Transformation in MATLAB. Proceedings of the International Conference on Communications, Computing, Cybersecurity, and Informatics, CCCI, 3nd-5th November 2020, Sharjah, United Arab Emirates. IEEE; 2020. D0I:10.1109/CCCI49893.2020.9256625
10. Zhang M., Kwan H.K. FIR filter design using multiobjective teaching-learning-based optimization. Proceedings of the 30th Canadian Conference on Electrical & Computer Engineering, CCECE, 13-16 May 2018, Windsor, Canada. IEEE; 2018. D0I:10.1109/CCECE.2017.7946800
11. Voinov B.S., Bugrov V.N., Voinov B.B. Information Technology and Systems: Search for Optimal, Original and Rational Solutions. Moscow.: Nauka Publ.; 2007. 730 p. (in Russ.)
12. Zangwill W.I. Non-linear programming via penalty functions. Management Science. 1967;13(5).
13. Semenov B.U. Microcontrollers MSP430. The first acquaintance. Moscow: Solon-press Publ.; 2006. 180 p.
Сведения об авторе:
Владимир Николаевич
БУГРОВ
кандидат технических наук, доцент, доцент кафедры радиотехники Национального исследовательского Нижегородского университета им. Н.И. Лобачевского - ННГУ, [email protected]