Hyppää pääsisältöön

HASlib: avoimen lähdekoodin dekooderi Galileon korkean tarkkuuden palvelulle (HAS)

HASlib on avoimen lähdekoodin ohjelmisto, jonka tarkoitus on helpottaa Galileo-satelliittipaikannusjärjestelmän (GNSS, Global Navigation Satellite System) korkean tarkkuuden paikannuspalvelun (HAS, High Accuracy Service) käyttöä vastaanottimilla ja laskentaohjelmistoilla, joissa ei ole suoraa tukea HAS:lle. HAS on maksuton palvelu, joka mahdollistaa parhaimmillaan 20 senttimetrin paikannustarkkuuden vaakatasossa Precise Point Positioning (PPP) -menetelmällä. HASlib tukee syötteinä Septentrio-vastaanotinten SBF-formaattia sekä vastaanotinriippumatonta BINEX-formaattia (Binary Exchange). HASlibin ulostulona on käyttäjän valinnan mukaan joko RTCM3-standardiluonnoksen mukainen SSR (State Space Representation) tai International GNSS Service (IGS) SSR. Syötteet ja ulostulo voidaan välittää tiedostoina tai TCP-socketin kautta.

HAS, ja yleisesti PPP, perustuvat E6-taajuuden signaalin mukana lähetettävään korjaustietoon, jonka perusteella GNSS-vastaanotin voi poistaa virhelähteitä kuten satelliittien ratatietojen epävarmuutta. PPP:n tarvitseman korjaustiedon esitystavalle ei valitettavasti ole muodostunut mitään yksittäistä standardia. HAS-korjaukset esitetään omassa formaatissaan, joka ei täsmälleen vastaa muita käytössä olevia formaatteja. Tästä syystä HASlib tukee HAS-muotoisen korjaustiedon muuntamista RTCM-SSR:ksi ja IGS SSR:ksi. HASlibin modulaarisen rakenteen ansiosta muiden esitystapojen tuki on tarvittaessa suoraviivaista toteuttaa.

Koska GNSS-satelliitit lähettävät dataa hitaalla nopeudella mutta satelliitteja on näkyvissä useita samaan aikaan, on HAS-korjaukset vastaanottamisen nopeuttamiseksi koodattu High-Parity Vertical Reed–Solomon (HPVRS) -muotoon. Ensin HAS-korjausviesti jaetaan 424 bitin lohkoiksi; viestin pituus voi olla korkeintaan 32 sivua, mutta tyypillisesti viestit ovat lyhyempiä. Tämän jälkeen HPVRS-koodaamalla viestistä muodostetaan 255 kappaletta 424-bittisiä HPVRS-koodilohkoja siten, että alkuperäinen viesti voidaan määrittää, kun on vastaanotettu yhtä monta eri HPVRS-koodilohkoa kuin itse viestissä on lohkoja. Eri Galileo-satelliitit ohjelmoidaan lähettämään eri HPVRS-lohkoja, jolloin vastaanotin kykenee keräämään tarvittavan HPVRS-lohkomäärän nopeasti kuuntelemalla montaa eri satelliittia samanaikaisesti. HASlib ottaa syötteenään GNSS-vastaanottimelta HPVRS-koodilohkoja ja purkaa niistä korjausviestit.

Vain harvat toistaiseksi saatavilla olevista vastaanottimista ja laskentaohjelmistoista tukee HPVRS-koodausta ja HAS-korjausformaattia. HASlibin avulla HAS-korjauksia voidaan käyttää millä tahansa laitteilla ja ohjelmistoilla, jotka tukevat Galileon E6-signaalin vastaanottoa sekä jotakin muuta PPP-korjaustiedon esitystapaa.

HASlib on ladattavissa GitHub-palvelusta European Union Public License (EUPL) -lisenssillä. Sen rakenne on kuvattu Oliver Horstin diplomityössä sekä tiivistetysti julkaisussa Horst et al. 2022. HASlib kehitettiin Euroopan komission (DG-DEFIS) rahoittamassa hankkeessa Precise and Authentic User Location Analysis (PAULA), jonka tunniste on DEFIS/2020/OP/0002.

 

Lisätietoja:

Tutkimusprofessori Zahidul Bhuiyan (zahidul.bhuiyan@maanmittauslaitos.fi)

Tutkimusryhmäpäällikkö Tuomo Malkamäki (tuomo.malkamaki@maanmittauslaitos.fi)