mirror of https://github.com/lwvmobile/dsd-fme.git
Convolutional Decoder Tweaks/Tests;
This commit is contained in:
parent
23e1c23789
commit
18f24215e5
|
|
@ -1040,6 +1040,7 @@ void CNXDNConvolution_start(void);
|
|||
void CNXDNConvolution_decode(uint8_t s0, uint8_t s1);
|
||||
void CNXDNConvolution_chainback(unsigned char* out, unsigned int nBits);
|
||||
void CNXDNConvolution_encode(const unsigned char* in, unsigned char* out, unsigned int nBits);
|
||||
void CNXDNConvolution_init();
|
||||
|
||||
//keeping these
|
||||
void NXDN_SACCH_Full_decode(dsd_opts * opts, dsd_state * state);
|
||||
|
|
|
|||
|
|
@ -1559,6 +1559,7 @@ main (int argc, char **argv)
|
|||
initState (&state);
|
||||
|
||||
InitAllFecFunction();
|
||||
// CNXDNConvolution_init(); //seems to function better without initting it
|
||||
|
||||
exitflag = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -45,17 +45,16 @@ static const uint8_t CNXDNConvolution_BRANCH_TABLE1[8] = {0U, 0U, 0U, 0U, 2U, 2U
|
|||
static const uint8_t CNXDNConvolution_BRANCH_TABLE2[8] = {0U, 2U, 2U, 0U, 0U, 2U, 2U, 0U};
|
||||
|
||||
static const unsigned int CNXDNConvolution_NUM_OF_STATES_D2 = 8U;
|
||||
//static const unsigned int CNXDNConvolution_NUM_OF_STATES = 16U;
|
||||
static const uint32_t CNXDNConvolution_M = 4U;
|
||||
static const unsigned int CNXDNConvolution_K = 5U;
|
||||
|
||||
//NOTE:
|
||||
static uint16_t m_metrics1[16U];
|
||||
static uint16_t m_metrics2[16U];
|
||||
static uint64_t m_decisions[300U]; //300
|
||||
static uint16_t * m_oldMetrics = NULL;
|
||||
static uint16_t * m_newMetrics = NULL;
|
||||
static uint64_t * m_dp = NULL;
|
||||
uint16_t m_metrics1[16];
|
||||
uint16_t m_metrics2[16];
|
||||
uint64_t m_decisions[8*300];
|
||||
uint16_t * m_oldMetrics = NULL;
|
||||
uint16_t * m_newMetrics = NULL;
|
||||
uint64_t * m_dp = NULL;
|
||||
|
||||
/* Functions ----------------------------------------------------------------*/
|
||||
|
||||
|
|
@ -163,10 +162,12 @@ void CNXDNConvolution_start(void)
|
|||
m_newMetrics = m_metrics2;
|
||||
m_dp = m_decisions;
|
||||
|
||||
memset(m_metrics1, 0x00U, sizeof(m_metrics1));
|
||||
memset(m_metrics2, 0x00U, sizeof(m_metrics2));
|
||||
memset(m_decisions, 0x00U, sizeof(m_decisions));
|
||||
|
||||
for (int x = 0; x < 4; x++) CNXDNConvolution_decode(0U, 0U);
|
||||
}
|
||||
|
||||
void CNXDNConvolution_init()
|
||||
{
|
||||
memset(m_metrics1, 0xFF, 16*sizeof(uint16_t));
|
||||
memset(m_metrics2, 0xFF, 16*sizeof(uint16_t));
|
||||
// memset(m_decisions,0xFF, 8*300*sizeof(uint64_t));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue