Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выделение полезного сигнала, сглаживание, на фоне шума
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
DmitriyX
Имеется следующая задача на курсовой проект.
Известны отсчеты траектории одного движущегося объекта в прямоугольной системе координат. Существует погрешность измерения положения объекта и шумы. Необходимо на основе полученной информации максимально сгладить шумы, не имея при этом существенного запаздывания воспроизведения траектории (на случай, если объект начнет маневрировать). Объект, допустим, самолет. Обработка в реальном времени.
На данный момент попробовал реализовать стандартный дискретный фильтр Калмана при сглаживании зашумленной гармоники. Если требуется сгладить ее идеально, то обнаруживается запаздывание. А узкополосность может привести к временной потере местоположения реального маневрирующего объекта. Фильтр Калмана - единственное, что я понял на данный момент из области траекторной обработки. Но слышал, что стандартный фильтр Калмана не применим на практике, т.к. при большом уровне зашумленности либо не сглаживает, либо приводит к запаздыванию. И еще я не понял: чем фильтр Калмана лучше стандартного инерционного звена (1/(TS+1)), которое чем уже полоса, тем лучше сглаживает, но больше запаздывает?
Не могли бы Вы посоветовать названия и если можно, то общие идеи, достоинства и недостатки, более совершенных алгоритмов сглаживания/выделения сигнала на фоне больших шумов при траекторной обработке. Или литературу, желательно в электронном виде, в которой может быть интересующая меня информация. Пока не знаю, где копать.

Спасибо огромное всем заранее
Edmundo
Передо мной как раз в настоящее время стоит задача траекторной обработки радиолокационной информации. Правда не для курсового проекта, а для внедрения в РЛС smile.gif
По теории перед "вторичкой" стоит много задач: обнаружение траетории, селекция (оценка) отметок, сглаживание, экстраполяция, обнаружение маневров и т.п. Насколько я понимаю, Вы рассматриваете только одну задачу -- сглаживание (т.е. фильтрацию) отметок.
Что касается фильтрации. Существует два класса алгоритмов: 1) рекурсивные; 2) нерекурсивные.
1-ые требуют только наличия информации на предыдущем шаге и текущих отметок. 2-ые требуют наблюдения на протяжении некоторого времени, поэтому как правило реализуются "скользящим окном". 1-ые более применимы для реальных задач, так как требуют меньше памяти, и вычислительно (в общем случае) более эффективны.
В основном все алгоритмы рекурсивной фильтрации основаны на теории оптимальной и субоптимальной фильтрации (работы Винера, которые продолжил Колмогоров, а затем Калман). Фильтры Калмана -- это условно говоря семейство фильтров с определенными принципами. Реализация их зависит от выбранного критерия оптимизации, от априорных предположениях о характере шумовой обстановки и др. факторов.
Есть еще экспоненциальный фильтр, альфа-бета фильтр, фильтр с конечной выборкой со "скользящим" окном.
Я, честно говоря, еще не вникал глубоко в проблемы фильтрации, так как задача сглаживания передо мной стоит сейчас не особо остро, прежде всего необходимо, чтобы "вторичка" сначала просто задышала. Я реализовал для начала простенький экспоненциальный фильтр. Но планирую использовать расширенный фильтр Калмана.
Литература бумажная: Кузьмин (название не помню -- надо на работе посмотреть), и Фарина (итальянские авторы) -- довольно доступно написана, название тоже завтра напишу, если интересно.
Из электронных есть Skolnik "Radar Handbook"(это классика) но там больше о первичной обработке.
Edmundo
1. С. З. Кузьмин "Основы теории обработки радиолокационной информации", изд-во "Советское радио", 1974.
2. А. Фарина, Ф. Студер "Цифровая обработка радиолокационной информации", изд-во "Радио и связь", 1993.
NickNich
Большая часть алгоритмов сглаживания траектории основана на покоординатном приближении этой траектории полиномами некторой степени (как правило - не выше второй, что соответствует локально-равноускоренному движению). Можно повысить степень приближающего полинома, если уровень измерительных шумов позволяет. Собственно сглаживание, в этом случае, состоит в вычислении колэффициентов этих полиномов по измерениям координат. Ещё, для получения окончательной структуры полиномиального фильтра, требуется критерий качества обработки информации - как правило, это минимум среднего квадрата ошибки в выходной величине фильтра. Как уже было отмечено, вычисление может быть рекурсивным и нерекурсивным.

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

2. Рекурсивные алгоритмы (в т.ч. и фильтр Калмана) строятся на основе того же метода - приближения участка траектории некоторым полиномом. Но здесь уже приближаемым участком является вся пройденная траектория, начиная от момента начала работы измерителя до текущего момента измерения. Эти алгоритмы можно построить так, чтобы они требовали меньше памяти и объёма вычислений. Эти фильтры ещё называются фильтрами с бесконечной памятью.

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

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

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

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

По поводу электронной литературы - поищите "Tracking and Kalman Filtering Made Easy". Я её скачал откуда-то, но не помню откуда...
Stanislav
Можно вот здесь посмотреть. Всё больше "на пальцах", но есть много полезных ссылок и примеров.
DmitriyX
Спасибо огромное всем откликнувшимся, информация в ответах очень понятная и помогла мне. Только я одного не понял: если взять фильтр калмана, который использует только один предыдущий отсчет, а на его выходе значение координаты и скорость ее изменения, то можно ли как-нибудь заставить этот фильтр экспоненциально забывать предыдущие отсчеты, например, через несколько десятков? Связь текущего коэффициента усиления и ковариационной матрицы существует в явном виде только с последним отсчетом, а вот как это связано с предпоследним отсчетом и более ранними, для меня как-то не очевидно, хотя почему-то есть предположение, что ранние координаты постепенно забываются. Если бы он не забывал ни один отсчет, то он ведь не мог бы в этом случае равномерно сглаживать несколько периодов одной гармоники?
NickNich
Для вычисления текущей оценки вектора состояния ФК использует оценку вектора состояния, полученную на предыдущем щаге (которая была получена на основании всех предыдущих отсчётов) и вновь полученный отсчёт координаты. В это сущность рекурсивного метода оценок smile.gif)

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

Экспоненциальное забывание в данном случае делается дополнительным умножением на множитель q>1 (немного, примерно 1.025) ковариационной матрицы предсказанного вектора состояния (ранее я упомянул, что мсатрица шума состояния равна нулю, это так?). Этот метод ещё называется епсилон-механизацией. Такое умножение эквивалентно экспоненциальному росту дисперсии предыдущего отсчёта вектора состояния в обратном времени, или экспоненциальному убыванию веса этого отсчёта в выходной оценке (грубо говоря, вес отсчёта обратно пропорционален его дисперсии).

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

Прочитать про это можно в гугле, поискав по ключевым словам fading memory filters, epsilon-mechanization. Или в книжке, которую я привёл ранее...
Edmundo
Да, книга Брукнера "Tracking and Kalman Filtering Made Easy" действительно неплоха -- все объясняется достаточно простым образом.
Pet'ka
Цитата(Edmundo @ Mar 27 2006, 10:55) *
1. С. З. Кузьмин "Основы теории обработки радиолокационной информации", изд-во "Советское радио", 1974.
2. А. Фарина, Ф. Студер "Цифровая обработка радиолокационной информации", изд-во "Радио и связь", 1993.


Ребята, если есть возможность, поделитесь пожалуйста ссылками на эту литературу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.