Skip to content

JAXA-SNU/MALIB

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MALIB : MADOCA-PPP Library

MALIB is an open source program package especially for MADOCA1-PPP2. MALIB is fork of RTKLIB3.
MALIB support real-time positioning 'rtkrcv' and post-process positioning 'rnx2rtkp' for various receiver including L6E messages.

QUICK start

Extract MALIB.zip or clone the git repository to an appropriate directory <install_dir>.

git clone https://github.com/JAXA-SNU/MALIB.git
rtkrcv (real time processing)
  1. Unzip test data
    Linux :

    tar -zxvf <install_dir>/data/MALIB_OSS_data.tar.gz -C <install_dir>

    Test sample data has these features

    • Fixed point data
    • Open-sky
    • 2024/08/22 11:00:00 - 2024/08/22 12:00:00 (GPST)
  2. Make rtkrcv

    cd <install_dir>/app/consapp/rtkrcv/gcc/
    make clean
    make
    make install
    cd ./../../../../
  3. Execute rtkrcv (replay processing)

    <install_dir>/bin/rtkrcv -o <install_dir>/bin/rtkrcv.conf

    Then open rtkrcv ver.1.0.0 console:

    ** rtkrcv ver.1.0.0  console (h:help) **
    rtkrcv> start
    rtk server start
    rtkrcv> solution 1
    2024/08/22 11:12:04.0 (PPP   ) N:36.06874286 E:140.12834611 H: 111.262
    2024/08/22 11:12:05.0 (PPP   ) N:36.06874284 E:140.12834611 H: 111.264
    2024/08/22 11:12:06.0 (PPP   ) N:36.06874283 E:140.12834611 H: 111.264
    ...
    ...
    2024/08/22 12:00:30.0 (FIX   ) N:36.06874217 E:140.12834622 H: 112.520
    ^C
    rtkrcv> shutdown
    rtk server shutdown ...
  4. Plot data (e.g. RTKPLOT in RTKLIB)
    output data path

    <install_dir>/data/out/rtkrcv_test.pos

    test data reference point

    Latitude   : 36.068742145
    Longitude  : 140.128346910 
    Height     : 112.5059
    
rnx2rtkp (post processing)
  1. Unzip test data (You can skip this step if you already installed in rtkrcv quick start)
    Linux :

    tar -zxvf <install_dir>/data/MALIB_OSS_data.tar.gz

    Test sample data has these features

    • Fixed point data
    • Open-sky
    • 2024/08/22 11:00:00 - 2024/08/22 12:00:00 (GPST)
  2. Make rnx2rtkp

    cd <install_dir>/app/consapp/rnx2rtkp/gcc/
    make clean
    make
    make install
    cd ./../../../../
  3. Execute rnx2rtkp (replay processing)

    <install_dir>/bin/rnx2rtkp -k <install_dir>/bin/rnx2rtkp.conf <install_dir>/data/MALIB_OSS_data_obsnav_240822-1100.obs <install_dir>/data/MALIB_OSS_data_obsnav_240822-1100.nav <install_dir>/data/2024235L.209.l6 -o <install_dir>/data/out/rnx2rtkp_test.pos
    
  4. Plot data (e.g. RTKPLOT in RTKLIB)
    output data path is

    <install_dir>/data/out/rnx2rtkp_test.pos
    

    test data point is

    Latitude   : 36.068742145
    Longitude  : 140.128346910 
    Height     : 112.5059
    

Key Features

  • Based on RTKLIB 2.4.3 b34 modified version
  • Real-time / Post-Process positioning
  • Apply various GNSS satellites (GPS/GLONASS/GALILEO/QZSS)
  • PPP and PPP-AR
  • Apply various L6E data format (e.g. ubx/sbf/msj)
  • Select frequency depends on the GNSS satellites

Note

PPP-AR only works on the ionosphere configuration STEC estimation (pos1-ionoopt =est-stec)

How to use

  1. Download antex file / MADOCA archive data (only for post-processing)
  2. Setup configuration
  3. CUI (rtkrcv/rnx2rtkp)

Download

Download antex file

Download MADOCA-PPP archive data

Tip

GPS week can be checked on this HP. Click here

Configuration

MALIB added these signal select and ignore chi-squared error option

pos2-siggpsIIR-M   =0          # (0:L1C/A-L2P,1:L1C/A-L2C)
pos2-siggpsIIF     =0          # (0:L1C/A-L2P,1:L1C/A-L2C,2:L1C/A-L5)
pos2-siggpsIIIA    =0          # (0:L1C/A-L2P,1:L1C/A-L2C,2:L1C/A-L5)
pos2-sigqzs1_2     =1          # (0:L1C-L5,1:L1C/A-L2C)
pos2-siggal        =1          # (0:E1C-E5a,1:E1C-E5b)
pos2-ign_chierr    =on         # (0:off,1:on)

If you want to use NTRIP

# str1 : Your GNSS Receiver data
# str2 : Correction data (e.g. RTK/DGNSS)
# str3 : Correction data (e.g. PPP)

# Input stream type (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr1-type       =ntripcli    
inpstr2-type       =off         
inpstr3-type       =ntripcli

# Input stream path
inpstr1-path       =[user[:passwd]]@addr:port/mntpnt
inpstr2-path       =                          
inpstr3-path       =[user[:passwd]]@addr:port/mntpnt

# Input stream format (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:sp3)
inpstr1-format     =rtcm3       
inpstr2-format     =
inpstr3-format     =rtcm3       

if you want to use replay on rtkrcv, add ::T::x(time)::+(offset)

# e.g. skip replay data for 10s and offset +30 sec
inpstr1-path       =datapath/dataname.rtcm3::T::x10::+30

Warning

when you use MADOCA Product as ephemeris
pos1-sateph =brdc+ssrapc
then, pos2-ign_chierr = on

CUI (rtkrcv/rnx2rtkp)

rtkrcv : Real-time Positioning

Useage

rtkrcv [-s][-p port][-d dev][-o file][-w pwd][-r level][-t level][-sta sta]
Options and example command

Options

  -s         start RTK server on program startup
  -p port    port number for telnet console
  -m port    port number for monitor stream
  -d dev     terminal device for console
  -o file    processing options file
  -w pwd     login password for remote console ("": no password)
  -r level   output solution status file (0:off,1:states,2:residuals)
  -t level   debug trace level (0:off,1-5:on)
  -sta sta   station name for receiver dcb
  -v|-ver    print version
  -rst ds ts start day/time (ds=y/m/d ts=h:m:s) [raw/rtcm data start time]

Example

cd ./app/consapp/rtkrcv/gcc/
make clean
make
./rtkrcv

console

** rtkrcv ver.2.4.3 b35 console (h:help) **
rtkrcv> help 
rtkrcv (ver.2.4.3 b35)
start                 : start rtk server
stop                  : stop rtk server
restart               : restart rtk sever
solution [cycle]      : show solution
status [cycle]        : show rtk status
satellite [-n] [cycle]: show satellite status
observ [-n] [cycle]   : show observation data
navidata [cycle]      : show navigation data
stream [cycle]        : show stream status
ssr [cycle]           : show ssr corrections
error                 : show error/warning messages
option [opt]          : show option(s)
set opt [val]         : set option
load [file]           : load options from file
save [file]           : save options to file
log [file|off]        : start/stop log to file
help|? [path]         : print help
exit|ctr-D            : logout console (only for telnet)
shutdown              : shutdown rtk server
!command [arg...]     : execute command in shell 

rnx2rtkp : Post-Processing Analysis

Usage

rnx2rtkp [option]... file file [...]
Options and example command

Options

 -?        print help
 -k file   input options from configuration file [off]
 -o file   set output file [stdout]
 -ts ds ts start day/time (ds=y/m/d ts=h:m:s) [obs start time]
 -te de te end day/time   (de=y/m/d te=h:m:s) [obs end time]
 -ti tint  time interval (sec) [all]
 -p mode   mode (0:single,1:dgps,2:kinematic,3:static,4:moving-base,
                 5:fixed,6:ppp-kinematic,7:ppp-static) [2]
 -m mask   elevation mask angle (deg) [15]
 -sys s[,s...] nav system(s) (s=G:GPS,R:GLO,E:GAL,J:QZS,C:BDS,I:IRN) [G|R]
 -f freq   number of frequencies for relative mode (1:L1,2:L1+L2,3:L1+L2+L5) [2]
 -v thres  validation threshold for integer ambiguity (0.0:no AR) [3.0]
 -b        backward solutions [off]
 -c        forward/backward combined solutions [off]
 -i        instantaneous integer ambiguity resolution [off]
 -h        fix and hold for integer ambiguity resolution [off]
 -e        output x/y/z-ecef position [latitude/longitude/height]
 -a        output e/n/u-baseline [latitude/longitude/height]
 -n        output NMEA-0183 GGA sentence [off]
 -g        output latitude/longitude in the form of ddd mm ss.ss' [ddd.ddd]
 -t        output time in the form of yyyy/mm/dd hh:mm:ss.ss [sssss.ss]
 -u        output time in utc [gpst]
 -d col    number of decimals in time [3]
 -s sep    field separator [' ']
 -r x y z  reference (base) receiver ecef pos (m) [average of single pos]
           rover receiver ecef pos (m) for fixed or ppp-fixed mode
 -l lat lon hgt reference (base) receiver latitude/longitude/height (deg/m)
           rover latitude/longitude/height for fixed or ppp-fixed mode
 -ign_chierr ignore chi-square error mode [off]
 -y level  output soltion status (0:off,1:states,2:residuals) [0]
 -x level  debug trace level (0:off) [0]
 -ver      print version

Example

cd ./app/consapp/rnx2rtkp/gcc/
make clean
make
./rnxrtkp

Contributor

Tomoji Takasu
TOSHIBA ELECTRONIC TECHNOLOGIES CORPORATION

Reference

  • RTKLIB : Open source e program package for standard and precise positioning with GNSS (global navigation satellite system).RTKLIB manual is here.
  • MADOCA-LIB : Open source software for MADOCA-PPP (only post-processing)

Directories Structure

tree structure of MALIB
.
├── LICENSE.txt
├── app
│   └── consapp
│       ├── rnx2rtkp
│       │   ├── gcc
│       │   │   └── makefile
│       │   ├── gcc_mkl
│       │   │   └── makefile
│       │   └── rnx2rtkp.c
│       └── rtkrcv
│           ├── gcc
│           │   └── makefile
│           ├── gcc_mkl
│           │   └── makefile
│           ├── rtkrcv.c
│           ├── vt.c
│           └── vt.h
├── bin
│   ├── rnx2rtkp.conf
│   └── rtkrcv.conf
├── data
│   └── MALIB_OSS_data.tar.gz
├── doc
│   ├── doc
│   │   ├── manual.docx
│   │   ├── relnote_2.4.1.htm
│   │   ├── relnotes_2.2.1.txt
│   │   ├── relnotes_2.2.2.txt
│   │   ├── relnotes_2.3.0.txt
│   │   └── relnotes_2.4.0.doc
│   ├── manual_2.4.2.pdf
│   ├── manual_MALIB1.0.0.pdf
│   └── relnote_2.4.2.htm
├── lib
│   └── mkl
│       ├── readme.txt
│       └── redist.txt
├── readme.md
└── src
    ├── convgpx.c
    ├── convkml.c
    ├── convrnx.c
    ├── datum.c
    ├── download.c
    ├── ephemeris.c
    ├── geoid.c
    ├── gis.c
    ├── ionex.c
    ├── lambda.c
    ├── mdccssr.c
    ├── options.c
    ├── pntpos.c
    ├── postpos.c
    ├── ppp.c
    ├── ppp_ar.c
    ├── ppp_corr.c
    ├── preceph.c
    ├── rcv
    │   ├── binex.c
    │   ├── crescent.c
    │   ├── javad.c
    │   ├── novatel.c
    │   ├── nvs.c
    │   ├── rt17.c
    │   ├── septentrio.c
    │   ├── skytraq.c
    │   ├── ss2.c
    │   └── ublox.c
    ├── rcvraw.c
    ├── rinex.c
    ├── rtcm.c
    ├── rtcm2.c
    ├── rtcm3.c
    ├── rtcm3e.c
    ├── rtkcmn.c
    ├── rtklib.h
    ├── rtkpos.c
    ├── rtksvr.c
    ├── sbas.c
    ├── solution.c
    ├── stream.c
    ├── streamsvr.c
    ├── tides.c
    └── tle.c

UPDATE HISTORY

Date version feature
2024/09/27 1.0.0 first trail version MALIB
TBD TBD TBD

|

FAQ

TBD...

Annotation

Footnotes

  1. MADOCA : Multi-GNSS Advanced Orbit and Clock Augmentation

  2. PPP : Precise Point Positioning

  3. RTKLIB : Open source program package for standard and precise positioning with GNSS (Global Navigation Satellite SYstem) URL: https://www.rtklib.com/

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 79.9%
  • MATLAB 9.9%
  • Mathematica 9.4%
  • Other 0.8%