Синтез нерекурсивных цифровых фильтров без умножителей

УДК 621.391

СИНТЕЗ НЕРЕКУРСИВНЫХ ЦИФРОВЫХ ФИЛЬТРОВ БЕЗ УМНОЖИТЕЛЕЙ А.В. Муратов, М.И. Спажакин, А.Б. Токарев

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

Ключевые слова: ПЛИС, КИХ фильтр без умножителей, цифровая обработка сигналов

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

Алгоритм синтеза КИХ фильтров на степенях числа 2 можно разделить на несколько этапов.

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

Этап 2. Представление коэффициентов фильтра в формате чисел с фиксированной точкой, выбор необходимой разрядности коэффициентов фильтра.

Этап 3. Представление коэффициентов фильтра в формате с фиксированной точкой в виде суммы степеней числа 2.

Этап 4. Реализация фильтра, предполагающая выбор структуры фильтра, разработку и реализацию умножителей на сдвигателях и сумматорах, компиляцию проекта, оценку требуемых ресурсов ПЛИС и максимального быстродействия блока фильтрации.

Для разъяснения деталей алгоритма ниже

Муратов Александр Васильевич - ВГТУ, д-р техн. наук, профессор, тел. +7(473)243-77-06

Спажакин Михаил Игоревич - ВГТУ, студент, e-mail: spazhakinmi@rambler.ru

Токарев Антон Борисович - ВГТУ, канд. техн. наук, доцент, тел. 89204665525

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

Реализация этапа 1. При синтезе фильтра в соответствии с рекомендациями [7] получен массив коэффициентов фильтра 24-го порядка в формате с плавающей точкой, представленный во втором столбце табл. 1. В таблице представлены первые 6 значащих цифр после запятой.

Таблица 1

Коэффициенты фильтра_

Номер коэффициента Формат представления коэффициентов

с плавающей точкой с фиксированной точкой

0 0.000351 0.000366

1 0.000531 0.000549

2 -0.002709 -0.002686

3 -0.009931 -0.009949

4 -0.009296 -0.009277

5 0.012031 0.012024

6 0.033633 0.033630

7 0.006749 0.006775

8 -0.065576 -0.065552

9 -0.077671 -0.077698

10 0.072352 0.072327

11 0.315411 0.315430

12 0.436738 0.436768

13 0.315411 0.315430

14 0.072352 0.072327

15 -0.077671 -0.077698

16 -0.065576 -0.065552

17 0.006749 0.006775

18 0.033633 0.033630

19 0.012031 0.012024

20 -0.009296 -0.009277

21 -0.009931 -0.009949

22 -0.002709 -0.002686

23 0.000531 0.000549

24 0.000351 0.000366

Реализация этапа 2. В соответствии с рекомендуемым к использованию соотношением

где N - разрядность модуля коэффициентов, АТ - минимальное затухание в полосе задерживания фильтра, выраженное в децибелах, выполняется выбор первоначального значения разрядности представления коэффициентов фильтра. Затем, с помощью алгоритма, блок-схема которого изображена на рис.1, производится поиск минимальной разрядности коэффициентов, при которой выполняются требования, предъявляемые к АЧХ фильтра. Сами коэффициенты на данном этапе представляются в виде

о)/2

где А - коэффициент фильтра в формате с плавающей точкой, Qi - коэффициент фильтра в формате с фиксированной точкой, N - разрядность модуля коэффициента, гоипС() - операция округления до ближайшего целого.

Рис. 1. Блок-схема ограничения разрядности коэффициентов

В анализируемом примере синтеза фильтра мониторингового приемника для обеспечения затухания в полосе задерживания не менее 75 дБ первоначальное значение разрядности модуля коэффициентов фильтра в соответствии с (1) берётся равным 16 бит, а минимальная разрядность модуля коэффициентов фильтра по итогам этапа 2 оказывается равной 14 бит (полученные коэффициенты с разрядностью 14 бит представлены в третьем столбце табл. 1).

Реализация этапа 3. В целях снижения аппаратных затрат на реализацию фильтра квантованные коэффициенты Qi фильтра, найденные на 2-ом этапе алгоритма, заменяются приближенными значениями вида

где Qi - квантованный коэффициент фильтра, найденный на 2-ом этапе алгоритма, К - максимальное число слагаемых, ш, и к] - подбираемая совокупность констант, е - максимальная ошибка представления коэффициента фильтра суммой слагаемых из степеней числа 2. Представление (3) предполагает возможность изменения знаков слагаемых за счет соответствующего выбора констант ш, что, как правило, позволяет получать ошибку е не более нескольких младших разрядов (мзр) представления коэффициентов Qi при числе слагаемых, не превышающем К ~ (0,2... 0,3)^ где N - полученная на этапе 2 разрядность модуля коэффициентов. Процесс представления коэффициентов фильтра в виде суммы степеней числа 2 с количеством слагаемых, не превышающих заранее выбранное число К, представлен на рис. 2, где начиная с некоторого стартового значения допустимой ошибки е, выбираемого обычно из диапазона е = 4.6 мзр, на протяжении нескольких итераций подбирается такой набор коэффициентов фильтра, который максимально удовлетворяет предъявляемым требованиям.

Рис.2. Блок-схема представления коэффициентов в виде суммы степеней числа 2

В анализируемом случае 14-битные коэффициенты путём применения алгоритма, показанного на рис. 2, удалось без ошибок (е=0 мзр) представить каждый коэффициент фильтра в виде суммы четырёх слагаемых (К=4), представляющих собой степени числа 2. При этом минимальное затухание в полосе задерживания фильтра оказалось равным 77 дБ. На рис. 3 представлена АЧХ синтезированного фильтра при использовании точных коэффициентов в формате с плавающей точкой (пунктирная линия) и коэффициентов с фиксированной разрядностью в виде суммы степеней числа 2.

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

телях вправо. Для реализации фильтра рекомендуется использовать транспонированную структуру [5].

Таблица 2 Реализация фильтра на сдвигателях

Номер коэффициента Номер набо] за

1 2 3 4

0 11 12 — —

1 10 13 — —

2 -8 10 11 —

3 -6 8 12 13

4 -6 9 10 —

5 5 -7 11 13

6 4 8 10 -13

7 6 -9 -13 —

8 -3 7 -9 12

9 -3 5 -10 13

10 3 6 8 13

11 1 3 8 9

12 0 -3 -10 -11

о

-20

-80

-100

.....Неквантованные коэффициенты -Коэффициенты в виде суммы степеней 2 Минимальное затухание

1 Г''.

! 3

0 0.5 1 1 5 2 2.5 3

Нормированная круговая частота, рад

Рис.3. АЧХ фильтра

Число в каждой колонке табл. 2 соответствует числу сдвигов вправо, а знак +/- (для наборов №2-4) сложению/вычитанию в сумматорах блока, производящего умножение на коэффициент; знак в номере набора 1 учитывается при сложении или вычитании результатов умножения на коэффициенты. В качестве примера на рис. 4 приведен вариант реализации умножителя на коэффициент 12; при этом обозначение '>>3' соответствует сдвигу вправо на 3 разряда, а 'Р_2' обозначает регистр, осуществляющий задержку на 2 такта. Разрядность регистров равна разрядности входных данных.

Рассмотренный выше фильтр мониторинго-

вого приемника, с коэффициентами представленными в табл.1, был реализован на ПЛИС ХШих семейства 2уи^45. Реализация потребовала 1400 регистров и 1200 логических ячеек. Максимальное быстродействие устройства составило более 400 МГц. Реализация фильтра с аналогичными характеристиками с помощью распределенной арифметики [6] без прореживания выходных отсчетов потребовала бы повышения числа потребляемых ресурсов ПЛИС приблизительно в 2.5 раза, при этом максимальное быстродействие уменьшилось до значения, незначительно превышающего 300 МГц.

Входной отсчет

Рис.4. Умножитель на коэффициент 12 из табл.2

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

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

Литература

1. Y. C. Lim and S. R. Parker, FIR filter design over a discrete powers-of-two coefficient space, IEEE Trans. Acoust., Speech, Signal Processing, vol. ASSP-31, pp. 583-591, June 1983.

2. Мингазин А. Т. Синтез цифровых фильтров на основе фазовых цепей с конечной длиной слова коэффициентов. - 2-я международная конференция 'Цифровая обработка сигналов и ее применения' (DSPA-99).-M.: Т.1. С.112-116

3. В.П. Еремеев, А.Г. Матвеев, А.В. Ануфриева (1999) Нерекурсивные цифровые фильтры, реализуемые без умножений. Scientific and Research Journal of Transport and Telecommunication Institute, Computer Modelling and New Technologies 3, 83-89

4. Фильтр Фарроу на примере фильтра третьего порядка. Ресэмплинг сигналов [Электронный ресурс]. Режим доступа:

http://www.dsplib.ru/content/farrow/farrow.html.

5. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов.-М.: Мир, 1978.-848с

6. A. Peled and B.Liu, A New Approach to the Realization of Nonrecursive Digital Filters, IEEE Trans. Audio and Electroacoustics , vol. AU-21, No. 6, pp. 477-485, December 1973.

7. Jovanovic Dolecek, G. & Mitra, S. K. (2008), Simple Method for Compensation of CIC Decimation Filter, Electronics Letters, Vol. 44, No. 19, September 11, 2008.

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

SYNTHESYS OF NONRECURSIVE FILTERS WITHOUT MULTIPLIERS

A.V. Muratov, M.I. Spazhakin, A.B. Tokarev

An algorithm of FIR digital filter coefficients calculating is proposed. This algorithm allows implementing filter by limited number of shifters and adders and thereby increases the maximum clock frequency of the device. Recommendations of such filters usage are provided. An example of such filters on a power of two designing is given. The evaluation of speed and consumed FPGA resources is provided

Key words: FPGA, FIR filter without multipliers, digital signal processing