Как я могу рассчитать свое положение (широта/долгота) по последовательности измерений высоты над уровнем моря в известное время?

Задача «вперед» (учитывая время и широту/долготу, найти углы положения Солнца) хорошо документирована, например, здесь . Я пытаюсь решить «обратную» задачу: учитывая время и [последовательность] измерений высоты солнца, найти широту/долготу.

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

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

Астрономическая навигация — это правильная совокупность знаний, но все ссылки, которые я нашел, предполагают трудоемкие измерения (например, секстанты) и простые ручные вычисления. Я могу воспринимать входные данные автономно и непрерывно, и у меня есть доступный компьютер.

Одна вещь, которую вы не упомянули, но которая является абсолютным требованием, - это эфемериды, чтобы сообщить вам положение Солнца (относительно центра Земли) в данное время. Затем проблема упрощается до трехточечной небесной фиксации. Для времени одного измерения используйте эфемериды для вычисления географического положения Солнца (GP) [GP — это широта/долгота на Земле, где Солнце находится прямо над головой]. Если ваше измерение высоты солнца для этого времени составляет 90 градусов, вам повезло, ваше положение равно GP Солнца.
Но, скорее всего, это не будет 90 градусов. Если бы это было 80 градусов, то вы знали бы, что находитесь ровно в 10 градусах от ГП Солнца. Вы можете нарисовать этот круг радиусом 10 на земном шаре. Повторив это для другого измерения, вы начертите на земном шаре другую окружность, которая будет пересекаться с другой окружностью в двух точках. Повторив процесс для третьей точки, вы получите три круга, которые пересекаются в одной точке, и это будет ваша широта/долгота. В действительности этот процесс непрактичен, так как требует, чтобы вы оставались в одном положении в течение длительного периода времени, чтобы проводить измерения достаточно далеко друг от друга, чтобы получить хорошую точность.
@ Грег Миллер, тебе на самом деле не нужно оставаться на одном месте. Вы можете получить утренние и дневные LOP методом перехвата (если у вас есть приблизительное представление о вашем местонахождении). Чтобы найти свое положение (во время дневного наблюдения), переместите утреннюю LOP на засчитанное вами изменение положения. Точность будет снижена из-за неточности в счислении пути.
Какие ощущения вы постоянно и автономно ощущаете во время движения? Какая точность вам нужна?
@stretch, платформа представляет собой предлагаемый высотный «пико-шар» без GPS. С парой вертикальных солнечных элементов, обращенных к горизонту в разных направлениях, и горизонтальным солнечным элементом, обращенным к зениту, мы считаем, что можем получить непрерывную, хотя и зашумленную, запись высоты Солнца. Это предполагает, что полезная нагрузка вращается вокруг вертикальной оси — на самом деле, это зависит от нее — но эта вертикальная ось в значительной степени стабильна (не слишком большая турбулентность). Посмотрим!

Ответы (1)

Уравнение, связывающее высоту, широту и долготу, выглядит следующим образом:

грех а "=" потому что час потому что дельта потому что ф + грех дельта грех ф
где

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

Это дает одно уравнение с двумя неизвестными. Измерив высоту в два разных момента времени, вы получите два уравнения и два неизвестных, которые можно решить для широты и долготы. (Сначала определите часовой угол и широту.)

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

Решение может быть проще, если вы также измерите азимут Солнца; или, по крайней мере, знание азимута (az) даст вам первое приближение к долготе.

загар ( а г ) "=" грех ( час ) потому что ( час ) грех ( ф ) загар ( дельта ) потому что ( ф )

Редактировать: я должен указать, что время должно быть универсальным временем, чтобы определить широту. Время не может быть местным. Например, если сейчас 10 часов утра по местному времени и вы находитесь на 30° широты, Солнце будет находиться в одном и том же основном положении независимо от вашей широты. Исключение составляет случай, когда вы знаете "стандартную широту" для своего часового пояса (0°, 15°, 30°, ...). Затем уравнения можно использовать с местным временем, чтобы найти смещение относительно стандартной долготы.

Грег Миллер также отметил в комментариях, что двух наблюдений и уравнения высоты недостаточно для однозначного определения широты и долготы. Для заданной высоты из наблюдения 1 существует кольцо точек широты и долготы с центром в подсолнечной точке. Наблюдение 2 дает другое кольцо с центром вокруг новой подсолнечной точки. Два кольца пересекаются в 2 точках. Чтобы определить, какая из 2-х точек пересечения правильная, третье наблюдение.

Требуется по крайней мере три точки, в то время как решение будет существовать с двумя точками, обычно будет более одного решения. Например. потому что ф "=" потому что ф . Если у вас есть азимут, вам нужна только одна точка, так как есть только одно место на земле, где объект будет иметь заданную высоту/азимут.
Спасибо, это полезно! Что касается неуникальности, я подозреваю, что одно или другое решение может быть легко исключено на основе физической правдоподобия, по крайней мере, в температурных широтах. «Компьютер» в моем случае — это микроконтроллер, но мы не сильно ограничены в энергии из-за обилия солнечного света, поэтому было бы интересно разработать итеративный решатель для работы на платформе. Телеметрия гораздо более ограничена, поэтому гораздо лучше передавать оценочные координаты, чем передавать кучу наблюдений за Солнцем.
Кроме того, поскольку ориентация платформы неизвестна (хотя мы верим/надеемся, что она будет горизонтальной относительно земной поверхности --- по крайней мере, на усредненной по времени основе), мы не можем измерить солнечный азимут. Может быть, если мы добавим магнитометр...
Магнитометр мало поможет. Поскольку магнитный север и истинный север сильно различаются, вам необходимо знать смещение вашего магнитного склонения, чтобы произвести точное измерение. И вам нужно знать свое местоположение, чтобы вычислить это.
Истинный. Интересно, могли бы вы выполнять итерации туда и обратно до сходимости. Но мы не планируем это пробовать.