Исследование нюансов U-BLOX LEA-M8F

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

 

1 – Суточные всплески.

Алгоритму дисциплинирования характерен баг, дающий каждые 24 часа сбой дисциплинирования и кратковременный уход частоты.

Длительность и амплитуда всплесков носит случайный характер. Сбой дисциплинирования может длится от нескольких минут, до получаса.

Наибольшая зафиксированная мною ошибка частоты 10 МГц составила 65мГц(6.5ppb), что превышает заявленные в спецификации 5ppb.

2 – Обнаружена постоянная разница частоты.

При сравнении частот синтезируемых с помощью LEA-M8F и HP Z3805A, с применением достаточно большого окна усреднения, на протяжении всех 6-ти дней наблюдения прослеживается постоянный офсет между этими частотами равный -0.22мГц(-0.022ppb).

Причины такого смещения не ясны…. Может пиздит LEA-M8F, а может и Z3805A… Хотя первое мне кажется наиболее вероятным.

3 – Снят детальный график старта модуля.

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

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

Предварительно, были на протяжении 2-х суток вычислены усреднением точные координаты антенны, с ошибкой в 2D плане, не превышающей 0.55м., а модуль переведен в “Position Fix” режим для увеличения точности синтеза частоты и времени.

4 – Идеи про улучшение.

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

По прикидкам, при правильно-написанном алгоритме, горб после 100 сек, можно снизить на много порядков. Благо, оказалось, что можно запретить модулю дисциплинирование, и заставить его измерять ошибку частоты внешнего OCXO, и подавать модулю команды подстройки частоты.

Я попробовал измерять частоту с помощью модуля.

Вышло достаточно шумно, но при достаточном окне усреднения, в ручную выходит неплохо подстраивать. Контроль через частотомер показывает схожий результат, при этом амплитуда шумов значительно меньше, чем при автоматическом дисциплинировании.

Четко прослеживаются два момента, когда я вручную подавал комманды коррекции частоты.

Даже если это оформить в виде non-realtime алгоритма запихнутого в кортекс-ядро Зинки, уже должен быть существенный выигрыш.

Стоит ли это делать для ГЛИН, открытый вопрос, так как даже всплески до 6.5 ppb, в принципе не должны сыграть большой роли… Но если мой внутренний перфекционист победит внутреннего похуиста, может и сделаю нормальную стабилизацию.

Файлы данных можно взять тут.