m_rxUserdata->pWFPanel = m_panelWaterfall;
m_rxUserdata->pSPPanel = m_panelSpectrum;
- // init 48 - 8 kHz sample rate conversion filter memories
-
- for(int i = 0; i < MEM8; i++)
- {
- m_rxUserdata->in8k2[i] = (float)0.0;
- }
- for(int i = 0; i < FDMDV_OS_TAPS; i++)
- {
- m_rxUserdata->in48k1[i] = (float)0.0;
- }
+ // init sample rate conversion states
m_rxUserdata->insrc1 = src_new(SRC_SINC_FASTEST, 1, &src_error);
assert(m_rxUserdata->insrc1 != NULL);
// create FIFOs used to interface between different buffer sizes
- m_rxUserdata->infifo1 = fifo_create(2*N48);
+ m_rxUserdata->infifo1 = fifo_create(4*N48);
m_rxUserdata->outfifo1 = fifo_create(4*N48);
}
}
-#ifdef OLD
-inline void short_to_float(float out_float[], short in_short[], int n) {
- int i;
- for(i=0; i<n; i++)
- out_float[i] = (float)in_short[i];
-}
-
-inline void float_to_short(short out_short[], float in_float[], int n) {
- int i;
- for(i=0; i<n; i++)
- out_short[i] = (short)in_float[i];
-}
-#endif
-
// returns number of output samples generated by resampling
static int resample(SRC_STATE *src,
short *rptr = (short*)inputBuffer;
short *wptr = (short*)outputBuffer;
- // 48 to 8 kHz sample rate conversion filter states
-
- float *in8k2 = cbData->in8k2;
- float *in48k1 = cbData->in48k1;
-
// temp buffers re-used by tx and rx processing
short in8k_short[2*N8];
short outdata[MAX_FPB];
int nout;
- int ret;
unsigned int i;
(void) timeInfo;
// no problem for the decoded audio.
//
+ //printf("state: %d sync: %d nin %d fifo_n %d\n", *state, sync_bit, *nin, fifo_n(input_fifo));
while (fifo_read(input_fifo, input_buf, *nin) == 0)
{
// demod per frame processing