Oct. 20th, 2009

microwtf

Oct. 20th, 2009 11:16 am
juan_gandhi: (Default)

    private static boolean isSameScreenPoints(int x0, int y0, int x1, int y1)
    {
        return Math.abs(x0-x1)< 1 && Math.abs(x1 - y1) < 1;
    }

juan_gandhi: (Default)
Ну вот, теперь мы получаем с более чем трёх спутников информацию об их положении в пространстве и о том, который на спутнике час. Остаётся вычесть разницу между показаниями наших часов и часов на спутнике, умножить на скорость света - и пожалуйста, имеем расстояние до каждого спутника. Вычисляем пересечение сфер. Две сферы - будет круг, три сферы могут пересечься с кругом в двух точках. Ну или мы найдём точку, ближайшую к кругу и к третьей сфере.

Но для этого надо знать расстояния. Расстояния получаются, если умножить скорость света на время. Скорость света на частоте L1 практически такая же, как и в вакууме; а время вычисляется путём вычитания времени на gps от времени, пришедшего с сигналом. Но тут закавыка получается. Откуда мы знаем, что наш gps синхронизирован со спутниками? Конечно же, нет.

Поэтому на самом деле задачу надо решать не в трёхмерном, а в четырёхмерном пространстве; четвёртое измерение - время; и для этого нужна четвёртая точка, в смысле - четвёртый спутник. Простой способ может быть, например, таким:

- вычислили точку по трём спутникам, в предположении, что часы синхронизированы;
- для четвёртого спутника вычислим расстояние двумя способами: умножением c * dt и по полученным координатам точки;
- разница между этими двумя расстояниями получена из-за расхождения часов. Теперь мы знаем точное время. Сделаем поправку на наших часах;
- по исправленному времени пересчитаем наши координаты.

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

Ну а если время сошлось, то поправка и не нужна.

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

Другой способ устранять ошибки - использовать наземные станции DGPS. Эти станции передают сигнал на низких частотах, и если в вашем приборе есть приёмник, то его сигнал можно использовать, и улучшить точность до сантиметров - как если бы вы использовали военный сигнал P(Y). Первоначально наземные станции были внедрены, чтобы устранить искусственную ошибку, скажем, в авиации - но теперь, хотя и спутники уже не врут, такие станции стоят где ни попадя.

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

У нас имеют место три релятивистских фактора:
- ОТО: на земле гравитация сильнее, чем на высоте 20 тыс км, и в результате наши часы отстают от спутниковых на 45.9 микросекунды в сутки;
- СТО: спутники летают относительно нас, поэтому их часы отстают от наших на 7.2 микросекунды в сутки;
- Эффект Саньяка: мы тут на земле тоже вертимся, и поэтому наши часы относительно спутниковых то спешат, то отстают, в зависимости от того, спутник на западе или на востоке от нас.

Альтернативы.

Китай разрабатывает свою систему, Япония - свою, Индия - свою. Но Индия ещё и с Россией стусовалась на почве использования ГЛОНАСС. В 2007-м году Путин подписал указ, разрешаюший гражданское использование ГЛОНАССа. (Карта покрытия глонасса, сдёрнутая из википедии, выкинута, как не соответствующая законам Ньютона и Кеплера и тому факту, что Земля круглая и вертится.)

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

September 2025

S M T W T F S
 1 23456
78910111213
14151617181920
21222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 6th, 2025 01:19 pm
Powered by Dreamwidth Studios