RTKlib/постпроцессинг

Почему “круги” уверенного покрытия на сайте имеют имеют радиус 50 км, если


5.1 Оператор не может гарантировать Пользователю получение качественных результатов 
спутниковых измерений при использовании Услуг в следующих случаях:
...
удаление от референцных станций Сети на расстояние более 25 км;
...

Про “только одну глобальную навигационную спутниковую систему” долго смеялся, видимо имелся в виду глонасс.
Одночастотные GPS приемники нормально работают по моим измерениям и на расстоянии 35 км (ночью и при достаточном количестве спутников)


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

Потому что не все оборудование одинаково хорошо работает, есть приемники которые отлично работают на расстояниях до 75 км, а есть которых еле хватает на 25 км.

Ничего тут смешного нету. На данный момент в хороших условиях и при достаточном количестве спутников, ГЛОНАСС отлично работает как самостоятельная система, GPS можно отключить. Конечно это скажется на точности в худшую сторону, однако работать будет. Так как хорошие условия бывают далеко не всегда, работать порой требуется достаточно в сложных условиях, при использовании только одной системы количество спутников может варьироваться от 6 до 15 при маске в 10° в зависимости от времени наблюдений при отсутствии каких либо препятствий. Наличие в зоне работ объектов препятствующих приему спутниковых сигналов может существенно уменьшить количество наблюдаемых спутников, и их может быть не достаточно для получения фиксированного решения. При использовании двух и более навигационных систем, ситуация существенно улучшается.

Что вы имеете ввиду под нормальной работой? Получение в реальном времени фиксированного решения субсантиметровой точности на расстоянии 35 км одночастотным приемником? Можете продемонстрировать?

usm78-gis
Alexey Illarionov

Нет ли у вас какой-то информации о частоте дискретизации ADC в u-Blox ?
В начальных сёрфах было порядка 24.5 MHz, потом уменьшили до 16.369 MHz. Интересно как у других производителей.

Могу, но не на широте СПб ( 48°N ). Там спутниковая геометрия конечно несколько другая,
но в сухую безоблачную ночь и в открытом поле удалось достичь как раз такой результат.
С чисто метрологической точки зрения о субсантиметровой точности буду уверенно говорить только после
измерения модели антенны.

С этим конечно нельзя не согласиться, но “умельцам” не стоит создавать иллюзию возможности фиксированного решения
в высоком густом еловом лесу, при наличии у них даже самого дорогого трехчастотного и мультисистемного оборудования
и расстоянии < 25 km.

В TO47 с технической грамотностью вообще тяжело, другие TO публиковали и параметры координатных систем и координаты некоторых пунктов ГГС.
На сайте ПКК самого Росреестра в принципе можно получить полигон границ известного зарегистрированного участка прямо в EPSG:3352 (спасибо аркгис)
http://maps.rosreestr.ru/arcgis/rest/services/Cadastre/CadastreSelected/MapServer/1/query?where=cad_num+like+‘47:…’& … &outSR=3352& …
и сравнить с МСК-47-1 доступной любому человеку по запросу.

Росреестр может и таблицу умножения засекретить каким-нибудь ДСП указанием, откуда же мне об этом знать.
У меня вот например в межевом деле написано, что система координат для поворотных точек СК63, но по цифрам (угол поворота к МСК-47-1 / C-2)
я вижу, что это условная система полученная сдвигом СК-1964.
При этом на ПКК участок сдвинут и не имеет общей границы с соседним (т.е. в Росреестре неправильно пересчитывают условную систему в МСК-47).
Виноваты естественно “грамотные” кадастровые инженеры, но я же не пойду объяснять им, что их “секретные” данные неправильны :sunglasses:

Я вроде как-то ранее писал: 3MHz и что-то большее для глонасса.

Это скорее значение опорной частоты кварцевого генератора, зачем такая полоса для невоенного L1 ???

Для снятия фазы C/A. При 16 МГц, получается, точнее чем 1/16 C/A (т.е. 18 метров) мы не можем взять мгновенный отсчет, только за счет усреднения получается что-то вменяемое.
Грустно, конечно. С другой стороны есть подозрение что старые геодезические одночастотники немногим лучше.

Эх, как бы достучаться до Alexey Illarionova, чтобы он написал инструкцию для rtkgps-1.0 alpha3.apk.
Довольно сложно его программу изучать самостоятельно.

Появилась еще одна программа: http://geosystems.aero/products/rv

Пока, к сожалению, потерял интерес к этой теме и нет времени.
Лучше сразу ставить этот форк: rtkgps+. Там больше возможностей.
Работать примерно так же, как и с rtknavi. Кнопки там все те же, только расположены иначе.
Первым делом настраиваем input streams, output streams, log streams (как в rtknavi)
В processing options выбираем positioning mode.
Включаем, смотрим, дальше по ситуации.

У Sirf4 tracker internal clock можно получить из сообщения MID64.1. Он обычно 16MHZ, да.
По докам, это частота кварца. Разные ревизизии Sirf поддерживают разные диапазоны возможных значений. Т.е. эту частоту выбирает производитель устройства. По ревизиям чипсетов Sirf:


GSC3, GSC3f:          13 - 33 MHZ
GSC3e/LP, GSC3f/LP:   13 - 33 MHZ
GSC3LTf, GSC3LTif:    13 - 40 MHZ
GSC3e/LPa:            16, 26 MHZ
GSC3e/LPx, GSC3f/LPx: 13 - 26 MHZ
GSD3tw:               16 - 40 MHZ
GSD4t:                16, 26 MHZ
GSD4e, GSD4e-T:       16, 26 MHZ

В рассылке foss-gps хвалят NV08C.

Что то я не совсем понимаю вашу логику. “Внутренняя частота” у u-blox 8: 120 MHz (u-blox 7: 96 MHz), но она относится к ARM core,
у блока же трекинга/коррелятора свой специализированный DSP для FFT и т.п.

Вроде даже у sirf2 был регистр делителя частоты, который по умолчанию равен 2, и его можно
сделать =1. Но внутренняя структура у sirf2 практически такая же как и у ublox: ARM core + 16битный DSP.
Если центральный процессор справляется с решением навигационной задачи при div=2,
то удвоение частоты только увеличит расход электроэнергии, но не точность решения
(при той же прошивке).

Там больше любители поработать языком собрались.
Хехе, globalsat TR-600glonass подорожал в рублях вдвое.
Автор RTKLIB признал баг с ANTEX и broadcast эфемеридами:


No.121 
    Antenna type "*" is not replaced by RINEX header field "ANT # / TYPE" (RTKPOST, RNX2RTKP ver.2.4.2 p10)
    Even if setting "Options" - "Antenna Type" to * (auto), the antenna type is not replaced by the RINEX header field "ANT # / TYPE".
    It's due to a bug in rtklib/src/postpos.c (L895). 
    The auto read by "*" is only valid with "Satellite Ephemeris/Clock" is set to "Precise" or "Broadcast+SSR CoM". 
    It will be fixed in next patch or release. (2015/01/28)

и это радует. Дифференциальную статику с GPS таким образом можно будет делать с чистой совестью (с калиброванной антенной).

А какую конкретно задачу вы хотите решить ?

Я из описания не понял, что именно она делает.

Как раз эта частота меня и интересует, не частота ARM core (у Sirf3 емнип ARM7 40 MHz; Sirf4 и Sirf5 не знаю).

Она может быть довольно произвольной, надо иметь полный VHDL чтобы
ее осмысленно оценить.

Разобраться с rtk для Novatel OEM-4. Для OEM-4 в rtknavi для Input streams → Receiver option мануал по rtklab отсылает к файлу
rtklab\scr\rcv\novatel, но я так и не понял какие данные надо взять из этого файла и ввести в Reсeiver option.

Описание здесь: https://play.google.com/store/apps/details?id=aero.geosystems.rv.demo

Хмм, по моему так очень понятно написано (правдо неясно что такое Galileo L2)


* notes : to specify input options for oem4, set raw->opt to the following
* option strings separated by spaces.
*
* -EPHALL : input all ephemerides
* -GL1P : select 1P for GPS L1 (default 1C)
* -GL2X : select 2X for GPS L2 (default 2W)
* -RL2C : select 2C for GLO L2 (default 2P)
* -EL2C : select 2C for GAL L2 (default 2C)

Я из него не понял, эта программа функционально аналогична rtklib (использует rtklib?) или
это только “веселые картинки”.

Написал патч для поддержки TRK-SFRB в текущей версии драйвера u-blox,
теперь будут работать все приемники с ublox5 и ublox6.
Получается, что единственное, что мы не поддерживаем из sirf и ublox
это sirf2 xtrack.


--- a/src/rcv/ublox.c
+++ b/src/rcv/ublox.c
@@ -49,6 +49,7 @@
 #define ID_RXMSFRB  0x0211      /* ubx message id: subframe buffer */
 #define ID_RXMSFRBX 0x0213      /* ubx message id: raw subframe data */
 #define ID_RXMRAWX  0x0215      /* ubx message id: multi-gnss raw meas data */
+#define ID_TRKSFRB  0x0302      /* ubx message id: trace subframe buffer */
 #define ID_TRKD5    0x030A      /* ubx message id: trace mesurement data */
 #define ID_TRKMEAS  0x0310      /* ubx message id: trace mesurement data */
 #define ID_TRKSFRBX 0x030F      /* ubx message id: trace subframe buffer */
@@ -874,6 +875,32 @@ static int decode_trksfrbx(raw_t *raw)
     }
     return 0;
 }
+/* decode ubx-trk-sfrb : subframe buffer ---------------------------*/
+static int decode_trksfrb (raw_t *raw)
+{
+    int prn,sat,sys;
+    unsigned char *p=raw->buff+6;
+    
+    trace(4,"decode_trksfrb : len=%d\n",raw->len);
+    
+    prn=U1(p+1);
+
+    if (raw->outtype) {
+        sprintf(raw->msgtype,"UBX TRK-SFRB  (%4d): prn=%3d",raw->len,
+                prn);
+    }
+    if (!(sat=satno(MINPRNSBS<=prn?SYS_SBS:SYS_GPS,prn))) {
+        trace(2,"ubx trksfrb satellite number error: prn=%d\n",prn);
+        return -1;
+    }
+    sys=satsys(sat,&prn);
+
+    switch (sys) {
+        case SYS_GPS: return decode_nav (raw,sat,2);
+        case SYS_SBS: return decode_snav(raw,sat,2);
+    }
+    return 0;
+}
 /* decode ublox raw message --------------------------------------------------*/
 static int decode_ubx(raw_t *raw)
 {
@@ -895,6 +922,7 @@ static int decode_ubx(raw_t *raw)
         case ID_NAVTIME : return decode_navtime (raw);
         case ID_TRKMEAS : return decode_trkmeas (raw);
         case ID_TRKD5   : return decode_trkd5   (raw);
+        case ID_TRKSFRB : return decode_trksfrb (raw);
         case ID_TRKSFRBX: return decode_trksfrbx(raw);
     }
     if (raw->outtype) {


umot, как специалист по Pinnacle, не знаете ли откуда растут уши у следующего
преобразования пулково->wgs84 ? Есть такая программа archaeoSYS,
она говорит в файле DATUMsToWGS84.ini,
что это якобы


[CK-42 ГОСТ P 51794-2001]
scale=-0.12000
DX=26.3
DY=-132.6
DZ=-76.3
Rx=-0.220
Ry=-0.400
Rz=-0.900

в то время как все остальные ссылки указывают на Pinnacle как источник.
Параметры эти совершенно неприемлимы для СПб, так как по ним получается
что WGS84 уровень Финского залива в Кронштадте находится на высоте 21 метра.
При этом как раз именно эти параметры использованы в большинстве документов
комитета по культуре правительства Ленинградской области
для координат в WGS84.

usm78-gis Ну сколько можно тереть про эти параметры? Параметры связи с WGS-84, которые приведены в ГОСТ-е посчитаны на территорию всей страны, их точность составляет около 5-ти метров, о чем в ГОСТ-е 2001 года было написано, однако сведения о точности из ГОСТ-а 2008 года почему-то благополучно исчезли. Эти параметры годятся для навигации. Если требуется решать задачи для геодезии, картографии, кадастра, ГИС в конце концов, то в каждом конкретном месте эти параметры будут свои и посчитать их можно выполнив спутниковые измерения на пунктах существующих геодезических сетей. То что касается высот, то по этим параметрам получаются высоты отсчитываемые от математической поверхности, в частности эллипсоида отсчетной системы, а именно эллипсоида Красовского 1940 года. Для того чтобы получить высоты уровненной поверхности, необходимо применить к геодезическим высотам модель аномалий высот квазигеоида, как минимум EGM 2008, её точность составляет с среднем около 20-30 см, в отдельных местах есть отклонения до 50 см. Собственно об этом написано в любом учебнике по геодезии.

usm78-gis, shteyn во всем прав. В результате преобразования из WGS84-ск42 по данным Гостов,
вы получаете высоты над референц элипсоидом Красовского, а не в Балтийской системе высот.
Для того чтобы, получить координаты базовой станции ее необходимо привязть к местной сети(к пунктам
триангуляции 1,2,3 классов)-не менее 5 пунтов в координатах ск42 или мск. Это согласно пункта 6.2.4
в ГКИНП 02-262-02. Но это важно для геодезии. У вас свои задачи.

Оставлю здесь ссылки для архивов

  1. Координаты базовых станций в WGS-84
    в теме обсуждается эволюция WGS-84 разных эпох и переход между ними и ITRF.

  2. Замечательная книга Кашин Л.А. Построение классической астрономо-геодезической сети Росии и СССР (1816-1991)
    В ней рассказывается о первых измерениях эллипсоидов, а также как десятилетиями гнали полигонометрию на всю страну и столько же обсчитывали. Титаническая работа, вызывает только уважение. Объяснены причины больших невязок при продвижении на Дальний Восток (переход через тектонические разломы).

Вы меня несколько спешите обвинить в незнании элементарных вещей :roll_eyes:
в то время как я говорю о несколько другом.
Естественно, самый технически разумный в долговременной перспективе способ пересчета,
это используя ту же самую сеть “Геоспайдер” составить “grid shift” файл для proj4 в NTv2 формате
(+nadgrids=…) и опубликовать его под открытой лицензией.
Но 7 параметрическое преобразование широко применяется на практике
не только в наборах ГОСТ-2001 и ГОСТ-2008, но и в том о котором я написал.
Первое упоминание о нем, которое я нашел, относится к сентябрю 2001 года ( http://wenku.baidu.com/view/1fa97ade5022aaea998f0f1e.html?pn=227 ):


GPS Receiver Interface Language (GRIL)
Firmware
Version 2.2 
September 7,2001 

GPS Receiver Interface Language (GRIL)

List of Datums supported by TPS receivers
Relationships between local datums and WGS84

100 S-42 (PULKOVO1942) SPK-0 (former Soviet Union (not standard designation) 
                       dX dY dZ  scale(ppm) rx ry rz
Krassovsky1940 26.3 -132.6 -76.3 -0.12 -0.22 -0.4 -0.9

т.е. +ellps=krass +towgs84=26.3,-132.6,-76.3,0.22,0.4,0.9,-0.12
В этом тикете http://trac.osgeo.org/gdal/ticket/3176
приводится современное значение в GDAL
+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.12
оно же используется согласно EPSG и в CK-63 C-2 http://epsg.io/3352 ( http://epsg.io/3352.prettywkt ),
т.е. в Аркгис, т.е. и в ПКК Росреестра.
Обратите внимание на разницу в высоте “пулковской” точки 30°E 60°N 0m:


$ echo "30 60 0" | cs2cs +proj=latlong +ellps=krass +towgs84=26.3,-132.6,-76.3,0.22,0.4,0.9,-0.12 +to +proj=latlong +ellps=WGS84 +towgs84=0,0,0,0,0,0,0
29d59'51.971"E  59d59'59.825"N 21.404
$ echo "30 60 0" | cs2cs +proj=latlong +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.12 +to +proj=latlong +ellps=WGS84 +towgs84=0,0,0,0,0,0,0
29d59'51.854"E  59d59'59.864"N 14.216

Тут я однозначный сторонник ETRS89, уж больно быстро все эти системы двигаются,
хотя плохо представляю какие
последствия это будет иметь “восточнее Новгородской области”
(Альтамими пишет, что должно работать до Урала)