Главная
Новости рынка
Рубрикатор



Архив новостей -->



 



   

М. Бондаренко, В. Гриценко

Реализация фильтров с бесконечной импульсной характеристикой на FPGA

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

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

Одной из распространённых операций ЦОС является фильтрация. Вид импульсной характеристики цифрового фильтра (ЦФ) определяет их деление на ЦФ с конечной импульсной характеристикой (КИХ-фильтры) и ЦФ с бесконечной импульсной характеристикой (БИХ-фильтры).

Широкое применение цифровых КИХ-фильтров вызвано тем, что свойства их хорошо исследованы. Использование особенностей архитектуры ПЛИС FPGA позволяет проектировать компактные и быстрые КИХ-фильтры с использованием так называемой распределённой арифметики [2]. В случае использования ПЛИС фирмы Xilinx программный модуль генерации параметризованных и оптимизированных под конкретную архитектуру модулей CORE Gen делает использование таких фильтров очень простым. Большой выбор настраиваемых параметров в CORE Gen позволяет быстро сгенерировать фильтр с оптимальными для данного приложения характеристиками (такими как плотность упаковки, степень параллелизма вычислений и др.). Недостатком КИХ-фильтров можно считать быстрый рост порядка фильтра с ростом отношения частоты дискретизации к частоте среза (и, соответственно, потребляемых фильтром ресурсов FPGA), а также рост потребляемых ресурсов с понижением степени распараллеливания вычислений (при повышении частоты дискретизации). Этот факт является существенным при необходимости проектирования цифровых фильтров с высокими частотой дискретизации и крутизной АЧХ, с большим отношением частоты дискретизации к частоте среза.

В этой статье предпринята попытка оценить реальные возможности использования БИХ-фильтров в качестве альтернативы КИХ-фильтрам. При схожих передаточных характеристиках БИХ-фильтры имеют, как правило, существенно меньшую вычислительную сложность, и порядок фильтра зависит, в первую очередь, от ширины переходной полосы. Основным препятствием при реализации таких фильтров, как правило, становится реализация быстродействующих умножителей большой разрядности. В связи с появлением нового семейства ПЛИС фирмы Xilinx Virtex-II (системные частоты до 420 МГц, логическая ёмкость до 10 млн. системных вентилей, набор быстродействующих умножителей 18x18), в области реализации БИХ-фильтров появились новые возможности [1].

Наиболее часто используемая реализация БИХ-фильтра в виде последовательного соединения звеньев 2-го порядка обусловлена её большей, по отношению к другим реализациям, устойчивостью и меньшими внутренними шумами. При этом выражение для передаточной характеристики фильтра N-го порядка выглядит следующим образом [3]:

Выражение для передаточной характеристики фильтра N-го порядка. (1)

Разностное уравнение звена 2-го порядка имеет вид:

y(n) = a0x(n) + a1x(n – 1) + a2x(n – 2) + b1y(n – 1) +b2y(n – 2). (2)

Это уравнение может быть реализовано в виде структур различного вида. Один из вариантов приведён на рис. 1. Подобная структура позволяет получить более высокую скорость обработки потока данных, чем в канонической форме реализации фильтра.

Структурная схема звена 2-го порядка
Рисунок 1. Структурная схема звена 2-го порядка

Использование современных математических пакетов существенно упрощает расчёт коэффициентов фильтра, анализ поведения фильтра при его реализации в виде устройства с конечной разрядной сеткой (искажения АЧХ, устойчивость, предельные циклы и так далее) и моделирование отклика фильтра на реальное воздействие.

Были реализованы два варианта звеньев второго порядка - в арифметике с фиксированной точкой и в арифметике с плавающей точкой. С учётом характеристик умножителей семейства Virtex-II в БИХ-фильтрах, предполагается, что в качестве коэффициентов используются 18-разрядные двоичные числа со знаком (в случае арифметики с фиксированной точкой) или числа с 16-разрядной мантиссой и 6-разрядным порядком (в случае арифметики с плавающей точкой). Переход к использованию арифметики с плавающей точкой связан с появлением на выходе фильтра незатухающих колебаний при уменьшении входного сигнала до нуля (предельные циклы). При моделировании фильтра амплитуда этих колебаний при различных условиях достигала 5–9 младших разрядов, что неприемлемо для некоторых задач. Для фильтров с плавающей точкой эта величина находилась в пределах 1–2 единиц младшего разряда.

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

На рис. 2 приведена обобщённая АЧХ-фильтра верхних частот (Fs - частота дискретизации, Fs/2 = 1). Для сравнения БИХ- и КИХ-фильтров в табл. 1 приведена зависимость порядка фильтра от соотношения Fs, Fstop, Fpass, Astop, Apass. Для расчёта порядка КИХ-фильтра использовался алгоритм Ремеза. Аппроксимация БИХ-фильтра - эллиптическая. Разрядность коэффициентов выбиралась из соображения сохранения формы АЧХ и минимально допустимого уровня колебаний на выходе (в случае БИХ-фильтра). Входные данные - 18-разрядные двоичные числа со знаком.

Таблица 1. Зависимость порядка фильтра от параметров

№ фильтра Вид импульсной характеристики Fstop Fpass Apass Astop Порядок фильтра
1 КИХ 0,1 0,2 40 1 30
2 БИХ 0,1 0,2 40 1 4
3 КИХ 0,1 0,15 40 1 60
4 БИХ 0,1 0,15 40 1 4
5 КИХ 0,025 0,05 40 1 120
6 БИХ 0,025 0,05 40 1 4
7 КИХ 0,1 0,2 60 1 44
8 БИХ 0,1 0,2 60 1 5
9 КИХ 0,1 0,15 60 1 86
10 БИХ 0,1 0,15 60 1 6
11 КИХ 0,025 0,05 60 1 170
12 БИХ 0,025 0,05 60 1 5

АЧХ проектируемого фильтра
Рисунок 2. АЧХ проектируемого фильтра

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

Анализируя табл. 2–6, можно сделать следующие выводы:

Таблица 2. Результаты проектирования КИХ-фильтров на Virtex-II

№ фильтра Тип ПЛИС Кол-во слайсов Максимальная частота дискретизации, МГц
1 XC2V500-4 1851 139
3 XC2V1000-4 3778 122
5* XC2V1000-4 3757 50
7 XC2V500-4 2827 123
9 XC2V1000-4 5101 66
11* XC2V1000-4 3615 35

*) Тактовая частота фильтра в 2 раза выше частоты дискретизации.

Таблица 3. Результаты проектирования КИХ-фильтров на Virtex

№ фильтра Тип ПЛИС Кол-во слайсов Максимальная частота дискретизации, МГц
1 XCV200-4 1832 62
3 XCV400-4 3712 71
5* XCV400-4 3757 29
7 XCV400-4 2799 64
9 XCV600-4 5044 56
11* XCV400-4 3590 23

*) Тактовая частота фильтра в 2 раза выше частоты дискретизации.

Таблица 4. Результаты проектирования БИХ-фильтров с фиксированной точкой на Virtex-II

№ фильтра Тип ПЛИС Кол-во слайсов Кол-во умножителей Максимальная частота дискретизации, МГц
2, 4, 6 XC2V250-4 203 10 93
8, 12, 10 XC2V250-4 302 15 86

Таблица 5. Результаты проектирования БИХ-фильтров с фиксированной точкой на Virtex

№ фильтра Тип ПЛИС Кол-во слайсов Кол-во умножителей Максимальная частота дискретизации, МГц
2, 4, 6 XCV100-4 814   27
8, 12 XCV150-4 1392   33
10 XCV150-4 1482   32

Таблица 6. Результаты проектирования БИХ-фильтров с плавающей точкой на Virtex-II

№ фильтра Тип ПЛИС Кол-во слайсов Кол-во умножителей Максимальная частота дискретизации, МГц
2, 4, 6 XC2V500-4 2088 10 26
8, 12, 10 XC2V1000-4 3125 15 26

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

Наиболее экономными с точки зрения ресурсов являются БИХ-фильтры с фиксированной точкой на Virtex-II. Существенное различие в объёмах используемых ресурсов между реализациями фильтров для семейств Virtex и Virtex-II связано с наличием в Virtex-II аппаратных умножителей.

БИХ-фильтры с плавающей запятой медленнее, чем БИХ-фильтры с фиксированной запятой и занимают больше ресурсов, но при моделировании с учётом конечной разрядной сетки показали существенно меньший уровень собственных шумов.

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

Исходные тексты звена 2-го порядка БИХ-фильтра на языке VHDL можно запросить по e-mail: vict@pulsar.dp.ua.

Литература

  1. Mintzer L. FIR filters with the XILINX FPGA. FPGA ’92 ACM/SIGDA Workshop on FPGAs. P. 129–134.
  2. Xilinx Inc. The Programmable Logic Data Book. 2001.
  3. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов. М.: Мир, 1978.






Реклама на сайте
тел.: +7 (495) 514 4110. e-mail:admin@eust.ru
1998-2014 ООО Рынок микроэлектроники