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

Может 2.4.3 ?

Там настройка отсекает, всё что ближе 15° к горизонту.

Имхо скорости такие не нужны. 38к за глаза даже на 5Hz. Вообще у меня какие-то проблемы с bluetooth - скорость поднять с 9600 у меня не получается. Но её хватает на для 2Hz.

Ошибся, действительно 2.4.3b5

У меня в настройка обычно 5° стоит. Смотрел в rtkplot, там вроде не отсекает.

У bluetooth со стороны компа виртуальный порт, и на нем настройка скорости ни на что не влияет. Там реально скорость вроде больше получается.

Я имел ввиду со стороны arduino. С какой скоростью он там по воздуху передаёт я даже не знаю.

rtknavi (я думаю) игнорирует спутники без phase lock.

Записал в течении 40 минут данные с двух приемников NEO M8N и Sirf III для сравнения. Условия для приема были благоприяные, на открытое месте. Приемники лежали на крыше автомобиля неподвижно, в ~15см друг от друга.
Постобработка: Sirf перевел в RINEX программой sirfdump, NEO M8N - convbin. При просмотре в RTKlib у Sirf III получилось примерно в два раза больше спутников. Если включить NMEA на NEO M8N, то видимость спутников GPS будет примерно одинаковая у обоих приемников.

Для NEO M8N rtkplot не показывает уровень сигнал/шум (SNR). Может нужно включить еще какие-то сообщения на приемнике или покрутить какие-то настройки в rtklib?
В статике между двумя приемниками у меня не удалось получить решение, только Single. Сильный разброс точек у NEO M8N получился видимо из-за меньшего количества спутников и большого HDOP.

Меня пока интересует как получить в RTKlib данные с большего количества спутников для NEO M8N, и почему не удалось получить решение в Static с двух приемников.

Исходные данные + RINEX можно скачать здесь http://rghost.ru/8KFJLlLFw

Какие-то проблемы со временем, надо отрезать парочку сообщений с начала - полночь 19-го и вдруг сразу 10 часов утра 20-го.


15  4 19  0  2 16.0000000  0  2G30G28
15  4 19  0  2 16.5000000  0  2G30G28
15  4 19  0  2 17.0000000  0  2G30G28
15  4 19  0  2 17.5000000  0  2G30G28
15  4 19  0  2 18.0000000  0  2G30G28
15  4 19  0  2 18.5000000  0  2G30G28
15  4 19  0  2 19.0000000  0  3G30G28G13
15  4 20 10 14  7.7000000  0  3G30G28G13
15  4 20 10 14  8.0000000  0  3G30G28G13

Наверное часы не успели синхронизироваться когда началась запись. Обрезал, но принципиально ничего не поменялось.

Сам вот только на днях освоил teqc и у вас там очень печально, данных как бы нет. Плюс мой u-center не понимает сообщения, что у вас записаны, видимо это TRK (или что-то в этом духе)


SV+--------|----------------|---------------|----------------|-------------+ SV
 27|----------------------------------------_______________________________L| 27
 20|---------------------------------------^L______L^^^^^^__________________| 20
 28|------------------------------------------------------------------------| 28
 13|------------------------------------------------------------------------| 13
  5|------------------------------------------------------------------------|  5
  7|------------------------------------------------------------------------|  7
 15|------------------------------------------------------------------------| 15
 19|------------------------------------------------------------------------| 19
 30|------------------------------------------------------------------------| 30
 18|                                                ____________________LL^L| 18
R10| NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN|R10
R 1|     NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN|R 1
R 9|      NNNNNNNNNNNNNNNNNNNNNN                                            |R 9
R 8|          NNN NNN  NNN  NNNNNNNNNNN   NNNNN NNNNNNNNNNNNNNNNNNNNN       |R 8
R 7|             N N       N NN         N            N          NNN         |R 7
R18|                   NNNN   NNNNNNN   N NN                      NNN    NNN|R18
R19|                                                   NNNN      NNNNN    NN|R19
R11|                                                                      N |R11
R16|                                                                       N|R16
 11|                                                                       L| 11
-dn|                                                  ++                    |-dn
+dn|3 3 2 2 2 2 2 2 2 2 3 3 4 4 4 3 3 3 3 2 2 2 1 1 1   1 2 2 3 2 1 2 2 2 42|+dn
+10|999999999999999999999999999999999999999877777777777777777777777777777777|+10
Pos|ooooooooooooooooooooooo        ooo oo          o  oo                    |Pos
Clk|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|Clk
   +--------|----------------|---------------|----------------|-------------+   
10:14:35.500                                                        10:58:24.000
2015 Apr 20                                                          2015 Apr 20

QC Symbol codes for ASCII plot:

Symbol codes for "SV":
(hierarchy is left-to-right, top-to_bottom)
C  receiver clock slip                m  n-msec multipath jump              
I  ionospheric phase slip             M  MP1 and MP2 or MP15 and MP51 slips 
1  multipath MP1 slip only            2  multipath MP2 slip only            
Z  multipath MP15 slip only           5  multipath MP51 slip only           
-  SV above elev mask, but no data    L  Bit 0 of LLI set (rx lost lock)    
?  SV orbit is uncertain              +  SV data, but below elev mask       
^  partial SV data below elev mask    .  no A/S; C/A                        
c  no A/S; L1 C/A                     :  no A/S; L1 P1                      
=  L1 C/A L2C                         z  L1 C/A C5                          
~  no A/S; L1 C/A L2 P2               *  no A/S; L1 P1 L2 P2                
,  A/S on; C/A                        a  A/S on; L1 C/A                     
;  A/S on; L1 P1                      e  L1 C/A L2 L2C                      
s  L1 C1 L5 C5                        o  A/S on; L1 C/A|P1 L2 P2            
y  A/S on; L1 P1 L2 P2                N  data present, but no qc done       
_  no SV data and below elev mask     
note: "no A/S" == GPS antispoofing off or unknown, or not GPS SV

Symbol codes for "Pos" (position):
(hierarchy is left-to-right, top-to_bottom)
^  large position change              X  code position inverse failed       
C  position did not converge          H  large horizontal uncertainty       
V  large vertical uncertainty         T  large total uncertainty            
>  kinematic survey is OK             o  static survey is OK                
O  insufficient observables           E  insufficient ephemerides           
S  insufficient SV set                

Symbol codes for "Clk" (receiver clock):
(hierarchy is left-to-right, top-to_bottom)
-  reset by - msec                    +  reset by + msec                    
^  missing observation epoch(s)       

В вот на интервале в 6 минут, вообще как будто корова языком слизнула

 SV+----|--------|--------|--------|--------|--------|--------|--------|----+ SV
 20|-_               _-------------_                          __------------| 20
 27|-L                          _----------------_                _---------| 27
  5|---_              __-------------_                           _----------|  5
 19|----__                          _---------------_               _-------| 19
  7|----__                      ________                    _---------------|  7
 30|--------_                      _______                     __-----------| 30
 13|c---------_                _----------_                          _------| 13
 15|-------------_                          __-----------_               _--| 15
 28|c------------_                       ___-----__                  _------| 28
 18|_L_----__                  _------------------_                         | 18
R10|NN                                                                      |R10
R 9|N                                                                       |R 9
R 1|NN                                                                      |R 1
R 8|NN                                                                      |R 8
R 7|NN                                                                      |R 7
R18|NN                                                                      |R18
R19|NN                                                                      |R19
R11| N                                                                      |R11
R16| N                                                                      |R16
 11| L----------------------------------------------------------------------| 11
-dn|+                                                                       |-dn
+dn|5                                                                       |+dn
+10|97                                                                      |+10
Pos|^                                                                       |Pos
Clk| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|Clk
   +----|--------|--------|--------|--------|--------|--------|--------|----+
10:30                                                                      10:36
2015 Apr 20                                                          2015 Apr 21

Ну и на 40 минутах, у вас 37 ошибок при конвертации, т.е. где-то раз в минуту не полный пакет. По идее не страшно, но неприятно.

Есть 2 нормальных GPS спутнега (и не хватает части эфемерид для глонасс: N для R7, R8, R18), но к качеству конфигурации у меня много вопросов


$ teqc +qcq +sym -nav Neom8n_15.04.20_14.12.31.gnav Neom8n_15.04.20_14.12.31.obs

 SV+--------|----------------|---------------|----------------|-------------+ SV
R10| LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLccLLLLccLLLLLLLLLLLLccLLLLLL|R10
R 1|     ccccccccccccccccccccccccccccccLcLcLcLccccccccccccccccccccccccccccLL|R 1
R 9|      LLLLLLLLLLLLLLLLLLLLLL                                            |R 9
 30|ccccccccccccccccccccccccLccccLLcLccccLcccccccccccccccccccccLccccccccccLL| 30
 28|ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | 28
  7|cccLcccLcLccLcccLLccLLLLcL     LLL Lc      Lcccc  Lc                  LL|  7
 13|ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccLL| 13
  5|LcccLcccccccccccLccccccLccLcccccccLcccccLcLcccLLccccccLccLcccccccLcccccL|  5
 20|LcLcccLcccLLcccccLccccc     LLLccccccLccL      Lcccccc                  | 20
 15|    LcccccccccLcccccccccccccccccccccccLccccccccccccccccccLcccccccccLccLL| 15
 19|                                                  Lc     LLLcLLc   Lc LL| 19
 27|                                                                       L| 27
 18|                                                                    LLcL| 18
R 8|          NNN NNN  NNN  NNNNNNNNNNN   NNNNN NNNNNNNNNNNNNNNNNNNNN       |R 8
R 7|             N N       N NN         N            N          NNN         |R 7
R18|                   NNNN   NNNNNNN   N NN                      NNN    NNN|R18
R19|                                                   NNNN      NNNNN    NN|R19
R11|                                                                      N |R11
R16|                                                                       N|R16
 11|                                                                       L| 11
Obs|677789aaaabbbbbcbaaccbbaa9aa8a9ba99998999888999a9abba99889999bc9a87889b7|Obs
Pos|                                                                        |Pos
Clk|                                                                      ^ |Clk
   +--------|----------------|---------------|----------------|-------------+   

Только в 8.15 убрали парсер TRK :wink:

А почему там такт 2 Hz ?

У меня были включены только TRK-MEAS, TRK-SFRBX, NAV-TIMEGPS и NAV-CLOCK. Какие вообще ubx сообщения понимает convbin (RTKlib) ?

‘-os’ для SNR и ‘-od’ для Doppler:


$ convbin -f 1 -r ubx -os -od foo.ubx

Как запускали rnx2rtkp ? Я сейчас сам попробую.

Здесь все правильно, проблем нет.

В самом примитивном варианте (надо по уму еще задавать точные координаты базы, иначе rnx2rtkp “получит” их усредненим
и прочие разные мелочи)
у меня все работает


$ rnx2rtkp -c -p 3 Neom8n_15.04.20_14.12.31.obs Neom8n_15.04.20_14.12.31.nav Neom8n_15.04.20_14.12.31.gnav Sirf3_15.04.20_14.12.24.obs Sirf3_15.04.20_14.12.24.nav > C.pos
$ rnx2rtkp -p 3 Neom8n_15.04.20_14.12.31.obs Neom8n_15.04.20_14.12.31.nav Neom8n_15.04.20_14.12.31.gnav Sirf3_15.04.20_14.12.24.obs Sirf3_15.04.20_14.12.24.nav > F.pos

F.pos это имитация RTK режима (forward), а C.pos (combined) это совмещенный вариант вперед-назад, за счет чего и повышается точность
постпроцессинга.

Незнаю :). Посмотрел несколько других записей, там нет скачков в начале и сообщения идут c частотой 1hz.

Я использовал rtkpost, сильно в настройки пока не вникал. Выбрал режим Static, оставил только GPS, добавил .obs c двух приемников и один .nav . Получил все решения Q=5 (Single).

Попробую с rnx2rtkp.

В какой системе? WGS84 (ITRF?) или можно в любой условной?

XYZ или BLH(элл), но это одно и то же.
XYZ в СК-42 вы вряд ли найдете :P,
а так как GPS эфемериды у вас в WGS84, то rtklib будет недоволен
слишком большим расхождением между XYZ WGS84 (которые он сам может оценить) и XYZ в СК-42.
Почему так сделано, я пока не вникал.
Различия между WGS84 и ITRF пока не трогаем.

Можно взять координаты из кодовых измерений? На вектор между ровером и базой мне кажется это не должно повлиять. А определить координаты WGS84 с сантиметровой точностью будет задача нетривиальная.

Они будут слишком неточные, Тогда уж надо брать точные эфемериды (через 2 недели), мерять 24 часа
и считать PPP. Или longbase RTK, но тут бы “сетевое” решение не помешало, а его rtklib
делать как раз не умеет (хотя математика в rtklib почти вся для этого есть).

Для чистого вектора скорее подходит moving base.
Но это эмпирический факт, что совсем произвольные XYZ координаты брать нельзя.
Для реальной “zero baseline” нужен скорее сплиттер.

А у вас там какой-нибудь там ФАГС NNOV нет ?
Плату рекомендую поместить в металлическую коробку, и в перспективе обзавестись
приличной (и относительно) недорогой антенной типа Tallysman со штативом,
если серьезно мерять в районе 1 см.

Edit
В конце периода измерений данные и sirf и ublox сильно зашумлены, как будто их антенны взяли в руки, это надо
вручную вырезать. И еще видно, что sirf очень сглаживает сырые данные, видимо включена опция carrier phase smoothing.

У меня 8.13 и их нет, где есть?