Вторник, 26.11.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 61
Гостей: 61
Пользователей: 0
Главная » 2016 » Август » 30 » Улучшение информации от GPS
22:28
Улучшение информации от GPS

Улучшение информации от GPS

Неплохо бы понять, как отклоняются данные по GPS-у. Для этого, думаю, достаточно проехать по одной и той же дороге несколько раз в разные дни и записать информацию при максимальной точности. Отклонения кривых позволят понять, насколько и как «прыгают» в разные стороны данные.
Но ведь это не единственная информация с заведомой погрешностью, с которой приходится иметь дело. Любые экспериментальные данные, мягко говоря, не идеальны. И разнообразные методы, позволяющие улучшить результат давно разработаны.
Но важно понять, как отклоняются данные. Если они «прыгают» вокруг реальной кривой, то можно хоть метод наименьших квадратов использовать для получения реальных данных.
Тут про метод:
http://www.cleverstudents.ru/articles/mnk.html

… а тут online вычисление:
http://www.chem-astu.ru/science/lsq/

Метод позволяет по куче точек, которые теоретически должны быть на прямой найти ту среднюю прямую, которая минимально отклоняется от всех этих точек. Т.е этот метод срезает погрешности информации.
Удачный опыт использования математического аппарата для работы с длинными радиоволнами:
http://akostina76.ucoz.ru/blog/2016-03-29-2789

… Т.е строго говоря, длинные волны слишком плохой инструмент для работы, если просто брать его без обработки. А вот преобразование Фурье позволяет улучшить сигнал, так что этот по природе своей плохенький носитель информации становится вполне пригодным для использования.
Только на практике, т.е увидев что падает из GPS-а и, например, одновременно ГЛОНАССа можно понять, что и как можно сделать в конкретно этой ситуации. Цифры надо посмотреть, как выглядят погрешности надо посмотреть и уже дальше решать. Что конкретно можно сделать в этой конкретной (!) ситуации с этим типом данных.
Решив, можно написать программу, которая будет выводить на траекторию. Можно даже не цеплять ничего к рулю. Точнее прицепить к нему транспортир с градусами:

… и посадить радом штурмана с морскими командами типа «право руля 5 градусов». Этого, теоретически должно хватить для отладки программы и в части математического аппарата и в том, насколько резкими при реальном движении должны быть повороты.
Метод наименьших квадратов используется в довольно редких для дорожных условий случаях прямых линий. Но это, конечно, не единственный метод. Приближать набор случайных точек можно, при желании любой гладкой функцией (для дороги параболы, думаю, хватит). Просто эти методы сложнее.
Этим занимается Кафедра (лаборатория) вычислительной математики:
http://www.math.spbu.ru/rus/apmath/96-computational-mathematics.html

… т.е им что-то приносят а они из этого должны выдернуть более-менее точное решение. «Что-то» может быть и системой уравнений, не решаемой аналитически и набором экспериментальных данных, в которых «запрятана» реальность и вообще чем угодно.

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

… экспериментальные точки синие, искомая прямая красная, а голубым показаны расстояния от точек до прямой. Прямая должна быть такая, чтобы сумма этих расстояний была минимальна. Логично предположить, что это и будет прямая реальной информации, с которой убраны помехи.
Любая прямая это функция y=a*x+b. Т.е надо по конкретному набору точек найти значения a и b.
Тут:
http://www.cleverstudents.ru/articles/mnk.html


… примерно это и написано. Только использоваться будет не разность, а квадрат разности отличий (прямой от точек эксперимента). Разницы никакой. Сумма квадратов тоже должна быть минимальна.
Уже произошло нечто очень важное. Во-первых, сменились координаты. Обычно это X и Y, но с ними всё известно. В них константы точек. Координатами стали искомые параметры a и b. Но стало ещё интереснее. Появилась функция F от этих параметров, т.е F = F(a,b). А это уже не график, это уже поверхность, с какими-то горами, впадинами, складками и т.д. Надо найти минимум этой функции, т.е «яму» поверхности, точнее координаты a и b, по которым находится «яма».
В тексте по ссылке про это написано так:
Таким образом, решение примера сводится к нахождению экстремума функции двух переменных.
.. Экстремум это всего лишь максимум или минимум. Для функции от одной переменной, т.е для графика это так:

Расположение экстремума найти довольно просто. Надо приравнять к нулю первую производную (dy/dx). В «горбе» и «яме» приращение Y в таких местах равно нулю. Это и позволяет найти экстремум-максимум-минимум.
В случае же поверхности с двумя координатами, на которой требуется найти «яму», надо приравнять к нулю производные по двум координатам. Если приравнять к нулю только одну производную, то может получиться так:

Синяя кривая – минимум по одной координате, но ещё не «яма» поверхности. «Яма» - голубая траектория.
Тут это и написано:

При преобразованиях получилась система всего лишь двух уравнений, в которых неизвестны a и b.
Не сложно найти их значения, даже это:
http://akostina76.ucoz.ru/blog/2016-08-26-3357

… не требуется. Вот значения:

Если хочется получить не прямую, а гладкую кривую, например, параболу, то в примерно то же самое надо засунуть не y=a*x+b а y=a*x*x+b*x+c (и получить уже три параметра искомой функции: a,b,c).

Просмотров: 296 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz