Мой ответ сосредоточится больше на NTP стороне вашего вопроса. Что касается GPS, я изучил этот документ PDF , упомянутый в комментарии mirabilos.
Согласно этому документу, для теплого пуска GPS-приемника вам необходимо знать время в течение 20 с, положение в пределах 100 км, скорость в пределах 25 м / с и данные альманаха не позднее, чем через несколько недель. Вам по-прежнему необходимо загружать данные эфемирид с каждого спутника, что в зависимости от типа приемника GPS занимает от 30 секунд до 3 минут.
Для горячего старта вам также нужны данные эфемерид (они действительны в течение 4 часов). Они также доступны через A-GPS (см. Ниже).
Протокол NTP использует иерархию серверов, начиная с исходного источника времени - GPS, атомных часов, ... Это называется источником stratum-0. NTP-сервер, напрямую связанный с этим источником, называется stratum-1. Сервер, использующий это в качестве вышестоящего сервера, является стратум-2 и так далее. Вам необходимо специально настроенное оборудование, чтобы достичь ошибки менее 1 мс даже для серверов stratum-1 (из-за задержек прерываний процессора, задержек последовательного порта, изменений температурного генератора).
С обычным HW в нормальной сети (например, без насыщенной линии DSL) вы можете достичь точности около 10 мс. Например, NTP pool считает свои серверы действительными и достаточно хорошими, если у них есть точное время в течение 100 мс. Точность времени NTP не зависит от географического положения между вами и NTP-сервером, но больше зависит от уровня, качества этого сервера и того, насколько далеко сервер основан на топологии сети.
Телефоны на базе Android обычно знают время с точностью не менее 1 секунды. Либо через периодическую синхронизацию времени через сеть GSM, либо если доступно соединение для передачи данных (Wi-Fi или сотовая связь), также через NTP.
Для упомянутого приложения FasterGPS - изменение вашего NTP-сервера на лучший не поможет вам получить более быстрый TTFF. Для этого вам понадобится время с точностью до наносекунд, что невозможно через NTP. Только сам GPS-чип способен отслеживать время с такой точностью. Что помогает на Android быстрее иметь TTFF:
- Вы уже хорошо проводите время в течение 20 секунд на своем телефоне Android
- Приблизительная возможность либо через Wi-Fi, либо из сети GSM (в пределах нескольких километров на основе вышек)
- Использование A-GPS - он загружает свежую копию альманаха и эфемерид для всех спутников GPS через Интернет, поэтому вам не нужно загружать ее со спутников GPS (что занимает 30 секунд для эфемерид и 15 минут на альманах). С A-GPS вы можете использовать горячий старт и иметь TTFF менее 10 секунд.