Государственное образовательное учреждение высшего профессионального образования «Московский государственный институт радиотехники, электроники и автоматики (технический университет)»

На правах рукописи

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

Направление 230100 «Информатика и вычислительная техника»

Магистерская программа 230100.06 «Элементы и устройства вычислительной техники и информационных систем»

Автореферат магистерской диссертации

МОСКВА 2011

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Цифровая обработка сигналов в сложных радиоэлектронных системах характеризуется рядом особенностей, осложняющих решение радиотехнических задач.

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

НЕ нашли? Не то? Что вы ищете?

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

Объект исследования. Объектом исследования является реализации алгоритмов адаптивной фильтрации на ПЛИС. Автоматизация проектирования цифровых СБИС. Различные виды существующих алгоритмов фильтрации. Методы реализации алгоритмов фильтрации на ПЛИС.

Цель и постановка задачи исследования. Целью диссертационной

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

Для достижения сформулированной цели в диссертации поставлены

следующие задачи:

1.  Анализ методов реализации адаптивного фильтра Калмана на ПЛИС.

2.  Исследование архитектуры существующих ПЛИС различных производителей и разработка критериев оценки.

3.  Рассмотрение эффективности реализации адаптивной фильтрации на FPGA.

4.  Исследовать возможностей автоматизации аппаратной реализации адаптивного фильтра Калмана с использованием моделирования в среде MATLAB.

5.  Разработка и представление рекомендаций по выбору и использованию методов реализации адаптивной фильтрации на ПЛИС.

Методы исследования. Основные результаты диссертационной работы получены с использованием теории языков описания аппаратуры, методов моделирования и автоматизированного проектирования СБИС, теории информационного поиска.

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

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

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

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

Апробация и практическое внедрение результатов работы. Основные научные положения диссертационной работы докладывались и

обсуждались на научных конференциях, семинарах и конкурсах, в том числе: на 59-ой научно-технической конференции МИРЭА (г. Москва, 2010г.); 60-ой научно-техническая конференция МИРЭА (г. Москва, 2011г.).

Структура и объем работы. Текст диссертации состоит из введения,

трех глав, заключения, списка литературы. Объем диссертации составляет 82 страницы машинописного текста, включая 46 рисунков. Список литературы включает 25 наименований.

КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

Во второй главе на основе, что в настоящее время наряду с обычными цифровыми фильтрами используется алгоритм адаптивного фильтр Калмана, в работе рассматривается возможность реализации адаптивного фильтра Калмана на ПЛИС. Поэтому виды ПЛИС анализируются во второй главе. Программируемые логические интегральные схемы (ПЛИС) благодаря своим достоинствам получили широкое применение в различных областях. Эта элементная база высокой степени интеграции позволяет разработчику за короткое время создать на основе стандартных компонент устройства обработки сигналов с высоким быстродействием и низким потреблением. На базе ПЛИС могут быть изготовлены логические блоки и устройства, например, преобразователи кодов, контроллеры, умножители, сигнальные процессоры с не очень сложными алгоритмами. Для проектирования цифровых устройств на ПЛИС фирмы Xilinx с применением языка VHDL могут использоваться различные системы, в том числе широко известная система Leonardo Spectrum, Foundation Express и Integrated Synthesis Environment (ISE). Характерной особенностью САПР фирмы Xilinx является привлечение для синтеза на языке VHDL синтезаторов третьих фирм. Исключением из этого правила является технология XST, используемая в САПР ISE. Использование этой технологии и рассматривается в данной главе.

Работой САПР управляет навигатор проекта (Project Navigator), который предоставляет пользователю удобный интерфейс для работы с проектом. Основное окно навигатора проекта (см. рис. 1) содержит четыре встроенных окна: окно исходных модулей (файлов) проекта (Sources in Project), окно процессов для выбранного исходного модуля проекта (Processes for Current Source), окно консольных сообщений программных модулей (Console) и окно текстового редактора HDL-описаний.

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

Рис. 1. Основное окно навигатора проекта

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

Разработка проекта на базе ПЛИС ведется в системе Simulink. На рабочем листе можно размещать источники сигналов, устанавливать точки наблюдения, а обработку выполняют библиотечные элементы, имеющие однозначное соответствие с готовыми модулями, реализуемыми в FPGA. Также во второй главе представлены основные методы и приемы работы с САПР, в частности: моделирование, синтез и реализация проекта на ПЛИС типа CPLD, синтез и реализация проекта на ПЛИС типа FPGA.

В данной главе представлен состав системы на базе программируемых логических интегральных схем с архитектурой FPGA (рис.2.).

Рис. 2. Пример системы, разработанной с применением САПР

Описываемые разработчиком на VHDL или Verilog, с автоматическим подключением их к процессорной шине (включая как реализацию программно-доступных регистров, так и прерываний, возможности захвата системной шины). При этом, разработчик, выбравший в качестве аппаратной базы стандартный микроконтроллер, не может полагаться на уникальность аппаратного состава своей системы (поскольку любой его конкурент легко может приобрести точно такой же микроконтроллер), и должен достигать более высоких потребительских свойств изделия другими способами — например, более эффективной программной обработкой, низкой ценой, высоким качеством, удачным дизайном и т. д. В данном случае, ПЛИС предоставляет дополнительную степень свободы: возможность реализовать уникальную аппаратную схему, которая и будет являться ключевым моментом для обеспечения конкурентоспособности продукта на рынке. Таким образом, исследована архитектура существующих программируемых логических интегральных схем, а также рассмотрена эффективность реализации адаптивной фильтрации на FPGA.

В третьей главе рассматривается применение адаптивных фильтров, в частности – адаптивного фильтра Калмана. Приведены рекомендации по выбору и использованию методов реализаций адаптивной фильтрации. Фильтр Калмана - это рекурсивный алгоритм оценки неизвестных параметров состояния динамической системы на основе известных выходных значений (наблюдений).

d(k)

 

y(k)

 

x(k)

 
Общая структура адаптивного фильтра представлена на рис.3:

 

Рис.3.

Входной дискретный сигнал x(k), обрабатывается дискретным фильтром, в результате чего получается выходной сигнал y(k). Этот выходной сигнал сравнивается с образцовым сигналом d(k), разность между ними образует сигнал ошибки e(k). Задача адаптивного фильтра — минимизировать ошибку воспроизведения образцового сигнала.

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

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

Для реализации фильтра Калмана нужно:

а) выявить входные воздействия (они влияют на изменение состояния системы) и наблюдаемые значения;

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

в) оценить параметры (дисперсию) шума системы (влияющего на переменные состояния) и шума наблюдений (влияющего, собственно, на наблюдаемые значения);

г) оценить начальное состояние системы, т. е. значения переменных состояния и т. н. ковариацию ошибки оценки;

д) наконец, реализовать алгоритм фильтра в соответствии с хорошо известными формулами, подставив в них параметры.

Моделирование процесса адаптивной обработки сигнала происходит с использованием MATLAB. Моделирование происходит в системе MATLAB Simulink. Simulink, сопутствующая MATLAB программа. Интерактивная система для моделирования динамических систем. Она представляет собой управляемую среду, которая позволяет моделировать процесс путем перетаскивания блоков диаграмм на экране и их манипуляцией. Simulink работает с линейными, нелинейными, непрерывными, дискретными, многомерными системами.

В разделе Simulink, есть раздел SControl System Toolbox, в котором существует функции, реализующие непрерывный фильтр Калмана:

kest, L, P, M, Z] = kalman(sys, Qn, Rn, Nn)

и дискретный фильтр Калмана

[kest, L, P] = kalman(sys, Qn, Rn, Nn, sensors, known)

Приведем пример расчета фильтра Калмана для системы с передаточной функцией W(s) = 100/(s2+s+100), Q=1, R=0.01.

sys=ss(tf(100,[1 1 100]));

[A, B,C, D]=ssdata(sys);

P=ss(A, [B B], C, [D D]);

Kest=kalman(P,1,0.01);

t=0:0.001:5;

u=ones(size(t));

w=rand(size(t))*1000^0.5;

v=rаndn(size(t))*10^0.5;

A1=[-1 -6.25 0 0; 16 0 0 0; 0 54 1 -60.2; 0 41.5 16 -41.5]

B1= [2 2 0; 0 0 0; 2 0 17.3; 0 0 13.3];

C1=[0 3.125 0 0; 0 0 0 3.125];

S=ss(A1, B1,C1,0);

u1=[u; w; v]

[y1 y4]= lsim(S, u1', t);

plot(t, y1(:,1),'-b',t, y1(:,2),':b')

Результаты применения фильтра Калмана показаны на рис. 4. и рис. 5. Рисунок 4. иллюстрирует измеренные и точные сигналы, рисунок 5. – график измеренного (зашумленного) и точного значения выхода системы.

Рис. 4. Измеренный и точный сигналы

Рис. 5. Измеренный и зашумленный сигнал

Также в третьей главе представлен алгоритм подавления шума и выравнивание канала связи. Для правильной работы системы необходимо эхоподавление. Представлен пример модели, позволяющей сравнить качество выравнивания канала связи адаптивными фильтрами, использующими алгоритмы LMS, RLS и Калмана. Исходный сигнал и канал связи использован функции пакета Filter Design.

Рис. 6. Пример использования блоков адаптивных фильтров

В заключении приведены данные о научной новизне и практической

значимости полученных автором лично результатов, выносимых им на защиту.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

1.  Проанализированы методы реализации адаптивного фильтра Калмана на программируемых логических интегральных схемах.

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

3.  Рассмотрена эффективность реализации адаптивной фильтрации на FPGA.

4.  Исследованы возможности автоматизации аппаратной реализации адаптивного фильтра Калмана с использованием моделирования в среде MATLAB.

5.  Разработаны методика и рекомендации по реализации алгоритмов обработки данных на программируемых логических интегральных схемах с архитектурой FPGA.