yoronneko / qzsl6tool

QZS L6 Tool: quasi-zenith satellite L6-band tool
Other
22 stars 11 forks source link

Undefined GNSS ID when decoding HAS messages #39

Closed Vkerker closed 2 months ago

Vkerker commented 5 months ago

Dear Satoshi. Thank you for this amazing project. Currently I encounter an issue when running gale6read.py. After running septread.py to extract Gallileo HAS messages, I run gale6read and at some point it encounters GNSS with id other than 0-5 and returns error. The reciever is Septentrio Mosaic X5, firmware version 4.14.4. This problem occurs from time to time, not with every file. Thank you for your time.

yoronneko commented 4 months ago

Dear Vkerker,

Thank you very much for your report.

I have tried to decode HAS messages from May 1st 2024 to May 5th with my HAS archive data and the latest gale6read.py, and I didn't encounter decode error (the data is not Septentrio receiver output but NovAtel receiver output, however).

In fact, the gale6read.py has omitted CRC test, and the GNSS ID errors would be source of the residual errors due to the Viterbi decoder's error correction.

Please be patient to add the CRC test code to gale6read.py.

yoronneko commented 4 months ago

I remembered I omitted the CRC test because NovAtel receivers did not output neither CRC parity and tail bits for Galileo E6-B raw data.

There may be two ways for resolving this issue; (1) addition of CRC calculation to novread.py and addition of CRC check to gale6read.py, or (2) addition of CRC check to septread.py.

Please give me time to chose the way and fix the issue.

yoronneko commented 2 months ago

I confirmed this error was caused due to CNAV messages that include CRC errors. I updated septread.py to reject erroneous CNAV messages. Ihope this modification resolves the issue.

yoronneko commented 2 months ago

Before modification of septread.py with an example: 2024-05-06 02:05:49 BDSRawB2b C34 eb90890285bc0289c7ffd1a8800c468b5f3ffd7e3eff7c c2200a9218f23d918b224d20a0dc9ba65e05d81efb7680148008ffbae2808473004c5bfc73e04a95 81708bbc0c5d4a7ae8221b0e364b7ddbe105111e522f4a71c91272af84323089a1d7b0b2aa2f5411 1577c80182fc7053f56525c2a8d6978799d3d1458f06 (this includes CRC error...)

After modification: 2024-05-06 02:05:49 BDSRawB2b C22 CRC Error eb909c0785bc0077b44e3fbb121fffa8800f 28370a11d0d73f41c280fff180000010589077a03dc082a30030ba194c6a251230dffeae8e3d0181 38dfe00c584374999add932ebd8cbcaf95befe2c4e12c505ce38e83b4678277931c080b2a394b8e3 df795d3af36fb2260e1cfec5fd5cdd8d1e25d0427e4e9753f6048d