From 71adb0303dbb48a88e89ba4a2d120d25fb86df18 Mon Sep 17 00:00:00 2001 From: drowe67 Date: Sun, 26 Jul 2015 23:18:42 +0000 Subject: [PATCH] freq shifter with Fs git-svn-id: https://svn.code.sf.net/p/freetel/code@2243 01035d8c-6547-0410-b346-abe4f91aad63 --- codec2-dev/src/codec2_cohpsk.h | 3 ++- codec2-dev/src/cohpsk.c | 19 +++++++++++++++---- codec2-dev/src/cohpsk_internal.h | 2 -- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/codec2-dev/src/codec2_cohpsk.h b/codec2-dev/src/codec2_cohpsk.h index c7879b86..3731aad2 100644 --- a/codec2-dev/src/codec2_cohpsk.h +++ b/codec2-dev/src/codec2_cohpsk.h @@ -56,5 +56,6 @@ void cohpsk_put_test_bits(struct COHPSK *coh, int *state, short error_pattern[], int *bit_errors, float rx_bits_sd[]); int cohpsk_error_pattern_size(void); void cohpsk_set_frame(struct COHPSK *coh, int frame); - +void fdmdv_freq_shift_coh(COMP rx_fdm_fcorr[], COMP rx_fdm[], float foff, float Fs, + COMP *foff_phase_rect, int nin); #endif diff --git a/codec2-dev/src/cohpsk.c b/codec2-dev/src/cohpsk.c index c89f9599..502969ce 100644 --- a/codec2-dev/src/cohpsk.c +++ b/codec2-dev/src/cohpsk.c @@ -247,10 +247,21 @@ void bits_to_qpsk_symbols(COMP tx_symb[][COHPSK_NC*ND], int tx_bits[], int nbits r++; } for(data_r=0; data_rfbb_phase_rx, nin); + fdmdv_freq_shift_coh(rx_fdm_frame_bb, &ch_fdm_frame[ch_fdm_frame_index], -(*f_est), COHPSK_FS, &fdmdv->fbb_phase_rx, nin); ch_fdm_frame_index += nin; fdm_downconvert_coh(rx_baseband, COHPSK_NC*ND, rx_fdm_frame_bb, fdmdv->phase_rx, fdmdv->freq, nin); rx_filter_coh(rx_filt, COHPSK_NC*ND, rx_baseband, coh->rx_filter_memory, nin); diff --git a/codec2-dev/src/cohpsk_internal.h b/codec2-dev/src/cohpsk_internal.h index f099573f..119d9680 100644 --- a/codec2-dev/src/cohpsk_internal.h +++ b/codec2-dev/src/cohpsk_internal.h @@ -105,8 +105,6 @@ void rx_filter_coh(COMP rx_filt[COHPSK_NC+1][P+1], int Nc, COMP rx_baseband[COHP void frame_sync_fine_freq_est(struct COHPSK *coh, COMP ch_symb[][COHPSK_NC*COHPSK_ND], int sync, int *next_sync); void fine_freq_correct(struct COHPSK *coh, int sync, int next_sync); int sync_state_machine(struct COHPSK *coh, int sync, int next_sync); -void fdmdv_freq_shift_coh(COMP rx_fdm_fcorr[], COMP rx_fdm[], float foff, - COMP *foff_phase_rect, int nin); int cohpsk_fs_offset(COMP out[], COMP in[], int n, float sample_rate_ppm); #endif -- 2.25.1