Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.sm.bmstu.ru/sm5/n4/oba/df.html
Дата изменения: Thu Feb 15 17:43:24 2007
Дата индексирования: Mon Oct 1 18:44:34 2012
Кодировка: Windows-1251

Поисковые слова: внешние планеты
СМ5 : Перспективы реализации алгоритмов цифровой фильтрации на основе ПЛИС фирмы "Altera"
 

Перспективы реализации алгоритмов цифровой фильтрации на основе ПЛИС фирмы "Altera"
Губанов Д.А., Стешенко В.Б. (МГТУ им. Н.Э.Баумана), Храпов В.Ю., Шипулин С.Н. (Центр 'Логические системы')


Введение

С проектированием цифровых фильтров (ЦФ) так или иначе приходилось сталкиваться большинству разработчиков современных систем связи и управления. Тем не менее общепринятый взгляд на эту область схемотехники является настолько же односторонним и упрощенным, насколько и распространенным. Так, проектирование ЦФ в представлении большинства разработчиков прочно ассоциируется с процедурой синтеза структуры ЦФ частотной селекции, причем наиболее простой его разновидности, предназначенной для выделения (подавления) одной априорно заданной полосы частот. Все остальные разновидности ЦФ - многокаскадные структуры с прореживанием по времени и по частоте, фильтры Винера и Калмана, робастные и адаптивные - считаются своего рода экзотикой, предметом исследований узких специалистов. Но соответствуют ли подобные взгляды современному уровню развития радиотехники и мехатроники? В обзорной работе 1990 года [1] по управлению подвижными объектами читаем: "Сейчас различают классическую и современную теории оптимального управления. Первая из них включает методы проектирования систем управления, опирающиеся на аппарат передаточных функций, а вторая, на основе которой и построена данная книга, описывает системы посредством пространства состояний и использует результаты теорий оптимальной фильтрации и идентификации " (т.е. предметом изучения являются оптимальные и адаптивные ЦФ ). В известном справочнике М. И. Жодзишского по цифровым радиоприемным системам [2] тем устройствам, которые построены на основе "традиционных" ЦФ, уделено 10 страниц из 208 (!). Даже в специализированной работе [3] "Цифровая частотная селекция сигналов" основной акцент сделан на способах реализации сложных многокаскадных ЦФ, применяемых в спектроанализаторах и в приемниках панорамного обзора, а описание ЦФ, предназначенных для выделения (подавления) одной априорно заданной полосы частот занимает не более 1/10 общего объема.

Таким образом, налицо определенные противоречия, во-первых, между развитием прикладной науки, предлагающей совершенно новые алгоритмы цифровой обработки сигналов (ЦОС), и консерватизмом разработчиков, предпочитающих традиционные подходы; во-вторых, между тенденцией к расширению сферы применения оптимальных и адаптивных ЦФ (в то время как сфера применения ЦФ частотной селекции расширяется чисто экстенсивно) и отсутствием формализации относительно новых и сложных принципов ЦОС в виде т.н. мегафункций, реализованных на том или ином языке описания аппаратуры (AHDL,VHDL и т.п.).

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

1. Обзор алгоритмов цифровой фильтрации

На рис. 1 приведена классификация цифровых фильтров (ЦФ), составленная на основе публикаций [1-8] за последние 10 лет. В основу классификации положен функциональный принцип, т.е. ЦФ подразделяются исходя из реализуемых ими алгоритмов, а не с учетом каких-либо схемотехнических особенностей. Авторы хотели бы сразу же оговориться, что в дальнейшем изложении не отражены вопросы, связанные с применением в ЦОС различных ортогональных преобразований, в частности, быстрого преобразования Фурье (БПФ). Этому аспекту ЦОС авторы планируют посвятить отдельную статью.

ЦФ частотной селекции.

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

- выделение (подавление) одной априорно заданной полосы частот; в зависимости от того, какие частоты подавляются, а какие - нет, различают фильтр нижних частот (ФНЧ), фильтр верхних частот (ФВЧ), полосовой фильтр (ПФ) и режекторный фильтр (РФ);

- разделение по отдельным частотным каналам равноценных и равномерно распределенных по всему частотному диапазону спектральных компонент сигнала с линейчатым спектром; в зависимости от того, какой метод используется для уменьшении аппаратурных затрат на реализацию набора однотипных ПФ, которые могли бы быть применены для решения данной задачи, различают ЦФ с прореживанием по времени и с прореживанием по частоте; а поскольку основным методом уменьшения аппаратурных затрат является каскадирование более низкоизбирательных, чем исходный, наборов ПФ, то многоступенчатая пирамидальная структура, получаемая в результате, была названа ЦФ типа "преселектор - селектор";

- разделение по отдельным частотным каналам спектральных составляющих сигнала, чей спектр состоит из субполос различной ширины, неравномерно распределенных в пределах рабочего диапазона фильтра; на практике указанную задачу сводят к предыдущей, разбивая рабочий диапазон на большое число узких поддиапазонов при помощи ЦФ типа "преселектор - селектор", затем подключается специальное устройство, которое определяет " информативные " поддиапазоны (т. е. поддиапазоны, содержащие полезную мощность) и, наконец, каскад завершается синтезатором, который вновь собирает воедино каналы, соответствующие той или иной субполосе спектра входного сигнала; в зависимости от того, где анализируются поддиапазоны на предмет информативности, различают ЦФ с поиском в частотной и во временной области; общее название ЦФ данного класса - " ЦФ с поиском информативных спектральных составляющих".

В литературе достаточно подробно описан алгоритм проектирования ЦФ частотной селекции, предназначенного для выделения (подавления) одной априорно заданной полосы частот [3,6,7] (для ЦФ типа " преселектор - селектор ' процедура проектирования дополняется оптимизацией числа ступеней и коэффициентов прореживания на отдельных ступенях, для ЦФ с поиском информативных спектральных составляющих - построением устройства, определяющего информативные поддиапазоны). Этапы проектирования, альтернативы на каждом этапе, последовательность действий при оптимизации, - известны; напрашивается формализация всей процедуры проектирования в виде пакета прикладных программ или САПР Такие попытки предпринимались неоднократно, однако до сих пор на рынке программных продуктов не появились образцы, которые заинтересовали бы разработчиков с коммерческой точки зрения.

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


Перспективные задачи в области проектирования ЦФ частотной селекции

1. Создание пакета прикладных программ (среды программирования), ориентированных на структурный синтез, анализ качества, схемотехническую реализацию и последующее тестирование ЦФ, предназначенных для выделения одной априорно заданной полосы частот; при этом создаваемое прикладное программное обеспечение должно обязательно воспроизводить в полной мере алгоритм проектирования и предназначаться для использования (на коммерческой основе)не специалистами

2. Усовершенствование существующих методов оптимизации многоступенчатых структур с целью их полной формализации и включения в состав прикладного программного обеспечения.

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


Оптимальные (квазиоптимальные) ЦФ.

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

Если уравнения состояния линейны, то применяется оптимальный ЦФ Калмана [10], если же уравнения состояния системы нелинейны, то применяются различные многоканальные ЦФ, качество работы которых улучшается с ростом числа каналов; примером может служить устройство, предложенное в диссертационной работе одним из авторов статьи, и являющееся, на его взгляд, наиболее простым (!) с точки зрения практического использования - структурная схема приведена на рис. 2, а,б (а - квазинепрерывный вариант, б - сугубо дискретный). Многоканальность - главная проблема разработчика при реализации "мудреных" алгоритмов теории оптимальной фильтрации: размерность ЦФ Калмана равна числу переменных состояния системы, а та зависит от статистических свойств и в задачах практики может доходить до 10 и более; в случае же нелинейного ЦФ размерность есть быстро растущая функция числа переменных состояния системы и порядка аппроксимации при вычислениях - своего рода аналога порядка ЦФ частотной селекции (см. табл. 1).

Таблица 1. Число каналов нелинейного оптимального ЦФ на рис.2 а,б.


Число переменных состояния системы

Порядок аппроксимации при вычислениях

 

1

2

3

4

5

10

20

2

2

5

9

14

20

65

230

4

4

14

34

69

125

1000

10625

6

6

27

83

209

461

8007

 

10

10

65

285

1000

3002

   

Цифры впечатляют, не правда ли? Но именно проектирование ЦФ Калмана и ЦФ, подобных представленному на рис. 2, по глубокому убеждению авторов, является гарантией будущего для структур, занимающихся внедрением в практику алгоритмов ЦОС.

Существуют различные частные случаи, когда алгоритмы, реализуемые оптимальными (квазиоптимальными) ЦФ могут быть упрощены без существенной потери точности: это, во-первых, случай линейной стационарной системы, приводящий к известному ЦФ Винера; во-вторых случай наблюдений лишь в один фиксированный момент времени, приводящий к ЦФ, оптимальному по критерию максимума отношения сигнал/шум (ОСШ); в-третьих случай уравнений состояния системы близких к линейным приводящий к нелинейным фильтрам первогои второго порядка и др.

Важной проблемой является также обеспечение нечувствительности всех вышеперечисленных алгоритмов к отклонению статистических характеристик системы от заранее заданных; синтез таких ЦФ, называемых робастными, подробно описан в [5].


Перспективные задачи в области проектирования оптимальных (квазиоптимальных) ЦФ.

1. Реализация в форме мегафункций для линейных оптимальных ЦФ: формирующего звена в составе фильтра Калмана [10], компандера для робастных ЦФ [5], обеляющего матричного фильтра, входящего в состав фильтра оптимального по критерию максимума ОСШ и др

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

3.Создание ориентированной на пользователя библиотеки алгоритмов, реализуемых оптимальными (квазиоптимальными)ЦФ, с указанием входных и выходных параметров, реализуемых операций и пригодной для непосредственного использования при моделировании сложных систем


Адаптивные ЦФ.

Сущность адаптивной цифровой фильтрации [4] состоит в следующем: для обработки входного сигнала (обычно адаптивные ЦФ строят одноканальными) используется обычный КИХ-фильтр; однако ИХ этого фильтра не остается раз и навсегда заданной, как это было при рассмотрении ЦФ частотной селекции; она также не изменяется по априорно заданному закону, как это было при рассмотрении ЦФ Калмана; ИХ корректируется с поступлением каждого нового отсчета таким образом, чтобы свести к минимуму среднеквадратическую ошибку фильтрации на данном шаге. Под адаптивным алгоритмом понимается рекуррентная процедура пересчета вектора отсчетов ИХ на предыдущем шаге в вектор "новых" отсчетов ИХ для следующего шага. Таких процедур в свое время (конец 70-х - начало 80-х гг.)было предложено очень много, выделим рекуррентный метод наименьших квадратов (РНК - алгоритм) и метод наименьших квадратов (МНК-алгоритм ), а также ряд методов, основанных на нелинейной теории устойчивости, и в частности, алгоритм Ландау [4]. Проблема для разработчика состоит в том, что априорно устойчивые адаптивные алгоритмы, как правило, недопустимо сложны в реализации (например, включают процедуру обращения матрицы ), а более простые (как МНК - алгоритм) могут расходиться. Одним из возможных методов преодоления указанных трудностей является каскадирование БИХ - фильтров, построенных на основе решетчатых структур, т.к. это позволяет обойти процедуру вычисления обратной матрицы в РНК - алгоритме. Реализация соответствующих "секций" на базе ПЛИС является нерешенной проблемой, сдерживающей внедрение этого, несомненно, интересного подхода в практику.


Перспективные задачи в области проектирования адаптивных ЦФ

1. Создание новых, более эффективных, чем МНК и в то же время более ориентированных на практическое использование, чем РНК и методы, основанные на нелинейной теории устойчивости, алгоритмов адаптивной цифровой фильтрации

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


Эвристические ЦФ.

Возможны ситуации, когда применение корректных с математической точки зрения процедур обработки является нецелесообразным, поскольку приводит к неоправданно большим аппаратурным затратам; два случая - когда данные на вход ЦФ поступают в унитарном (счетно-импульсном) коде и когда данные представляют собой последовательность импульсов различной полярности (+1 и -1) - являются наиболее типичными. В первом случае разработчики предпочитают отказаться от априорного задания требований к частотной избирательности ЦФ, но реализовать в полной мере те преимущества, которые достигаются, если заменить операцию интегрирования простым накоплением входных кодовых посылок в реверсивном счетчике; во втором случае алгоритм, реализуемый ЦФ, сводится к тому, чтобы определить, какие импульсы (+1или -1) преобладают во входной последовательности, и после того как количество тех или иных импульсов превзойдет некоторый доверительный предел, выдать сигнал на исполнительное устройство: +1, если преобладают импульсы типа +1, -1, если преобладают импульсы типа -1, и 0, если идентификация затруднительна. М.И.Жодзишским был описан ЦФ под унитарный код, состоящий из двух петель: пропорциональной иинтегрирующей [ ], конструкция которого стала почти классической и воспроизводится от разработки к разработке; ЦФ, применяемые когда входным сигналом является последовательность импульсов типа+1 и -1 (отсюда название: "последовательностные фильтры"), были впервые предложены еще в 70-е годы, но популярность их со временем только возрастала и они получили даже собственные наименования: сумматор с перекрестным сбросом, N-перед-M фильтр, цифровой эквивалент комбинации интегратора с ограничителем и фильтр случайных блужданий - схемы (в порядке перечисления) приведены на рис.3, а - г. Ввиду популярности последовательностных ЦФ у разработчиков систем синхронизации, демодуляторов и Spread spectrum напрашивается мысль реализовать эти фильтры в виде специализированных ИС, однако это до сих пор не сделано.

В литературе описаны также и многие другие ЦФ, 'порожденные' стремлением разработчиков уменьшить аппаратурные затраты и получившие широкое распространение несмотря на отсутствие строгого математического обоснования. Это так называемые ЦФ с авторскими схемными решениями (см. классификацию на рис.1). Одним из наиболее известных примеров является т. н. медианный фильтр.


Перспективные задачи в области проектирования эвристических ЦФ

1. Создание базы данных (систематизация) интуитивно не очевидных, но эффективных и периодически воспроизводящихся при разработках схемных решений.

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

3. Реализация эвристических схемных решений в виде стандартных элементов библиотек различных САПР и, в дальнейшем, в виде специализированных ИС, в расчете на коммерческое применение и унификацию разработок


2. Пути реализации алгоритмов цифровой фильтрации на современной элементной базе.

Как видно из предшествующего изложения, в проектировании средств ЦОС, в частности ЦФ закончилась 'додарвиновская эпоха'. Сложилась система законченных алгоритмов для решения широкого круга задач, а собственно проектирование устройств и систем на 70% представляет собой системотехническую задачу, т.е. ведется на уровне структурных схем. С другой стороны, независимо от того, реализуем ли мы систему на базе ЦПОС, ПЛИС или специализированной ИС, без широкого применения средств САПР об успешной разработке не может быть и речи. Поэтому одной из главных задач становиться создание библиотек, реализующих те или иные решения.

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

Рис. 4.

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

3. Реализация цифровых фильтров на ПЛИС семейства FLEX фирмы ALTERA

Многие ЦФ достаточно просто реализовать в виде КИХ-фильтра. С появлением БИС семейства FLEX8000 и FLEX10K фирмы ALTERA появилась возможность создания высокопроизводительных и гибких КИХ-фильтров высокого порядка. При этом ПЛИС благодаря особенностям своей архитектуры позволяют достигнуть наилучших показателей производительности по сравнению с другими способами реализации ЦФ. Так, при реализации ЦФ на базе ЦПОС среднего класса позволяет достигнуть производительности обработки данных порядка 5 милионнов отсчетов в секунду (MSPS, Million samples per second). Использование готовых специализированных БИС позволяет обеспечить производительность 30-35 MSPS. При использовании ПЛИС семейств FLEX8000 и FLEX10K достигаются величины более 100 MSPS.

Рис.5.

Рассмотрим особенности реализации КИХ-фильтров на базе ПЛИС семейств FLEX8000 и FLEX10K с учетом специфики их архитектуры на примере КИХ-фильтра 8-го порядка (рис.5). На рис.5 введены следующие обозначения: xn-сигнал на выходе n-го регистра, hn-коэффициент СФ, yn-выходной сигнал. Сигнал на выходе фильтра будет иметь вид:

.

Для обеспечения линейности фазовой характеристики КИХ-фильтра коэффициенты hn СФ фильтра выбираются симметричными относительно центральной величины. Такое построение позволяет сократить число перемножителей. Поскольку компоненты вектора h постоянны для любого фильтра с фиксированными характеристиками, то в качестве параллельного векторного перемножителя (ПВП) удобно использовать таблицу перекодировок (ТП, LUT, Look-up table), входящую в состав логического элемента (ЛЭ) [10-13] ПЛИС. Работа параллельного векторного перемножителя описывается следующим уравнением:

При использовании ТП операция перемножения выполняется параллельно. В качестве примера рассмотрим реализацию 2-разрядного векторного перемножителя. Пусть вектор коэффициентов h имеет вид


h1

H2

h3