GLONASS inter
frequency channel delays are compensated with
an internal calibration table.
что подразумевает либо заводскую калибровку (наиболее вероятное)
или автокалибровку по измерениям GPS.
Вторая важная фраза касается корректировки фазы
Clock resets are applied to both
phase and code measurements in accordance
with the RINEX specification
и ранее здесь обсуждалась.
Версия прошивки с RXM-RAWX → EXT 2.30,
и сравнив сырые данные из RXM-RAWX и TRK-MEAS
можно будет удостовериться в правильности текущего драйвера для u-blox
(у меня есть тут некоторые сомнения, + очевидная проблема с > 10 Hz).
You don’t need 7P firmware to get raw data from NEO-7X.
The TRK-TRKD5 and TRK-SFRBX messages
can be enabled by adding the following lines (depending on the output port)
С одной стороны это хорошо, но уж больно много в тексте мелких огрехов:
не указана версия NVS (hardware и firmware)
на 3434 OBS приходится 112 ошибок. и это при том, что NVS драйвер в rtklib даже не проверяет контрольную сумму.
тут какая-то кривизна конфигурации.
в окне RTKCONV незачем включать SBAS и L2 (как и D, так как rtklib его не использует)
в окне RTKPOST только одна строчка для файлов эфемерид. Подозреваю что они НЕ для глонасс и только для ровера
поэтому писать в заголовке "ГЛОНАСС*, GPS*, Open source* " не совсем корректно, раз
уж используются только данные GPS.
Параметры антенны не используются (хотя дальше в обсуждении упоминается ANTEX для TW3870)
Ни слова про базу и параметры ее данных (видно только что она ближе 100 метров, т.к. B=0.0 km)
usm78-gis
Прошу практического совета, чем вообще патчат ARM-код под виндовс ? У меня сейчас тулчейн такой
посмотреть в Иде что там делает код
написать заплатку на C в VS 2005
копильнуть в obj или exe
посмотреть, что получилось, в Иде (те ли регистры передают данные, сохраняются ли в стеке и пр.)
скопировать/написать ассемблерный ARM-код, подправить, если надо
компильнуть майкрософтовским armasm
открыть получившийся бинарник каким-либо отладчиком (или Идой), найти код, скопировать hex
вставить hex Идой в бинарник
проверить ссылки на вызываемые процедуры, посчитать на калькуляторе нужные смещения, исправить все вызовы
Для несложного кода п.п.2-4 можно опустить, но всё-равно по сравнению с x86 это просто умопомрачение - там всё решается целым выбором инструментов (ida, ollydbg, hiew) и всего одним пунктом “открыть файл - вставить мнемонику asm”.
Последние два дня поездил с записью L1 Carrier (софт коммерческий, приемник начального уровня на сёрфе с разлоченой фазой). Антенна обычная автомобильная patch на магните.
Первый день по МКАД и Ленинградке, carrier lock стабильный, до получаса не срывался. На следующий день обработал с данными IGS Менделеево, в полном восторге, небо и земля по сравнению с кодовой коррекцией, вплоть до 0.2 м float решение.
Differential Correction Summary:
1 file processed. In this file:
4565 (100.0%) of 4567 selected positions were code corrected by post-processing
2156 (47.2%) of 4567 selected positions were carrier corrected by post-processing
145 (6.7%) of code positions chosen over carrier, as they were of higher quality
Estimated accuracies for 4565 corrected positions are as follows:
Range Percentage
---------- ----------
0-15cm -
15-30cm 7.0%
30-50cm 11.5%
0.5-1m 22.6%
1-2m 28.4%
2-5m 29.0%
>5m 1.5%
На второй день ездил по Новокуркинскому шоссе. Здания вроде далеко, но высокие. Самый продолжительный блок carrier получился 40 минут, но фаза вообще не обработалась, только код.
--------------------------------------------------
Differential Correction Summary:
1 file processed. In this file:
4565 (100.0%) of 4567 selected positions were code corrected by post-processing
0 (0.0%) of 4567 selected positions were carrier corrected by post-processing
Estimated accuracies for 4565 corrected positions are as follows:
Range Percentage
---------- ----------
0-15cm -
15-30cm -
30-50cm -
0.5-1m 0.2%
1-2m 53.7%
2-5m 45.3%
>5m 0.7%
Выводы:
Нужна более качественная антенна (это было сразу понятно, но я пока не готов покупать такое крепление для авто).
Даже внутренний контроль при сборе данных (счетчик carrier lock) не гарантирует, что данные обработаются.
Приходится подстраивать маршрут, чтобы не проехать под мостом или рядом со зданиями. Практически нереально в городе.
Кодовая коррекция имеет право на существование.
Если кто-то будет писать юзер-интерфейс для сбора данных и последующей постобработки RTKLib, можно перенять следующие вещи.
Счетчик carrier lock. Каждый спутник оценивается по флагам приёмника (есть во всех приёмниках с сырыми данными) “L1 Valid”, “Carrier Lost”, по уровню сигнала >30 db*Hz, возвышению > 10° и т.д.
Далее таких спутников непрерывно должно быть >= 5 штук. При невыполнении любого условия счётчик сбрасывается в ноль и начинай сначала.
Минимально полезная длина блока - 10 минут, чем дольше, тем точнее (гиперболическая зависимость, примерно через 40-60 минут точность уже на максимуме).
Таким образом ещё в поле видно качество собираемого материала L1, но, как я написал выше, не гарантия что он будет успешно обработан. В этом отношении RTK интереснее, но в разы сложнее в реализации.
Настройки можно менять, например, ползунком. Слева “Productivity” vs справа “Accuracy”, соответственно чем дальше ползунок вправо - тем жестче маски-условия для счётчика carrier lock. Некогда в поле набивать циферки.
Код обрабатывается всегда (за исключением совсем экзотичных случаев < 4 спутников), т.е. эта технология хоть и менее точная, но самая устойчивая в городских условиях.
ОДНАКО если для L1 достаточно 30-секундных ринексов базы, то для кода крайне желательно 1-5 секунд (плохие результаты во второй врезке, похоже, именно из-за этого).
Также случайно нашел познавательное видео для начинающих, чтобы понять сколько времени требуется на “точный GPS” и не испытывать потом разочарований Заодно можно посмотреть на обычный для большинства полевых контроллеров интерфейс (WinCE->WM6.5). Андроид только начинает вхождение на этот рынок, но, видимо, процесс этот неизбежен.
chnav у меня нет опыта работы с отладчиком ida для arm, так как меня интересовали 2 класса проблем:
прямое взаимодействие с железом, и алгоритмы. В первом случае отладчик применить практически невозможно,
а для алгоритмов на мой взгляд более адекватен статический анализ.
usm78-gis
Видимо я неправильно выразился. Мне нужен inline assembler - набил мнемонику ARM, получил hex. После долгих поисков нашел radare и Rasm, думал может есть что-то более приглядное с GUI.
В то время как в Москве наконец таки опубликовали “официальные” координаты (ГГСК-2011) 9 станций ФАГС http://geod.ru/data/fags/
в Петербурге и области появился новый NTRIP caster (48 т.р. доступ к сети “ГЕОСПАЙДЕР”)
включающий в себя 2 станции IGS/EUREF, 10 станций КГА и 9 собственных в области.
Так как данные PULK и SVTL общедоступны, а для GORN на сайте КГА опубликован 1 час 10секундного RINEX
(L1/L2 GPS+GLO: gorn254a.12o, gorn254a.12g, gorn254a.12n, расстояние GORN-PULK ~ 18.2 км)
GORN MARKER NAME
GORN MARKER NUMBER
OBSERVER / AGENCY
1700739 LEICA GR10 1.00/4.007 REC # / TYPE / VERS
LEIAR25 NONE ANT # / TYPE
0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N
1 1 WAVELENGTH FACT L1/2
4 C1 L1 P2 L2 # / TYPES OF OBSERV
10.000 INTERVAL
2012 09 10 00 00 0.0000000 GPS TIME OF FIRST OBS
2012 09 10 00 59 50.0000000 GPS TIME OF LAST OBS
остается только гадать, какие такие ииновации заключаются в сдвиге высоты на
~ 5.23 метра относительно опубликованных КГА (doc_h и более или менее совпадающих с ETRF),
а также горизонтальные отклонения от ITRF/ETRF.
Такой грубой ошибки я сделать не мог, хотя бы потому, что у них в заголовке для GORN стоят на самом деле координаты MDVJ (!)
2844679.9015 2161056.4418 5266376.1712 APPROX POSITION XYZ
Теперь при отладке учета параметров антенн натолкнулся еще на один баг: они считываются только
если использовать точные эфемериды.
Забавно, что сегодня еще один человек уже добавил этот баг в трекер https://github.com/tomojitakasu/RTKLIB/issues/64
5 метровый сдвиг по высоте подозреваю возникает из-за использования кем-то
программы TransLine, так любимой на geodesist.ru: при пересчете пулково → wgs сдвиг высот
у нее почему-то порядка 20-21 метр, вместо 15-16.
Как же все таки достали эти местные системы
Еще раз убеждаюсь, что для ОСМ надо зафиксировать какую-нибудь эпоху
как “официальную ОСМ” ETRS89 и пользоваться исключительно UTM.
время регистрации и настройки для быстрой статики с одночастотным приёмником Trimble и геодезической антенной, выдержка из инструкции Trimble Digital Fieldbook
• Survey type = FastStatic
• Logging interval = 15 seconds
• Elevations mask = 13 degrees
• PDOP mask = 6.0
L1 default measurement times:
• Time for 4 satellites = 30 minutes
• Time for 5 satellites = 25 minutes
• Time for 6 satellites = 20 minutes
примерно достижимая точность с одночастотным приёмником, для статики и PPK (post-processed kinematic), в зависимости от непрерывности блока L1
Typical accuracies achieved after carrier phase data collection
Time since acquiring lock Accuracy
10 minutes 20 cm +5ppm
20 minutes 10 cm +5ppm
45 minutes 1 cm +5ppm
Добавлены патчи, разблокирующие фазу у примерно 20 устройств, версий прошивок от 3.0.2 до 3.6.0. Написаны инструкции по перепрошивке SirfIII на Windows, WinCE и процесс восстановления после неудачи.
Из интересного. У нас уже давно была прошивка от TomTom MKII (GSW3.0.2TomTom1.1_3.0.00.03-C3P1.02, файл TomTomMkII-302-factory-reset.bin). Судя по всему, в ней фаза не залочена и доступна “из коробки”. К сожалению, проверить негде - устройства нет, а на других устройствах она не работает.
У Compass(BeiDou) есть какие-нибудь перспективы?
У нас до февраля открыт тестовый доступ к местной сети референцных станций, и в rinex я его наблюдаю, с достаточно хорошими уровнями сигнала.
(added)
В субботу ездил в Шереметьево, записал 45 минут данных на парковке. До IGS Менделеево 14 км. Приемник iPaq rx5940, китайская патч-антенна на тонком 3м кабеле.
Logged Points
Name Components 95% Error Status
SVO2 Long 37° 24' 43.90961"E 0.015 Adjusted
Lat 55° 57' 32.36754"N 0.020 Adjusted
Ellips height 191.873 0.026 Adjusted
Processed vectors
Vector 95% Vector 95%
Vector Identifier Length Error Components Error SV PDOP QA Solution
MDVJ - SVO2 14165.685 0.069 X -2919.898 0.028 7 2.5 No Fixed
15/01/10 08:51:53.00 Y 13287.742 0.028
+00:45:00.00 Z -3946.737 0.028
Пришлось повозиться с обработкой, подозреваю вредит multipath (было видно на графиках невязок). Я то думал крыша автомобиля сама по себе работает как groundplane…
В следующий раз постараюсь доехать до Зеленограда и записать максимум возможных устройств, особенно SiRF Star IV.
Я писал здесь о прошивке sirf3 для HTC Athena, нельзя ли ее тоже … того …
Гармин 60csx,60cx,76csx,76cx это практически один и тот же девайс
c антенным MCX разъемом. Перепрошить его легко, но пока никто не
доказал, что можно “ретранслировать” sirf binary в виде неких
проприетарных garmin binary сообщений на внешний последовательный
или USB порт.