Merge pull request #378 from juribeparada/nxdn

More Viterbi decoder work for NXDN
This commit is contained in:
Jonathan Naylor 2018-02-01 19:09:38 +00:00 committed by GitHub
commit 121af6278b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 34 additions and 31 deletions

View file

@ -77,32 +77,36 @@ bool CNXDNSACCH::decode(const unsigned char* data)
// CUtils::dump("NXDN, SACCH de-interleaved", temp1, 8U);
uint8_t temp2[72U];
uint8_t temp2[90U];
unsigned int n = 0U;
unsigned int index = 0U;
for (unsigned int i = 0U; i < NXDN_SACCH_LENGTH_BITS; i++) {
if (n == PUNCTURE_LIST[index]) {
temp2[n++] = 99U;
temp2[n++] = 1U;
index++;
}
bool b = READ_BIT1(temp1, i);
temp2[n++] = b ? 1U : 0U;
temp2[n++] = b ? 2U : 0U;
}
for (unsigned int i = 0U; i < 8U; i++) {
temp2[n++] = 0U;
}
CNXDNConvolution conv;
conv.start();
n = 0U;
for (unsigned int i = 0U; i < 36U; i++) {
for (unsigned int i = 0U; i < 40U; i++) {
uint8_t s0 = temp2[n++];
uint8_t s1 = temp2[n++];
conv.decode(s0, s1);
}
conv.chainback(m_data, 32U);
conv.chainback(m_data, 36U);
CUtils::dump("NXDN, SACCH decoded", m_data, 4U);