Синтез БИХ-фильтров малой сложности с характеристиками, близкими к гауссовой функции

№ 11’2013
PDF версия
Статья посвящена синтезу полосовых БИХ-фильтров с характеристиками, близкими к гауссовой функции. Применена аппроксимация Бесселя для получения аналогового фильтра прототипа с последующим его билинейным преобразованием в цифровой эквивалент. Для того чтобы найти решения малой сложности с квантованными коэффициентами, использован метод вариации исходных параметров. Представлены примеры синтеза фильтров для каскадной структуры. Полученные решения соответствуют заданным требованиям к АЧХ, ФЧХ, ХГВЗ и намного проще тех, что найдены методом нелинейного целочисленного программирования. Эффект достигается уменьшением порядка фильтров, более простым представлением передаточной функции, минимизацией длины слова коэффициентов и заменой умножителей на сумматоры и элементы сдвига.

Введение

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

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

Проблема синтеза БИХ-фильтров, в частности, с характеристиками, близкими к гауссовой кривой, при ограниченной длине слова коэффициентов сводится к задаче целочисленного нелинейного программирования (ЦНП). Следует заметить, что этой проблеме в литературе на протяжении уже более 40 лет уделяется большое внимание. Предложены различные алгоритмы синтеза применительно, как правило, к каскадным и волновым решетчатым фильтрам. Синтез направлен на получение фильтров нижних частот, полосовых и другого вида, обычно со стандартными АЧХ. Имеются также работы, например [1–4], в которых затронута проблема получения приемлемых АЧХ и ХГВЗ или ФЧХ, а в недавно опубликованных статьях [5–7] задача решается для каскадной структуры на звеньях прямой формы с произвольно заданными АЧХ, ФЧХ и ХГВЗ. При этом в [5, 6] особое внимание уделено синтезу полосовых фильтров с АЧХ, близкими к гауссовой функции, и приемлемыми ФЧХ и/или ХГВЗ. Возможности своего алгоритма ЦНП авторы проиллюстрировали на конкретных примерах.

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

 

Задача синтеза БИХ-фильтров и ее решение

Согласно [5, 6] АЧХ синтезируемого БИХ-фильтра N‑го порядка с целочисленными коэффициентами должна быть приближена к гауссовой функции:

в полосе по уровню n со среднеквадратичной ошибкой не более σv, а вне этой полосы возможные всплески АЧХ должны быть ниже заданного уровня. Кроме того, нелинейность ФЧХ и неравномерность ХГВЗ в полосе пропускания Δf по уровню 0,707 не должны превышать заданных допустимых значений, и фильтр должен быть устойчивым, то есть все его полюсы должны лежать внутри единичной окружности z‑плоскости.

В выражении (1) параметры f и f0 — текущая и центральная частоты. Предполагается, что фильтр реализуется по каскадной структуре с передаточной функцией четного порядка вида:

Авторы [5, 6], для того чтобы найти целочисленные коэффициенты aki и bki в (2), для которых удовлетворяются описанные выше требования, минимизировали соответствующую многокритериальную целевую функцию с помощью алгоритма ЦНП.

Следует отметить, что проблема масштабирования уровня сигналов в полосе пропускания на выходе каждого звена фильтра решена в [5, 6] неудачно. После каждого звена в составе фильтра необходимо поддерживать уровень, близкий к некоторому заданному, что не всегда наблюдается для решений, полученных в [5, 6]. Однако, судя по экспериментальным результатам, приведенным в [6], этот факт в конкретном приложении не создает проблемы, связанной с уменьшением динамического диапазона, несмотря на сильно заниженный уровень между некоторыми звеньями фильтра. В общем случае ситуацию можно исправить, например умножая коэффициенты числителей полученной H(z) на масштабные множители, равные степени числа два и рассчитанные согласно выбранной Lp-норме для контроля уровней на выходе звеньев.

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

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

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

Как видим, в (3) и (4) коэффициенты b0i представляют собой масштабные множители. Их расчет и квантование часто осуществляют исходя из ограничения максимальных коэффициентов передачи от входа фильтра до выхода каждого звена заданным значением (обычно единицей), что можно проводить после нахождения всех aki в H(z). Такое масштабирование соответствует ограничению L-нормы. Для упрощения реализации фильтра множители b0i целесообразно положить равными степени числа два.

Таким образом, с помощью метода ВИП требуется найти квантованные коэффициенты знаменателей в (3) или (4), при которых удовлетворяются следующие допуски на контролируемые параметры:

σv ≤ σvmax,

Δj ≤ Δjmax,                        (5)

Δτ ≤ Δτmax.

Коэффициенты фильтров Бесселя можно представить как функции исходных параметров, а именно полосы пропускания (или неравномерности АЧХ в этой полосе) и центральной частоты. Таким образом, размерность задачи оптимизации равна всего двум независимо от порядка N. Определив исходные параметры, при которых удовлетворяются условия (5) для фильтра с квантованными коэффициентами, мы решим поставленную задачу. В алгоритме ВИП исследуется конечное число вариантов решений [8]. Задача считается выполненной, если найдено первое допустимое решение. Однако для рассмотренных далее примеров мы проанализируем все допустимые решения и выберем из них то, для которого sv минимально. Сложную целевую функцию [5–7] также можно использовать.

В процессе вариации исходных параметров и квантования коэффициентов в алгоритме возможно появление неустойчивых решений, когда не выполняется хотя бы одно из условий |a1i|–1 < a2i < 1, i = 1, 2, …, N/2. Такие решения отбрасываются до оценки контролируемых параметров.

Среднеквадратическую ошибку оценим как:

где A(f) — АЧХ фильтра, a A0 — нормирующий коэффициент. Мы положим , хотя желательно было бы

подобрать A0 в окрестности  (или A(f0) для простоты) с тем, чтобы не пропустить в алгоритме приемлемые, а возможно, и несколько лучшие текущие оценки σv.

Неравномерность ХГВЗ в полосе Δf определим как:

где τ(f) — ХГВЗ;

а нелинейность ФЧХ в этой же полосе как:

где δ(f) = j(f)–K360(ff0)–j(f0) — характеристика отклонения ФЧХ j(f) от прямой; |δ(f)|+ определяется для δ(f) ≥ 0, а |δ(f)| для δ(f) < 0; K — действительная константа, которую подбирают так, чтобы Δj, выраженная в градусах, была минимальной.

Оценки параметров σv, Δj, Δτ и проводятся для определенного числа частотных точек R. Алгоритм ВИП оперирует с действительными десятичными коэффициентами, необходимое квантование которых в ходе поиска решения осуществляется согласно требуемой длине слова мантиссы коэффициентов в их двоичном представлении с фиксированной точкой. Квантование коэффициента C выполняется как:

[C/q]q,

где [C/q] — операция округления C/q до ближайшего целого; q = 2M — шаг квантования; M — длина слова мантиссы.

 

Примеры синтеза фильтров

Эффективность алгоритма ВИП проиллюстрируем на конкретных примерах синтеза БИХ-фильтров с АЧХ, близкими к гауссовой функции, по требованиям из [5, 6]. Все оценки контролируемых параметров в (5) выполним для 500 частотных точек.

Пример 1

Этот пример был рассмотрен в [5]. Параметры гауссовой функции (1) следующие: f0 = 8 кГц и Δf = 1,5 кГц. Частотные характеристики синтезируемого фильтра, оперирующего с частотой дискретизации fs = 60 кГц, должны соответствовать допускам, представленным во второй колонке таблицы 1. Там же приведены результаты, полученные алгоритмом ВИП при N = 6 и N = 12 и алгоритмом ЦНП при N = 12. Значения параметров в пятой колонке таблицы 1 уточнены нами по коэффициентам из [5]. Заметим, что все a0i из [5] не равны степени числа два, что желательно иметь при реализации фильтра [6, 7].

Таблица 1. Допуски на параметры фильтра и результаты синтеза

Параметры

Допуски

Алгоритм ВИП

Алгоритм ЦНП [5], N = 12, M = 15

N = 6, M = 5

N = 12, M = 4

σ0,1

≤0,05

0,026

0,031

0,058

Δj, °

≤5

0,79

0,46

1

Δτ, мс

≤0,04

0,038

0,019

0,025

Найденные с помощью алгоритма ВИП квантованные коэффициенты (3) представлены в таблице 2. Соответствующие АЧХ, характеристика отклонения ФЧХ от прямой (δ(f) в (6)) и ХГВЗ, подтверждающие данные таблицы 1 для случая N = 6, показаны на рис. 1.

Частотные характеристики БИХ-фильтров: АЧХ и характеристика отклонения ФЧХ от прямой; в) ХГВЗ

Рис. 1. Частотные характеристики БИХ-фильтров:
a) АЧХ;
б) характеристика отклонения ФЧХ от прямой; в) ХГВЗ

Кроме того, на рис. 1а приведена кривая Гаусса и АЧХ фильтра с N = 12 для коэффициентов, представленных в таблице 2.

Таблица 2. Коэффициенты двух БИХ-фильтров

N

i

a1i

a2i

b0i

6

1

–1,125

0,84375

0,0625

2

–1,34375

0,84375

0,125

3

–1,21875

0,8125

0,125

12

1

–1,0625

0,875

0,0625

2

–1,5

0,875

0,25

3

–1,125

0,8125

0,0625

4

–1,375

0,8125

0,25

5

–1,25

0,8125

0,125

6

–1,1875

0,75

0,125

На рис. 1 для сравнения показаны также характеристики фильтра из [5], параметры которых соответствуют значениям в пятой колонке таблицы 1. Все АЧХ на рис. 1а нормированы относительно A0.

Согласно таблице 1 полученные с помощью алгоритма ВИП фильтры соответствуют допускам и существенно проще фильтра [5], особенно при реализации на ПЛИС, так как имеют меньшие значения N, М или только M, а также меньшее число коэффициентов (в [5] b1i 0, b2i b0i, i = 1, 2, …, 6). Кроме того, дополнительное упрощение достигается равенством всех b0i степеням числа два. Целочисленную версию квантованных коэффициентов из таблицы 2 легко получить делением их на q = 2M. Очевидно, что непосредственное использование этой версии предполагает замену всех единичных коэффициентов в (3), обозначенных в (2) как a0i, на 1/q.

Можно убедиться, что для найденных нами решений при N = 6 максимальные коэффициенты передачи от входа фильтра до выхода 1‑го, 2‑го звена и самого фильтра равны 0,8, 0,69 и 0,9 соответственно, а при N = 12 коэффициенты передачи равны 1, 0,93, 0,57, 0,71, 0,78 и 0,78. При желании для каждого из фильтров эти значения можно приблизить к 1 при более аккуратном представлении b0i (например, суммой двух степеней числа два), не искажая при этом формы всех трех контролируемых частотных характеристик, но несколько улучшая соотношение сигнал/(шум округления) на выходе.

В таблице 3 представлен возможный алгоритм синтезированного каскадного БИХ-фильтра для коэффициентов из таблицы 2 при N = 6. Как видим, разностные уравнения звеньев могут быть реализованы с применением лишь операций суммирования и сдвига. Здесь xn и yn — входной и выходной сигналы фильтра, а un и vn — сигналы между первым/вторым и вторым/третьим звеньями. Алгоритм экономичен в реализации на заказных или полузаказных СБИС. При параллельной обработке сдвиг не требует аппаратных и временных затрат. Для реализации алгоритма необходимо 17 сумматоров. Можно убедиться, что быстродействие соответствующей структуры фильтра определяется временем выполнения 14 или пяти этапов суммирования. Вторая цифра соответствует введению дополнительных задержек между звеньями.

Таблица 3. Алгоритм каскадного БИХ-фильтра 6‑го порядка

i

Разностные уравнения звеньев

1

un = xn/16–xn–2/16+(8+1)(un–1/8–un–2/16–un–2/32)

2

vn = un/8–un–2/8+(32–4–1)(vn–1/32–vn–2/32)+vn–1/2

3

yn = vn/8–vn–2/8+(8+4+1)(yn–1/16+yn–1/32–yn–2/16)

Пример 2

Этот пример был рассмотрен в [6]. Параметры гауссовой функции (1) следующие: f0 = 0,5 кГц и Δf = 0,025 кГц. Частотные характеристики синтезируемого фильтра, оперирующего с fs = 2 кГц, должны соответствовать допускам, представленным во второй колонке таблицы 4. В ней же приведены результаты, полученные алгоритмом ВИП при N = 8 и N = 16 и алгоритмом ЦНП при N = 16. Значения параметров в пятой колонке таблицы 4 уточнены нами по коэффициентам из [6].

Таблица 4. Допуски на параметры фильтра и результаты синтеза

Параметры

Допуски

Алгоритм ВИП

Алгоритм ЦНП [6],
N = 16, M = 12

N = 8,
M = 6

N = 16,
M = 6

σ0,01

≤0,02

0,015

0,0097

0,03

Δj, °

≤2

0,12

0,58

0,54

Δτ, мс

0,4

0,55

1,02

Найденные с помощью алгоритма ВИП квантованные коэффициенты (4) представлены в таблице 5. Соответствующие АЧХ, характеристика отклонения ФЧХ от прямой и ХГВЗ, подтверждающие данные таблицы 4 для случая N = 8, показаны на рис. 2.

Частотные характеристики БИХ-фильтров: АЧХ и характеристика отклонения ФЧХ от прямой; в) ХГВЗ

Рис. 2. Частотные характеристики БИХ-фильтров:
a) АЧХ;
б) характеристика отклонения ФЧХ от прямой; в) ХГВЗ

Кроме того, на рис. 2а приведены кривая Гаусса и АЧХ фильтра с N = 16 для коэффициентов таблицы 5. Мы наблюдаем очевидную симметрию всех этих характеристик из-за того, что центральная частота равна четверти частоты дискретизации. Этот факт приводит также к равенству или равенству с точностью до знака коэффициентов знаменателей в (4) для пар звеньев (табл. 5). Учет этой особенности может сильно ускорить работу алгоритмов ЦНП благодаря сокращению числа переменных.

Таблица 5. Коэффициенты двух БИХ-фильтров

N

i

a1i

a2i

b0i

8

1

0,09375

0,921875

0,0625

2

–0,09375

0,921875

0,125

3

0,03125

0,890625

0,125

4

–0,03125

0,890625

0,125

16

1

0,171875

0,921875

0,0625

2

–0,171875

0,921875

0,25

3

0,109375

0,890625

0,125

4

–0,109375

0,890625

0,25

5

0,0625

0,875

0,125

6

–0,0625

0,875

0,25

7

0,015625

0,859375

0,125

8

–0,015625

0,859375

0,125

На рис. 2 для сравнения показаны также характеристики фильтра из [6]. Все АЧХ на рис. 2а нормированы относительно A0, за исключением АЧХ этого фильтра, для которого , а значению σv, указанному в таблице 4, соответствует A0 = 1. Как было отмечено ранее, желательно подобрать A0. Так, например, если выполнить это для данного фильтра, то получим σv = 0,027 при A0 = 1,02. В других случаях возможно и более значительное влияние A0.

Согласно таблице 4 фильтры, найденные с помощью алгоритма ВИП, соответствуют допускам и существенно проще фильтра [6], особенно при реализации на ПЛИС, так как имеют меньшие значения N, М или только M, а также меньшее число коэффициентов (в [6] b1i 0, b2i 0, i = 1, 2, …, 8). Как и в примере 1, дополнительное упрощение достигается равенством всех b0i степени числа два.

Можно убедиться, что для найденных нами решений при N = 8 максимальные коэффициенты передачи от входа фильтра до выхода 1‑го, 2‑го, 3‑го звена и самого фильтра равны 0,8, 0,53, 0,61 и 0,63 соответственно, а при N = 16 коэффициенты передачи равны 0,8, 0,58, 0,64, 0,63, 0,62, 0,92, 0,81 и 0,72.

В таблице 6 представлен возможный алгоритм синтезированного каскадного БИХ-фильтра для коэффициентов из таблицы 5 при N = 8. Как видим, разностные уравнения звеньев могут быть реализованы с применением операций суммирования и сдвига. Здесь xn и yn — входной и выходной сигналы фильтра, а un, vn и wn — сигналы между первым/вторым, вторым/третьим и третьим/четвертым звеньями.

Таблица 6. Алгоритм каскадного БИХ-фильтра 8‑го порядка

i

Разностные уравнения звеньев

1

un = xn/16–(1+2)un–1/32–un–2+(4+1)un–2/64

2

vn = un/8+(1+2)vn–1/32–vn–2+(4+1)vn–2/64

3

wn = vn/8–wn–1/32–wn–2+(8–1)wn–2/64

4

yn = wn/8+yn–1/32–yn–2+(8–1)yn–2/64

Для реализации требуется 18 сумматоров. Быстродействие соответствующей структуры фильтра определяется временем выполнения 12 или трех этапов суммирования. Вторая цифра соответствует введению дополнительных задержек между звеньями.

 

Заключение

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

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

Литература
  1. Radecki  J., Konrad  J., Dubois  E. Design of finite wordlength IIR filters with prescribed magnitude, group delay and stability properties using simulated annealing // ICASSP.1991. May.
  2. Yli-Kaakinen  J., Saramaki  T. An algorithm for the design of multiplierless approximately linear-phase lattice wave digital filters // ISCAS. 2000. May.
  3. Yli-Kaakinen  J., Saramaki  T. A systematic algorithm for the design of lattice wave digital filters with short-coefficient wordlength // IEEE Trans. on CAS-I. 2007. V. 54. No 8.
  4. Мингазин  А. Резервы классических аппроксимаций цифровых БИХ-фильтров // Современная электроника. 2012. № 9.
  5. Бугров  В. Н., Лупов  С. Ю., Земнюков  Н. Е., Корокозов  М. Н. Дискретный синтез цифровых рекурсивных фильтров // Вестник ННГУ. 2009. № 2.
  6. Бугров  В. Н. Целочисленное проектирование гауссовых цифровых фильтров // Вестник ННГУ. 2012. № 3.
  7. Артемьев  В., Бугров  В. Синтез рекурсивных цифровых фильтров с линейной фазой // Компоненты и технологии. 2013. № 7.
  8. Мингазин  А. Т. Синтез цифровых фильтров для высокоскоростных систем на кристалле // Цифровая обработка сигналов. 2004. № 2.

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

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