Как стать автором
Обновить

Комментарии 9

Что-то мне кажется, проверка там более грамотная. С такой проверкой, если обновить раньше времени то приемник перепрыгнет на 20 лет раньше срока и будет 2040 год.
Что-то мне подсказывает что в данных поступающих со спутника должны быть и какие-то другие контрольные данные, помимо номера недели.
Проверка может основываться к примеру на основе даты изготовления приемника, если она всяко позже 1999 года то переход счетчика через ноль должен накинуть в энергонезависимой памяти +20 лет, или основываться на последней принятой дате всё в той же энергонезависимой памяти и для этого приемник надо включать по меньшей мере раз в 10 лет. И это всё актуально для оффлайн-приеников, те что с A-GPS получают стартовую дату с наземных станций по другому каналу и способны отследить эти переходы сверяясь с другим источником.
А в чём суть проблемы? Что после «холодного старта» приёмники, выпущенные более 10-15 лет назад, будут в NMEA-сообщениях выдавать неправильную дату?
может штрафы начнут приходить из прошлого…
Дата в GPS состоит из двух частей:
количество недель (от 0 до 1 023 в старом протоколе 10 бит, от 0 до 8 191 в новом 13 бит)
и секундой в неделе (от 0 до 604 800).

Старый протокол используется в оборудовании выпущенном до 2010 года.
И для определения даты, ему необходима приблизительная с точностью до 3584 дней.

Получается что бы 07.04.2019 ваш приемник выдал 21.08.1999 или даже 06.01.1980 он должен быть достаточно старым, и не включавшимся с верной датой более 3584 дней.
Для современных приемников такая проблема случиться в 2137 году, но к тому моменту думаю протокол уже опять измениться.
Ага, и гарантированы вечные допиливания… нет чтобы заранее выделить счетчику недель 20 бит и данная проблема отложилась бы на тысячелетия, а там глядишь уже будут совсем иные навигационные системы.
Возможно даже эти 3 бита с трудом выделили в старых спутниках.
Вот бы про эти технические подробности лучше автор написал, классная статья была бы.
13 бит передается на L2CM, но коммерческие приемники с поддержкой L2 только начали появляться, а так их стоимость от 150 тыс. руб. Да, еще обещают на L1C это передавать, но это новый сигнал и надо бы уточнить какие приемники его сейчас могут поддерживать. Взять например uBlox8 — там указан L1 C/A, стало быть 10 бит со всеми вытекающими. Но думаю они то в софте учли событие 06.04.19
Нужно эпохами проверять начиная с 1980, по 1024 недели. Многие устройства уже с 1999 шлют и там нужно 1024 добавлять. а не 2048.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории