Научная статья на тему 'Оптимизация структуры массива фильтров-дециматоров с конечной импульсной характеристикой для реализации в программируемых логических интегральных схемах'

Оптимизация структуры массива фильтров-дециматоров с конечной импульсной характеристикой для реализации в программируемых логических интегральных схемах Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
25
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФИЛЬТРЫ / ФИЛЬТРЫ-ДЕЦИМАТОРЫ / ОПТИМИЗАЦИЯ ФИЛЬТРОВ / СИМУЛЯЦИЯ ФИЛЬТРОВ / КОНЕЧНЫЕ ИМПУЛЬСНЫЕ ХАРАКТЕРИСТИКИ / БУФЕРНЫЕ ФИЛЬТРЫ / ПРОГРАММИРУЕМЫЕ СХЕМЫ / ЛОГИЧЕСКИЕ СХЕМЫ / ИНТЕГРАЛЬНЫЕ СХЕМЫ / АРХИТЕКТУРА ФИЛЬТРОВ / УМНОЖИТЕЛИ

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Белорусов Д.И., Щаденков Ю.А.

Рассматривается архитектура конечной импульсной характеристики (КИХ) фильтра-дециматора буферного типа. Прорабатываются вопросы построения и реализации фильтра, которые позволяют значительно снизить требования к ресурсам ПЛИС при реализации массива фильтров для представления сигнала в цифровых полосах различного номинала. В качестве ключевого и наиболее «дефицитного» ресурса ПЛИС выбран умножитель. В статье приводится описание классической реализации КИХ-фильтра, рассчитывается количество умножителей, необходимых для ее реализации. В качестве альтернативы классического КИХ-фильтра-дециматора предлагается реализация КИХ-фильтра-дециматора буферного типа, а также прорабатываются вопросы оптимизации и симуляции предлагаемого фильтра. В основу оптимизации положены принципы сокращения количества умножений данных на коэффициенты фильтра: первый принцип - использование фильтра с симметричными относительно центрального коэффициентами; второй принцип - использование полуполосного фильтра с четными коэффициентами, равными нулю.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DECIMATION FILTERS WITH FINITE IMPULSE RESPONSE ARRAYS STRUCTURE OPTIMIZATIONS FOR IMPLEMENTATION IN FPGA

The paper considers the architecture of FIR filter-resampler with buffer, which can significantly reduce the resource requirements of the FPGA. That is useful while developing the arrays of FIR-filters for signal representation in the numbers of digital bandwidths. Multiplier is selected as a key and more “scarce” resource of FPGA. The article describes the classical implementation of the FIR filter and calculated the number of multipliers required to implement it. As an alternative to the classical FIR filter decimator is proposed the implementation of the FIR filter decimator with buffer, as well as considering the issue of optimization and simulation of the proposed filter. The basis of the principles of optimization to reduce the number of multiplications of data on the filter coefficients: the first principle - the use of filter coefficients symmetrical about its center, the second principle - the use of half-band filter in which the even coefficients are zero.

Текст научной работы на тему «Оптимизация структуры массива фильтров-дециматоров с конечной импульсной характеристикой для реализации в программируемых логических интегральных схемах»

УДК 621.39

ОПТИМИЗАЦИЯ СТРУКТУРЫ МАССИВА ФИЛЬТРОВ-ДЕЦИМАТОРОВ С КОНЕЧНОЙ ИМПУЛЬСНОЙ ХАРАКТЕРИСТИКОЙ ДЛЯ РЕАЛИЗАЦИИ В ПРОГРАММИРУЕМЫХ ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ СХЕМАХ

Д.И. БЕЛОРУСОВ, Ю.А. ЩАДЕНКОВ (ООО «РадиоЛэб», Новополоцк)

Рассматривается архитектура конечной импульсной характеристики (КИХ) фильтра-дециматора буферного типа. Прорабатываются вопросы построения и реализации фильтра, которые позволяют значительно снизить требования к ресурсам ПЛИС при реализации массива фильтров для представления сигнала в цифровых полосах различного номинала. В качестве ключевого и наиболее «дефицитного» ресурса ПЛИС выбран умножитель. В статье приводится описание классической реализации КИХ-фильтра, рассчитывается количество умножителей, необходимых для ее реализации. В качестве альтернативы классического КИХ-фильтра-дециматора предлагается реализация КИХ-фильтра-дециматора буферного типа, а также прорабатываются вопросы оптимизации и симуляции предлагаемого фильтра. В основу оптимизации положены принципы сокращения количества умножений данных на коэффициенты фильтра: первый принцип - использование фильтра с симметричными относительно центрального коэффициентами; второй принцип - использование полуполосного фильтра с четными коэффициентами, равными нулю.

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

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

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

Характеристика фильтра может быть представлена в виде

(1)

где п - порядок фильтра; Ь, - коэффициент фильтра.

Структурная схема нерекурсивного КИХ-фильтра показана на рисунке 1.

Рис. 1. Структурная схема нерекурсивного КИХ-фильтра

КИХ-фильтр порядка п содержит п линий задержки и п + 1 коэффициент. Если коэффициент Ь0 = 1, получим КИХ-фильтр порядка п, у которого умножение на Ь0 = 1 будет тривиальным. Импульсная характеристика КИХ-фильтра всегда конечна и полностью совпадает с коэффициентами фильтра. Массив таких фильтров позволяет реализовать т различных номиналов цифровых полос, где т - любое целое число.

Оценим потребность в ресурсах типа умножители для такого массива фильтров:

М = (« + !)• т.

(2)

1=0

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

Рис. 2. Структурная схема буферного КИХ-фильтра: а - входной логический переключатель; б - полуполосный (halfband) КИХ-фильтр; в - блок децимации с коэффициентом Я = 2; г - выходной логический переключатель; д - буфер

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

Рассмотрим схему обработки данных таким фильтром:

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

2) после фильтрации тактовая частота сигнала уменьшается вдвое с помощью дециматора в;

3) после децимации данные поступают в выходной коммутатор г. В случае если необходимая полоса сигнала не достигнута, данные перенаправляются в буфер г;

4) после заполнения буфер возвращает блок данных через входной коммутатор а для следующей итерации по сужению полосы;

5) итерации 2...4 повторяются до достижения необходимой полосы сигнала. Очевидно, что для блочных данных за счет циклической структуры обработки сигнала можно реализовать на одном фильтре любые коэффициенты децимации, кратные 2к, где к = 1, 2, 3, ... .

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

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

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

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

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

Фильтр 1-го типа (рис. 3, а). Фильтр четного порядка п с нечетным количеством коэффициентов N. Импульсная характеристика симметрична относительно отсчета к((Ы - 1)/2), т.е. к(т) = к(Ы - 1 - т), т = 0.. ,(Ы - 1)/2, при этом ось симметрии попадает на данный отсчет.

Фильтр 2-го типа (рис. 3, б). Фильтр нечетного порядка п с четным количеством коэффициентов N. Импульсная характеристика симметрична относительно оси симметрии (Ы - 1)/2, т.е. к(т) = к(Ы - 1 - m), т = 0...(Ы - 1)/2.

Фильтр 3-го типа (рис. 3, в). Фильтр четного порядка п с нечетным количеством коэффициентов N. Импульсная характеристика антисимметрична относительно отсчета к((Ы - 1)/2), т.е. к(т) = -к(Ы - 1 - m), т = 0...(Ы - 1)/2 - 1, при этом ось симметрии попадает на центральный отсчет, который должен быть равен нулю: к((Ы - 1)/2) = 0.

Фильтр 4-го типа (рис. 3, г). Фильтр нечетного порядка п с четным количеством коэффициентов N. Импульсная характеристика антисимметрична относительно оси симметрии N - 1)/2, т.е. к(т) = к^ - 1 - m), т = О...^ - 1)/2 - 1.

Рис. 3. Типы импульсных характеристик КИХ-фильтров

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

Полуполосный фильтр. При проектировании фильтра необходимым и достаточным условием равенства нулю каждого второго коэффициента является полуполосность фильтра, т.е. симметричность значений частоты среза (wpass) и частоты заграждения (wstop), относительно половины частоты дискретизации (¥5/2). Верно и обратное: у полуполосного фильтра с симметричными относительно частоты ¥$/2 частотами среза каждый второй коэффициент равен нулю. При этом стоит заметить, что частоты среза и заграждения должны быть как можно ближе к половине частоты дискретизации. В противном случае равенство нулю каждого второго отсчета может значительно исказить характеристики фильтра.

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

Если выполняется только одно свойство из указанных выше, например, если фильтр не полуполосный, но симметричный, то фильтру требуется один умножитель на два порядка.

Моделирование в MatLab. Для примера смоделируем в среде MatLab полуполосный КИХ-фильтр 62-го порядка с симметричными относительно центрального коэффициентами (рис. 4, 5).

Этот фильтр может быть задан следующим кодом в командной строке или т-файле:

hs = fdesign. halfband('N, TW',62,0.1);) (3)

eqшripple(hs),

где N - порядок фильтра, N = 62; TW - ширина переходной области между wpass и wstop, TW = 0,1.

Normalized Frequency ( :г rerMsample)

Рис. 4. Амплитудно-частотная характеристика КИХ-фильтра (n = 62; wpass = 0,45; wstop = 0,55)

Рис. 5. Коэффициенты КИХ-фильтра (п = 62; wpass 0,45; wstop = 0,55) Оценим общую потребность в ресурсах типа умножители для такой архитектуры фильтра:

п +1

АГ = -

4

(4)

Сравним значение М' из (4) с аналогичным значением М для массива классических КИХ-фильтров из выражения (2). Очевидно преимущество предлагаемой архитектуры в 4 m раз.

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

К = Кд + Кф - 1,

(5)

где К - количество элементов в выходной последовательности; Кд - количество входных отсчетов данных; Кф - количество коэффициентов фильтра.

При этом первые Кф - 1 отсчетов выходной последовательности не являются валидными.

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

Для того чтобы все выходные данные были валидными и неизменными по размеру, необходимо первые Кф - 1 отсчетов отбросить, в том числе и при возврате данных на следующую итерацию.

Дополнительные преимущества. Одним из важных свойств фильтра является линейность его фазочастотной характеристики (ФЧХ). Нелинейная ФЧХ фильтра искажает сигнал, т.е. разные частоты приобретают разные фазовые сдвиги и соответственно разные временные задержки на выходе фильтра. Это следует учитывать, поскольку например, при когерентной обработке, искажения фазы недопустимы. Следовательно, чем более линейна ФЧХ, тем лучше фильтр.

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

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

Также предложена оптимизация фильтра, которая позволяет уменьшить требования фильтра к умножителям ПЛИС в 4 раза. Очевидно, что такая значительная экономия ресурса умножителей позволит реализовывать фильтры более высокого порядка.

У предложенной архитектуры существуют некоторые ограничения на применение, а именно:

- фильтр может эффективно применяться с коэффициентом децимации более 2 только с блочными данными;

- коэффициенты децимации могут быть только числами, кратными 2k;

- фильтр имеет относительно «жесткую» структуру, т.е. равенство нулю каждого второго коэффициента и симметричность коэффициентов относительно центрального коэффициента.

Однако, как было показано, такая структура легко реализуется стандартными средствами математического моделирования.

ЛИТЕРАТУРА

1. Steven W. Smith, The Scientist and Engineer's Guide to Digital Signal Processing, Second Edition, 1999, California Technical Publishing, P.O. Box 502407, San Diego, CA 92150.

2. Теория и практика цифровой обработки сигналов [Электронный ресурс]: Общая методика расчета аналоговых и цифровых БИХ-фильтров. Основные понятия и определения. - Режим доступа: http://www.dsplib.ru/content/filters/ch1/ch1.html свободный. - Загл. с экрана.

3. Теория и практика цифровой обработки сигналов [Электронный ресурс]: Структуры цифровых фильтров и их характеристики. - Режим доступа: http://www.dsplib.ru/content/filters/ch10/ch10.html свободный. - Загл. с экрана.

4. Теория и практика цифровой обработки сигналов [Электронный ресурс]: Физический смысл групповой задержки фильтра. Цифровые фильтры с линейной фазочастотной характеристикой. - Режим доступа: http://www.dsplib.ru/content/filters/linphase/linphase.html свободный. - Загл. с экрана.

5. Теория и практика цифровой обработки сигналов [Электронный ресурс]: Расчет КИХ-фильтра с линейной фазочастотной характеристикой методом частотной выборки. - Режим доступа: http://www.dsplib.ru/ /content/filters/fir/fir.html свободный. - Загл. с экрана.

Поступила 30.01.2012

DECIMATION FILTERS WITH FINITE IMPULSE RESPONSE ARRAYS STRUCTURE OPTIMIZATIONS FOR IMPLEMENTATION IN FPGA

D. BELORUSOV, Yu. SHCHADENKOV

The paper considers the architecture of FIR filter-resampler with buffer, which can significantly reduce the resource requirements of the FPGA. That is useful while developing the arrays of FIR-filters for signal representation in the numbers of digital bandwidths. Multiplier is selected as a key and more "scarce " resource of FPGA. The article describes the classical implementation of the FIR filter and calculated the number of multipliers required to implement it. As an alternative to the classical FIR filter decimator is proposed the implementation of the FIR filter decimator with buffer, as well as considering the issue of optimization and simulation of the proposed filter. The basis of the principles of optimization to reduce the number of multiplications of data on the filter coefficients: the first principle - the use of filter coefficients symmetrical about its center, the second principle - the use of half-bandfilter in which the even coefficients are zero.

i Надоели баннеры? Вы всегда можете отключить рекламу.