mirror of https://github.com/lwvmobile/dsd-fme.git
Fixed some compilation warnings and added a few comments.
This commit is contained in:
parent
01a2b6959a
commit
b45e563e54
13
descramble.h
13
descramble.h
|
|
@ -166,16 +166,21 @@ void viterbiDecode (int n, int *data, int *m_pathMemory0, int *m_pathMemory1, in
|
|||
int FECdecoder (int * in, int * out) {
|
||||
int outLen;
|
||||
|
||||
int m_pathMemory0[330]; memset(m_pathMemory0,0,330*sizeof(int));
|
||||
int m_pathMemory1[330]; memset(m_pathMemory1,0,330*sizeof(int));
|
||||
int m_pathMemory2[330]; memset(m_pathMemory2,0,330*sizeof(int));
|
||||
int m_pathMemory3[330]; memset(m_pathMemory3,0,330*sizeof(int));
|
||||
int m_pathMemory0[330];
|
||||
int m_pathMemory1[330];
|
||||
int m_pathMemory2[330];
|
||||
int m_pathMemory3[330];
|
||||
int m_pathMetric[4];
|
||||
|
||||
int loop,loop2;
|
||||
|
||||
int n=0;
|
||||
|
||||
memset(m_pathMemory0,0,330*sizeof(int));
|
||||
memset(m_pathMemory1,0,330*sizeof(int));
|
||||
memset(m_pathMemory2,0,330*sizeof(int));
|
||||
memset(m_pathMemory3,0,330*sizeof(int));
|
||||
|
||||
for (loop=0;loop<4;loop++) {
|
||||
m_pathMetric[loop]=0;
|
||||
}; // end for
|
||||
|
|
|
|||
5
dsd.h
5
dsd.h
|
|
@ -15,6 +15,9 @@
|
|||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef DSD_H__f8398b5f0d5d49a1be2f1645325dfdb2
|
||||
#define DSD_H__f8398b5f0d5d49a1be2f1645325dfdb2
|
||||
|
||||
#include "config.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
@ -264,3 +267,5 @@ void processX2TDMAvoice (dsd_opts * opts, dsd_state * state);
|
|||
void processDSTAR_HD (dsd_opts * opts, dsd_state * state);
|
||||
short dmr_filter(short sample);
|
||||
short nxdn_filter(short sample);
|
||||
|
||||
#endif // DSD_H__f8398b5f0d5d49a1be2f1645325dfdb2
|
||||
|
|
|
|||
28
dsd_dibit.c
28
dsd_dibit.c
|
|
@ -189,32 +189,43 @@ getDibit (dsd_opts * opts, dsd_state * state)
|
|||
{
|
||||
*state->dibit_buf_p = 1;
|
||||
state->dibit_buf_p++;
|
||||
return (0);
|
||||
return (0); // +1
|
||||
}
|
||||
else
|
||||
{
|
||||
*state->dibit_buf_p = 3;
|
||||
state->dibit_buf_p++;
|
||||
return (1);
|
||||
return (1); // +3
|
||||
}
|
||||
}
|
||||
else if ((state->synctype == 7) || (state->synctype == 15)|| (state->synctype == 19))
|
||||
{
|
||||
// 7 -D-STAR
|
||||
// 15 -ProVoice
|
||||
// 19 -D-STAR_HD
|
||||
|
||||
if (symbol > state->center)
|
||||
{
|
||||
*state->dibit_buf_p = 1;
|
||||
state->dibit_buf_p++;
|
||||
return (1);
|
||||
return (1); // +3
|
||||
}
|
||||
else
|
||||
{
|
||||
*state->dibit_buf_p = 3;
|
||||
state->dibit_buf_p++;
|
||||
return (0);
|
||||
return (0); // +1
|
||||
}
|
||||
}
|
||||
else if ((state->synctype == 1) || (state->synctype == 3) || (state->synctype == 5) || (state->synctype == 9) || (state->synctype == 11) || (state->synctype == 13))
|
||||
{
|
||||
// 1 -P25p1
|
||||
// 3 -X2-TDMA (inverted signal voice frame)
|
||||
// 5 -X2-TDMA (inverted signal data frame)
|
||||
// 9 -NXDN (inverted voice frame)
|
||||
// 11 -DMR (inverted signal voice frame)
|
||||
// 13 -DMR (inverted signal data frame)
|
||||
|
||||
if (symbol > state->center)
|
||||
{
|
||||
if (symbol > state->umid)
|
||||
|
|
@ -248,6 +259,15 @@ getDibit (dsd_opts * opts, dsd_state * state)
|
|||
}
|
||||
else
|
||||
{
|
||||
// 0 +P25p1
|
||||
// 2 +X2-TDMA (non inverted signal data frame)
|
||||
// 4 +X2-TDMA (non inverted signal voice frame)
|
||||
// 8 +NXDN (non inverted voice frame)
|
||||
// 10 +DMR (non inverted signal data frame)
|
||||
// 12 +DMR (non inverted signal voice frame)
|
||||
// 16 +NXDN (non inverted data frame)
|
||||
// 17 -NXDN (inverted data frame) ???
|
||||
|
||||
if (symbol > state->center)
|
||||
{
|
||||
if (symbol > state->umid)
|
||||
|
|
|
|||
|
|
@ -112,5 +112,5 @@ dsd_input_filter(short sample, int mode)
|
|||
for (i = 0; i <= zeros; i++)
|
||||
sum += (coeffs[i] * v[i]);
|
||||
|
||||
return sum / ngain; // filtered sample out
|
||||
return (short)(sum / ngain); // filtered sample out
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ processFrame (dsd_opts * opts, dsd_state * state)
|
|||
char nac[13];
|
||||
int level;
|
||||
|
||||
char status_0, status_1;
|
||||
char status_0;
|
||||
char bch_code[63];
|
||||
int index_bch_code;
|
||||
unsigned char parity;
|
||||
|
|
@ -69,8 +69,8 @@ processFrame (dsd_opts * opts, dsd_state * state)
|
|||
|
||||
if (state->rf_mod == 1)
|
||||
{
|
||||
state->maxref = (state->max * 0.80);
|
||||
state->minref = (state->min * 0.80);
|
||||
state->maxref = (int)(state->max * 0.80F);
|
||||
state->minref = (int)(state->min * 0.80F);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -43,16 +43,16 @@ int
|
|||
getFrameSync (dsd_opts * opts, dsd_state * state)
|
||||
{
|
||||
/* detects frame sync and returns frame type
|
||||
* 0 = +P25p1
|
||||
* 1 = -P25p1
|
||||
* 2 = +X2-TDMA (non inverted signal data frame)
|
||||
* 3 = +X2-TDMA (inverted signal voice frame)
|
||||
* 4 = -X2-TDMA (non inverted signal voice frame)
|
||||
* 5 = -X2-TDMA (inverted signal data frame)
|
||||
* 6 = +D-STAR
|
||||
* 7 = -D-STAR
|
||||
* 8 = +NXDN (non inverted voice frame)
|
||||
* 9 = -NXDN (inverted voice frame)
|
||||
* 0 = +P25p1
|
||||
* 1 = -P25p1
|
||||
* 2 = +X2-TDMA (non inverted signal data frame)
|
||||
* 3 = -X2-TDMA (inverted signal voice frame)
|
||||
* 4 = +X2-TDMA (non inverted signal voice frame)
|
||||
* 5 = -X2-TDMA (inverted signal data frame)
|
||||
* 6 = +D-STAR
|
||||
* 7 = -D-STAR
|
||||
* 8 = +NXDN (non inverted voice frame)
|
||||
* 9 = -NXDN (inverted voice frame)
|
||||
* 10 = +DMR (non inverted signal data frame)
|
||||
* 11 = -DMR (inverted signal voice frame)
|
||||
* 12 = +DMR (non inverted signal voice frame)
|
||||
|
|
@ -211,8 +211,8 @@ getFrameSync (dsd_opts * opts, dsd_state * state)
|
|||
}
|
||||
state->max = lsum / opts->msize;
|
||||
state->center = ((state->max) + (state->min)) / 2;
|
||||
state->maxref = ((state->max) * 0.80);
|
||||
state->minref = ((state->min) * 0.80);
|
||||
state->maxref = (int)((state->max) * 0.80F);
|
||||
state->minref = (int)((state->min) * 0.80F);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -88,6 +88,9 @@ processMbeFrame (dsd_opts * opts, dsd_state * state, char imbe_fr[8][23], char a
|
|||
|
||||
if ((state->synctype == 0) || (state->synctype == 1))
|
||||
{
|
||||
// 0 +P25p1
|
||||
// 1 -P25p1
|
||||
|
||||
mbe_processImbe7200x4400Framef (state->audio_out_temp_buf, &state->errs, &state->errs2, state->err_str, imbe_fr, imbe_d, state->cur_mp, state->prev_mp, state->prev_mp_enhanced, opts->uvquality);
|
||||
if (opts->mbe_out_f != NULL)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -53,11 +53,11 @@ upsample (dsd_state * state, float invalue)
|
|||
{
|
||||
sum = 0;
|
||||
outbuf1 -= 2;
|
||||
sum += *outbuf1;
|
||||
sum += (int)*outbuf1;
|
||||
outbuf1 += 2;
|
||||
sum += *outbuf1;
|
||||
sum += (int)*outbuf1;
|
||||
outbuf1 += 2;
|
||||
sum += *outbuf1;
|
||||
sum += (int)*outbuf1;
|
||||
outbuf1 -= 2;
|
||||
*outbuf1 = (sum / (float) 3);
|
||||
outbuf1++;
|
||||
|
|
|
|||
Loading…
Reference in New Issue