mirror of
https://github.com/g4klx/MMDVMHost.git
synced 2026-04-21 06:13:49 +00:00
Merge pull request #378 from juribeparada/nxdn
More Viterbi decoder work for NXDN
This commit is contained in:
commit
121af6278b
4 changed files with 34 additions and 31 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue