BeiDou B1C Implementation on a Software-Defined GNSS Receiver
Ala-Poikela, Matti (2024)
Ala-Poikela, Matti
2024
Sähkötekniikan DI-ohjelma - Master's Programme in Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2024-12-18
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2024121911438
https://urn.fi/URN:NBN:fi:tuni-2024121911438
Tiivistelmä
Satellite-based positioning and timing have become a crucial part of industry and society in recent decades, which has led to the modernization of Global Navigation Satellite System (GNSS). The Chinese BeiDou is no exception; its new B1C signal has been deployed to offer its users improved services. The signal utilizes techniques typical to the modern GNSS signals, such as Binary Offset Carrier (BOC) modulation, separate pilot and data signal channels, and more efficient navigation message structure. The main objective of this thesis is to demonstrate the signal processing chain required to receive the new B1C signal and exploit its new features, providing a resource for researchers, developers and users in the GNSS field.
The BeiDou B1C signal is implemented on the open-source FGI-GSRx software-defined multi-GNSS receiver, utilizing its existing structure to support the new signal. A total of four signal processing modules, corresponding to the main stages of the receiver, are implemented: B1C pilot and data signal acquisition, B1C pilot and data signal tracking, B-CNAV1 navigation message decoding, and positioning as least squares estimation. The implementation is tested with both simulated and real GNSS data, composed of raw IQ data samples. The performance of the B1C implementation is also compared to the performance of the existing BeiDou B1I signal processing chain using the simulated data. The results are analyzed, and they are used as the basis in the discussion for improving the implementation in the future.
The results of the thesis imply that the implemented modules perform properly, but leave room for improvement to achieve more precise positioning. All satellites within good visibility were acquired with both the data and pilot signal components, and the tracking module performed well with an average Carrier-to-Noise density ratio (C/N0) level of 44.1 dB-Hz in the pilot channel, around 5 dB higher on average than the corresponding data channels. The data decoding was successful for all the tracked channels. The positioning produced a mean Root Mean Square (RMS) error of 6.9 m on the horizontal plane and 6.6 m in the vertical direction using real GNSS data. The comparison of the positioning accuracy between the simulated B1C and B1I signals showed worse performance by the B1C implementation. This could be explained by the twice as fast chip rate of the B1I signal and the coherent integration time of only 1 ms with the B1C signal. The positioning accuracy of the B1C implementation could be improved in future versions by modifying the receiver parameters, such as the coherent integration time in tracking, and using the ionospheric model mentioned in the Interface Control Document (ICD) of the signal. Overall, the current implementation of the B1C signal processing chain produced a great base for future development of the FGI-GSRx receiver, and the thesis shall serve as a good guide for those implementing their own B1C receiver. Satelliittipohjainen paikannus ja ajanmääritys ovat viime vuosikymmeninä tulleet tärkeäksi osaksi teollisuutta ja yhteiskuntaa, mikä on johtanut Global Navigation Satellite System (GNSS) -järjestelmien modernisointiin. Kiinalainen BeiDou-järjestelmä ei ole poikkeus; sen uusi B1C-signaali on otettu käyttöön tarjoten käyttäjilleen parempia palveluja. Signaali hyödyntää moderneille GNSS-signaaleille tyypillisiä tekniikoita, kuten Binary Offset Carrier (BOC) -modulaatiota, erillisiä pilotti- ja datasignaalikanavia sekä tehokkaampaa navigointiviestirakennetta. Tämän opinnäytetyön päätavoitteena on esitellä signaalinkäsittelyketju, joka tarvitaan B1C-signaalin vastaanottamiseen ja sen uusien ominaisuuksien hyödyntämiseen tarjoten resurssin GNSS-alan tutkijoille, kehittäjille ja käyttäjille.
BeiDou B1C -signaali toteutetaan ohjelmistopohjaisessa, avoimen lähdekoodin moni-GNSS- vastaanottimessa, FGI-GSRx:ssä, hyödyntäen sen olemassa olevaa rakennetta. Yhteensä kehite- tään neljä signaalinkäsittelymoduulia, jotka vastaavat vastaanottimen pääosasia: B1C-pilotti- ja-datasignaalien haku, B1C-pilotti- ja -datasignaalin seuranta, B-CNAV1-navigointiviestin dekoodaus ja sijainnin laskenta pienimmän neliösumman menetelmällä. Toteutusta testataan sekä simuloiduilla että reaali-GNSS-datalla, jotka koostuvat raakamuotoisista IQ-datanäytteistä. Lisäksi B1C-toteutuksen suorituskykyä verrataan vastaanottimessa jo löytyvään B1I-signaalinkäsittelyketjuun käyttäen simuloitua dataa. Tulokset analysoidaan, ja niitä käytetään pohjana keskustelulle toteutuksen tulevaisuuden parannuksista.
Tulokset viittaavat siihen, että kehitetyt moduulit toimivat oikein, mutta jättävät parantamisen varaa paikannuksessa. Kaikki hyvän näkyvyyden omaavat satelliitit löytyivät sekä data- että pilottisignaalikomponenteilla. Myös signaalinseuranta toimi hyvin, saavuttaen keskimäärin 44,1 dB-Hz kantoaalto–signaalintiheyssuhteen (engl. Carrier-to-Noise density ratio, C/N0) pilottikanavalla, keskimäärin noin 5 dB korkeampana vastaaviin datakanaviin verrattuna. Datadekoodaus onnistui kaikille seuratuille satelliiteille. Reaali-GNSS-datalle paikannustarkkuuden neliöllinen keskivirhe oli 6,9 m vaakasuunnassa ja 6,6 m pystysuunnassa. Simuloitujen B1C- ja B1I-signaalien paikannustarkkuuden vertailussa B1C-signaali suoriutui huonommin. Tämä voitiin selittää johtuvan pääasiassa B1I-signaalin hyödyntämästä, kaksi kertaa nopeammasta kooditaajuudesta sekä lyhyen, 1 ms koherentin integrointiajan käytöstä vastaanottimen seurantamoduulissa. B1C-toteutuksen paikannustarkkuutta voidaan tulevaisuudessa parantaa muuttamalla vastaanottimen parametreja, kuten koherentin integrointiajan pituutta, ja käyttämällä rajapinnan hallintadokumentissa (engl. Interface Control Document, IDC) mainittua mallia ionosfäärin korjaukseen. Kaiken kaikkiaan nykyinen B1C-signaalinkäsittelyketjun toteutus loi kuitenkin vahvan pohjan FGI-GSRx-vastaanottimen jatkokehitykselle, ja tätä opinnäytetyötä voidaan käyttää ohjeena B1C-vastaanottimen toteuttamisessa.
The BeiDou B1C signal is implemented on the open-source FGI-GSRx software-defined multi-GNSS receiver, utilizing its existing structure to support the new signal. A total of four signal processing modules, corresponding to the main stages of the receiver, are implemented: B1C pilot and data signal acquisition, B1C pilot and data signal tracking, B-CNAV1 navigation message decoding, and positioning as least squares estimation. The implementation is tested with both simulated and real GNSS data, composed of raw IQ data samples. The performance of the B1C implementation is also compared to the performance of the existing BeiDou B1I signal processing chain using the simulated data. The results are analyzed, and they are used as the basis in the discussion for improving the implementation in the future.
The results of the thesis imply that the implemented modules perform properly, but leave room for improvement to achieve more precise positioning. All satellites within good visibility were acquired with both the data and pilot signal components, and the tracking module performed well with an average Carrier-to-Noise density ratio (C/N0) level of 44.1 dB-Hz in the pilot channel, around 5 dB higher on average than the corresponding data channels. The data decoding was successful for all the tracked channels. The positioning produced a mean Root Mean Square (RMS) error of 6.9 m on the horizontal plane and 6.6 m in the vertical direction using real GNSS data. The comparison of the positioning accuracy between the simulated B1C and B1I signals showed worse performance by the B1C implementation. This could be explained by the twice as fast chip rate of the B1I signal and the coherent integration time of only 1 ms with the B1C signal. The positioning accuracy of the B1C implementation could be improved in future versions by modifying the receiver parameters, such as the coherent integration time in tracking, and using the ionospheric model mentioned in the Interface Control Document (ICD) of the signal. Overall, the current implementation of the B1C signal processing chain produced a great base for future development of the FGI-GSRx receiver, and the thesis shall serve as a good guide for those implementing their own B1C receiver.
BeiDou B1C -signaali toteutetaan ohjelmistopohjaisessa, avoimen lähdekoodin moni-GNSS- vastaanottimessa, FGI-GSRx:ssä, hyödyntäen sen olemassa olevaa rakennetta. Yhteensä kehite- tään neljä signaalinkäsittelymoduulia, jotka vastaavat vastaanottimen pääosasia: B1C-pilotti- ja-datasignaalien haku, B1C-pilotti- ja -datasignaalin seuranta, B-CNAV1-navigointiviestin dekoodaus ja sijainnin laskenta pienimmän neliösumman menetelmällä. Toteutusta testataan sekä simuloiduilla että reaali-GNSS-datalla, jotka koostuvat raakamuotoisista IQ-datanäytteistä. Lisäksi B1C-toteutuksen suorituskykyä verrataan vastaanottimessa jo löytyvään B1I-signaalinkäsittelyketjuun käyttäen simuloitua dataa. Tulokset analysoidaan, ja niitä käytetään pohjana keskustelulle toteutuksen tulevaisuuden parannuksista.
Tulokset viittaavat siihen, että kehitetyt moduulit toimivat oikein, mutta jättävät parantamisen varaa paikannuksessa. Kaikki hyvän näkyvyyden omaavat satelliitit löytyivät sekä data- että pilottisignaalikomponenteilla. Myös signaalinseuranta toimi hyvin, saavuttaen keskimäärin 44,1 dB-Hz kantoaalto–signaalintiheyssuhteen (engl. Carrier-to-Noise density ratio, C/N0) pilottikanavalla, keskimäärin noin 5 dB korkeampana vastaaviin datakanaviin verrattuna. Datadekoodaus onnistui kaikille seuratuille satelliiteille. Reaali-GNSS-datalle paikannustarkkuuden neliöllinen keskivirhe oli 6,9 m vaakasuunnassa ja 6,6 m pystysuunnassa. Simuloitujen B1C- ja B1I-signaalien paikannustarkkuuden vertailussa B1C-signaali suoriutui huonommin. Tämä voitiin selittää johtuvan pääasiassa B1I-signaalin hyödyntämästä, kaksi kertaa nopeammasta kooditaajuudesta sekä lyhyen, 1 ms koherentin integrointiajan käytöstä vastaanottimen seurantamoduulissa. B1C-toteutuksen paikannustarkkuutta voidaan tulevaisuudessa parantaa muuttamalla vastaanottimen parametreja, kuten koherentin integrointiajan pituutta, ja käyttämällä rajapinnan hallintadokumentissa (engl. Interface Control Document, IDC) mainittua mallia ionosfäärin korjaukseen. Kaiken kaikkiaan nykyinen B1C-signaalinkäsittelyketjun toteutus loi kuitenkin vahvan pohjan FGI-GSRx-vastaanottimen jatkokehitykselle, ja tätä opinnäytetyötä voidaan käyttää ohjeena B1C-vastaanottimen toteuttamisessa.