From: baobrien Date: Sat, 5 Nov 2016 05:49:52 +0000 (+0000) Subject: Added FFT printout to fsk_demod JSON debug/stat stream X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=6e5e04ca1fe399142edb66a0e72d893a5be89965;p=freetel-svn-tracking.git Added FFT printout to fsk_demod JSON debug/stat stream git-svn-id: https://svn.code.sf.net/p/freetel/code@2900 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/codec2-dev/notes_and_todo_tdma b/codec2-dev/notes_and_todo_tdma index 8047b126..7830df91 100644 --- a/codec2-dev/notes_and_todo_tdma +++ b/codec2-dev/notes_and_todo_tdma @@ -38,7 +38,7 @@ TDMA_sched_tx(slot_n,tx_frame,tx_samps_out,tx_time_out) - Schedule a frame trans Random TODOs: [ ] Deframer work: - [ ] Framer for shorter frames (minus padding bits) + [x] Framer for shorter frames (minus padding bits) [ ] New deframer for extracting burst frames and keeping slot sync state [ ] Looks +/- a few symbols in a demodulated chunk instead of pulling frames out of a steram [ ] Provides frame location feedback to the TDMA part for coarse sync tracking diff --git a/codec2-dev/src/fsk.c b/codec2-dev/src/fsk.c index 14fec2bf..7f6a15c2 100644 --- a/codec2-dev/src/fsk.c +++ b/codec2-dev/src/fsk.c @@ -556,7 +556,9 @@ void fsk2_demod(struct FSK *fsk, uint8_t rx_bits[], float rx_sd[], float fsk_in[ int i,j,dc_i,cbuf_i; float ft1; int nstash = fsk->nstash; + COMP *f1_int, *f2_int; + COMP t1,t2; COMP phi1_c = fsk->phi1_c; COMP phi2_c = fsk->phi2_c; @@ -567,7 +569,9 @@ void fsk2_demod(struct FSK *fsk, uint8_t rx_bits[], float rx_sd[], float fsk_in[ float rx_timing,norm_rx_timing,old_norm_rx_timing,d_norm_rx_timing,appm; int using_old_samps; float *sample_src; + COMP *f1_intbuf,*f2_intbuf; + float f_est[M],fc_avg,fc_tx; float meanebno,stdebno,eye_max; int neyesamp,neyeoffset; diff --git a/codec2-dev/src/fsk_demod.c b/codec2-dev/src/fsk_demod.c index 69a91cf2..e51d6ba1 100644 --- a/codec2-dev/src/fsk_demod.c +++ b/codec2-dev/src/fsk_demod.c @@ -44,7 +44,7 @@ int main(int argc,char *argv[]){ uint8_t *bitbuf; int16_t *rawbuf; float *modbuf,*sdbuf; - int i,j; + int i,j,Ndft; int soft_dec_mode = 0; stats_loop = 0; @@ -130,23 +130,35 @@ int main(int argc,char *argv[]){ } if(enable_stats && stats_ctr <= 0){ + /* Print standard 2FSK stats */ fprintf(stderr,"{\"EbNodB\": %2.2f,\t\"ppm\": %d,",stats.snr_est,(int)fsk->ppm); fprintf(stderr,"\t\"f1_est\":%.1f,\t\"f2_est\":%.1f",fsk->f1_est,fsk->f2_est); + /* Print 4FSK stats if in 4FSK mode */ if(fsk->mode == 4){ fprintf(stderr,",\t\"f3_est\":%.1f,\t\"f4_est\":%.1f",fsk->f3_est,fsk->f4_est); } + + /* Print the eye diagram */ fprintf(stderr,",\t\"eye_diagram\":["); for(i=0;iNdft/2; + for(i=0; ifft_est)[i]); + if(i