1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-06-25 22:43:14 +00:00

Fix BeiDou telemetry decoder. Fix provided by David Ramati

This commit is contained in:
Carles Fernandez 2019-09-17 18:49:31 +02:00
parent 5fc16677ed
commit 553df7db6a
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D
2 changed files with 12 additions and 6 deletions

View File

@ -150,11 +150,14 @@ void beidou_b1i_telemetry_decoder_gs::decode_bch15_11_01(const int32_t *bits, st
reg[1] *= bit;
}
err = errind[reg[0] + reg[1] * 2 + reg[2] * 4 + reg[3] * 8];
for (int i = 0; i < 4; ++i)
{
reg[i] = (reg[i] + 1) / 2;
}
err = reg[0] + reg[1] * 2 + reg[2] * 4 + reg[3] * 8;
if (err > 0 and err < 16)
{
decbits[err - 1] *= -1;
decbits[errind[err - 1]] *= -1;
}
}

View File

@ -151,11 +151,14 @@ void beidou_b3i_telemetry_decoder_gs::decode_bch15_11_01(const int32_t *bits,
reg[1] *= bit;
}
err = errind[reg[0] + reg[1] * 2 + reg[2] * 4 + reg[3] * 8];
for (int i = 0; i < 4; ++i)
{
reg[i] = (reg[i] + 1) / 2;
}
err = reg[0] + reg[1] * 2 + reg[2] * 4 + reg[3] * 8;
if (err > 0 and err < 16)
{
decbits[err - 1] *= -1;
decbits[errind[err - 1]] *= -1;
}
}