From: drowe67 Date: Sun, 15 Jan 2017 22:33:20 +0000 (+0000) Subject: added option for normalisation of fsk eye diagram samples X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=6b32db83b9da39a000f0c34366c615f70bf98600;p=freetel-svn-tracking.git added option for normalisation of fsk eye diagram samples git-svn-id: https://svn.code.sf.net/p/freetel/code@2977 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/codec2-dev/src/freedv_api.c b/codec2-dev/src/freedv_api.c index 071e5bc3..62d92769 100644 --- a/codec2-dev/src/freedv_api.c +++ b/codec2-dev/src/freedv_api.c @@ -236,6 +236,7 @@ struct freedv *freedv_open(int mode) { f->n_protocol_bits = 0; codec2_mode = CODEC2_MODE_700C; + fsk_stats_normalise_eye(f->fsk, 0); } diff --git a/codec2-dev/src/fsk.c b/codec2-dev/src/fsk.c index 3b510b85..0c3a481d 100644 --- a/codec2-dev/src/fsk.c +++ b/codec2-dev/src/fsk.c @@ -246,6 +246,7 @@ struct FSK * fsk_create_hbr(int Fs, int Rs,int P,int M, int tx_f1, int tx_fs) free(fsk); return NULL; } + fsk->normalise_eye = 1; return fsk; } @@ -380,6 +381,7 @@ struct FSK * fsk_create(int Fs, int Rs,int M, int tx_f1, int tx_fs) free(fsk); return NULL; } + fsk->normalise_eye = 1; return fsk; } @@ -956,17 +958,19 @@ void fsk2_demod(struct FSK *fsk, uint8_t rx_bits[], float rx_sd[], COMP fsk_in[] } } - eye_max = 0; - /* Normalize eye to +/- 1 */ - for(i=0; istats->rx_eye[i][j])>eye_max) - eye_max = fabsf(fsk->stats->rx_eye[i][j]); - - for(i=0; istats->rx_eye[i][j] = fsk->stats->rx_eye[i][j]/eye_max; + if (fsk->normalise_eye) { + eye_max = 0; + /* Normalize eye to +/- 1 */ + for(i=0; istats->rx_eye[i][j])>eye_max) + eye_max = fabsf(fsk->stats->rx_eye[i][j]); + for(i=0; istats->rx_eye[i][j] = fsk->stats->rx_eye[i][j]/eye_max; + } + fsk->stats->nr = 0; fsk->stats->Nc = 0; @@ -1087,7 +1091,9 @@ void fsk_mod_c(struct FSK *fsk,COMP fsk_out[],uint8_t tx_bits[]){ } - +void fsk_stats_normalise_eye(struct FSK *fsk, int normalise_enable) { + fsk->normalise_eye = normalise_enable; +} diff --git a/codec2-dev/src/fsk.h b/codec2-dev/src/fsk.h index 470121b1..d20b6654 100644 --- a/codec2-dev/src/fsk.h +++ b/codec2-dev/src/fsk.h @@ -85,6 +85,7 @@ struct FSK { /* modem statistic struct */ struct MODEM_STATS *stats; + int normalise_eye; /* enables/disables normalisation of eye diagram */ }; /* @@ -182,4 +183,8 @@ void fsk_demod(struct FSK *fsk, uint8_t rx_bits[],COMP fsk_in[]); */ void fsk_demod_sd(struct FSK *fsk, float rx_bits[],COMP fsk_in[]); +/* enables/disables normalisation of eye diagram samples */ + +void fsk_stats_normalise_eye(struct FSK *fsk, int normalise_enable); + #endif