From b86e88413d4c6ec428aaedb147f7675f28882fe4 Mon Sep 17 00:00:00 2001 From: drowe67 Date: Fri, 14 Jul 2023 12:36:50 +0930 Subject: clang-format -i applied to src unittest misc --- src/fdmdv_internal.h | 256 +++++++++++++++++++++++++++++---------------------- 1 file changed, 146 insertions(+), 110 deletions(-) (limited to 'src/fdmdv_internal.h') diff --git a/src/fdmdv_internal.h b/src/fdmdv_internal.h index aa9d683..1c14ed4 100644 --- a/src/fdmdv_internal.h +++ b/src/fdmdv_internal.h @@ -29,9 +29,9 @@ #ifndef __FDMDV_INTERNAL__ #define __FDMDV_INTERNAL__ -#include "comp.h" #include "codec2_fdmdv.h" #include "codec2_fft.h" +#include "comp.h" /*---------------------------------------------------------------------------*\ @@ -40,42 +40,66 @@ \*---------------------------------------------------------------------------*/ #ifndef PI -#define PI 3.141592654 +#define PI 3.141592654 #endif -#define FS 8000 /* sample rate in Hz */ -#define FS_VOICE_8K 8000 /* speech sample rate, 8000 Hz */ -#define FS_VOICE_16K 16000 /* speech sample rate, 16000 Hz */ -#define T (1.0/FS) /* sample period in seconds */ -#define RS 50 /* symbol rate in Hz */ -#define NC 20 /* max number of data carriers (plus one pilot in the centre) */ -#define NB 2 /* Bits/symbol for QPSK modulation */ -#define RB (NC*RS*NB) /* bit rate */ -#define M_FAC (FS/RS) /* oversampling factor */ -#define NSYM 6 /* number of symbols to filter over */ -#define NFILTER (NSYM*M_FAC) /* size of tx/rx filters at sample rate M */ - -#define FSEP 75 /* Default separation between carriers (Hz) */ - -#define NT 5 /* number of symbols we estimate timing over */ -#define P 4 /* oversample factor used for initial rx symbol filtering output */ -#define Q (M_FAC/4) /* oversample factor used for initial rx symbol filtering input */ -#define NRXDEC 31 /* number of taps in the rx decimation filter */ - -#define NPILOT_LUT (4*M_FAC) /* number of pilot look up table samples */ -#define NPILOTCOEFF 30 /* number of FIR filter coeffs in LP filter */ -#define NPILOTBASEBAND (NPILOTCOEFF+M_FAC+M_FAC/P) /* number of pilot baseband samples reqd for pilot LPF */ -#define NPILOTLPF (4*M_FAC) /* number of samples we DFT pilot over, pilot est window */ -#define MPILOTFFT 256 - -#define NSYNC_MEM 6 - -#define NRX_FDM_MEM (NFILTER+M_FAC+M_FAC/P) /* size of rx filter memory */ -#define NRXDECMEM (NRXDEC+M_FAC+M_FAC/P) /* size of rx decimation filter memory */ +#define FS \ + 8000 /* sample rate in Hz */ +#define FS_VOICE_8K \ + 8000 /* speech sample rate, 8000 Hz */ +#define FS_VOICE_16K \ + 16000 /* speech sample rate, 16000 Hz */ +#define T \ + (1.0 / FS) /* sample period in seconds */ +#define RS \ + 50 /* symbol rate in Hz */ +#define NC \ + 20 /* max number of data carriers (plus one pilot in the centre) */ +#define NB \ + 2 /* Bits/symbol for QPSK modulation */ +#define RB \ + (NC * RS * NB) /* bit rate */ +#define M_FAC \ + (FS / RS) /* oversampling factor */ +#define NSYM \ + 6 /* number of symbols to filter over */ +#define NFILTER \ + (NSYM * M_FAC) /* size of tx/rx filters at sample rate M */ + +#define FSEP \ + 75 /* Default separation between carriers (Hz) */ + +#define NT \ + 5 /* number of symbols we estimate timing over */ +#define P \ + 4 /* oversample factor used for initial rx symbol filtering output */ +#define Q \ + (M_FAC / \ + 4) /* oversample factor used for initial rx symbol filtering input */ +#define NRXDEC \ + 31 /* number of taps in the rx decimation filter */ + +#define NPILOT_LUT \ + (4 * M_FAC) /* number of pilot look up table samples */ +#define NPILOTCOEFF \ + 30 /* number of FIR filter coeffs in LP filter */ +#define NPILOTBASEBAND \ + (NPILOTCOEFF + M_FAC + \ + M_FAC / P) /* number of pilot baseband samples reqd for pilot LPF */ +#define NPILOTLPF \ + (4 * M_FAC) /* number of samples we DFT pilot over, pilot est window */ +#define MPILOTFFT 256 + +#define NSYNC_MEM 6 + +#define NRX_FDM_MEM \ + (NFILTER + M_FAC + M_FAC / P) /* size of rx filter memory */ +#define NRXDECMEM \ + (NRXDEC + M_FAC + M_FAC / P) /* size of rx decimation filter memory */ /* averaging filter coeffs */ -#define TRACK_COEFF 0.5 -#define SNR_COEFF 0.9 /* SNR est averaging filter coeff */ +#define TRACK_COEFF 0.5 +#define SNR_COEFF 0.9 /* SNR est averaging filter coeff */ /*---------------------------------------------------------------------------*\ @@ -84,80 +108,79 @@ \*---------------------------------------------------------------------------*/ struct FDMDV { + int Nc; + float fsep; - int Nc; - float fsep; - - /* test data (test frame) states */ + /* test data (test frame) states */ - int ntest_bits; - int current_test_bit; - int *rx_test_bits_mem; + int ntest_bits; + int current_test_bit; + int *rx_test_bits_mem; - /* Modulator */ + /* Modulator */ - int old_qpsk_mapping; - int tx_pilot_bit; - COMP prev_tx_symbols[NC+1]; - COMP tx_filter_memory[NC+1][NSYM]; - COMP phase_tx[NC+1]; - COMP freq[NC+1]; - float freq_pol[NC+1]; + int old_qpsk_mapping; + int tx_pilot_bit; + COMP prev_tx_symbols[NC + 1]; + COMP tx_filter_memory[NC + 1][NSYM]; + COMP phase_tx[NC + 1]; + COMP freq[NC + 1]; + float freq_pol[NC + 1]; - /* Pilot generation at demodulator */ + /* Pilot generation at demodulator */ - COMP pilot_lut[NPILOT_LUT]; - int pilot_lut_index; - int prev_pilot_lut_index; + COMP pilot_lut[NPILOT_LUT]; + int pilot_lut_index; + int prev_pilot_lut_index; - /* freq offset estimation states */ + /* freq offset estimation states */ - codec2_fft_cfg fft_pilot_cfg; - COMP pilot_baseband1[NPILOTBASEBAND]; - COMP pilot_baseband2[NPILOTBASEBAND]; - COMP pilot_lpf1[NPILOTLPF]; - COMP pilot_lpf2[NPILOTLPF]; - COMP S1[MPILOTFFT]; - COMP S2[MPILOTFFT]; + codec2_fft_cfg fft_pilot_cfg; + COMP pilot_baseband1[NPILOTBASEBAND]; + COMP pilot_baseband2[NPILOTBASEBAND]; + COMP pilot_lpf1[NPILOTLPF]; + COMP pilot_lpf2[NPILOTLPF]; + COMP S1[MPILOTFFT]; + COMP S2[MPILOTFFT]; - /* baseband to low IF carrier states */ + /* baseband to low IF carrier states */ - COMP fbb_rect; - float fbb_pol; - COMP fbb_phase_tx; - COMP fbb_phase_rx; + COMP fbb_rect; + float fbb_pol; + COMP fbb_phase_tx; + COMP fbb_phase_rx; - /* freq offset correction states */ + /* freq offset correction states */ - float foff; - COMP foff_phase_rect; - float foff_filt; + float foff; + COMP foff_phase_rect; + float foff_filt; - /* Demodulator */ + /* Demodulator */ - COMP rxdec_lpf_mem[NRXDECMEM]; - COMP rx_fdm_mem[NRX_FDM_MEM]; - COMP phase_rx[NC+1]; - COMP rx_filter_mem_timing[NC+1][NT*P]; - float rx_timing; - COMP phase_difference[NC+1]; - COMP prev_rx_symbols[NC+1]; + COMP rxdec_lpf_mem[NRXDECMEM]; + COMP rx_fdm_mem[NRX_FDM_MEM]; + COMP phase_rx[NC + 1]; + COMP rx_filter_mem_timing[NC + 1][NT * P]; + float rx_timing; + COMP phase_difference[NC + 1]; + COMP prev_rx_symbols[NC + 1]; - /* sync state machine */ + /* sync state machine */ - int sync_mem[NSYNC_MEM]; - int fest_state; - int sync; - int timer; + int sync_mem[NSYNC_MEM]; + int fest_state; + int sync; + int timer; - /* SNR estimation states */ + /* SNR estimation states */ - float sig_est[NC+1]; - float noise_est[NC+1]; + float sig_est[NC + 1]; + float noise_est[NC + 1]; - /* channel simulation */ + /* channel simulation */ - float sig_pwr_av; + float sig_pwr_av; }; /*---------------------------------------------------------------------------*\ @@ -166,32 +189,45 @@ struct FDMDV { \*---------------------------------------------------------------------------*/ -void bits_to_dqpsk_symbols(COMP tx_symbols[], int Nc, COMP prev_tx_symbols[], int tx_bits[], int *pilot_bit, int old_qpsk_mapping); -void tx_filter(COMP tx_baseband[NC+1][M_FAC], int Nc, COMP tx_symbols[], COMP tx_filter_memory[NC+1][NSYM]); -void fdm_upconvert(COMP tx_fdm[], int Nc, COMP tx_baseband[NC+1][M_FAC], COMP phase_tx[], COMP freq_tx[], - COMP *fbb_phase, COMP fbb_rect); +void bits_to_dqpsk_symbols(COMP tx_symbols[], int Nc, COMP prev_tx_symbols[], + int tx_bits[], int *pilot_bit, int old_qpsk_mapping); +void tx_filter(COMP tx_baseband[NC + 1][M_FAC], int Nc, COMP tx_symbols[], + COMP tx_filter_memory[NC + 1][NSYM]); +void fdm_upconvert(COMP tx_fdm[], int Nc, COMP tx_baseband[NC + 1][M_FAC], + COMP phase_tx[], COMP freq_tx[], COMP *fbb_phase, + COMP fbb_rect); void tx_filter_and_upconvert(COMP tx_fdm[], int Nc, COMP tx_symbols[], - COMP tx_filter_memory[NC+1][NSYM], - COMP phase_tx[], COMP freq[], COMP *fbb_phase, COMP fbb_rect); -void generate_pilot_fdm(COMP *pilot_fdm, int *bit, float *symbol, float *filter_mem, COMP *phase, COMP *freq); + COMP tx_filter_memory[NC + 1][NSYM], + COMP phase_tx[], COMP freq[], COMP *fbb_phase, + COMP fbb_rect); +void generate_pilot_fdm(COMP *pilot_fdm, int *bit, float *symbol, + float *filter_mem, COMP *phase, COMP *freq); void generate_pilot_lut(COMP pilot_lut[], COMP *pilot_freq); float rx_est_freq_offset(struct FDMDV *f, COMP rx_fdm[], int nin, int do_fft); -void lpf_peak_pick(float *foff, float *max, COMP pilot_baseband[], COMP pilot_lpf[], codec2_fft_cfg fft_pilot_cfg, COMP S[], int nin, int do_fft); -void fdm_downconvert(COMP rx_baseband[NC+1][M_FAC+M_FAC/P], int Nc, COMP rx_fdm[], COMP phase_rx[], COMP freq[], int nin); -void rxdec_filter(COMP rx_fdm_filter[], COMP rx_fdm[], COMP rxdec_lpf_mem[], int nin); -void rx_filter(COMP rx_filt[][P+1], int Nc, COMP rx_baseband[][M_FAC+M_FAC/P], COMP rx_filter_memory[][NFILTER], int nin); -void down_convert_and_rx_filter(COMP rx_filt[NC+1][P+1], int Nc, COMP rx_fdm[], - COMP rx_fdm_mem[], COMP phase_rx[], COMP freq[], - float freq_pol[], int nin, int dec_rate); -float rx_est_timing(COMP rx_symbols[], int Nc, - COMP rx_filt[][P+1], - COMP rx_filter_mem_timing[][NT*P], - float env[], - int nin, - int m); -float qpsk_to_bits(int rx_bits[], int *sync_bit, int Nc, COMP phase_difference[], COMP prev_rx_symbols[], COMP rx_symbols[], int old_qpsk_mapping); -void snr_update(float sig_est[], float noise_est[], int Nc, COMP phase_difference[]); -int freq_state(int *reliable_sync_bit, int sync_bit, int *state, int *timer, int *sync_mem); +void lpf_peak_pick(float *foff, float *max, COMP pilot_baseband[], + COMP pilot_lpf[], codec2_fft_cfg fft_pilot_cfg, COMP S[], + int nin, int do_fft); +void fdm_downconvert(COMP rx_baseband[NC + 1][M_FAC + M_FAC / P], int Nc, + COMP rx_fdm[], COMP phase_rx[], COMP freq[], int nin); +void rxdec_filter(COMP rx_fdm_filter[], COMP rx_fdm[], COMP rxdec_lpf_mem[], + int nin); +void rx_filter(COMP rx_filt[][P + 1], int Nc, + COMP rx_baseband[][M_FAC + M_FAC / P], + COMP rx_filter_memory[][NFILTER], int nin); +void down_convert_and_rx_filter(COMP rx_filt[NC + 1][P + 1], int Nc, + COMP rx_fdm[], COMP rx_fdm_mem[], + COMP phase_rx[], COMP freq[], float freq_pol[], + int nin, int dec_rate); +float rx_est_timing(COMP rx_symbols[], int Nc, COMP rx_filt[][P + 1], + COMP rx_filter_mem_timing[][NT * P], float env[], int nin, + int m); +float qpsk_to_bits(int rx_bits[], int *sync_bit, int Nc, + COMP phase_difference[], COMP prev_rx_symbols[], + COMP rx_symbols[], int old_qpsk_mapping); +void snr_update(float sig_est[], float noise_est[], int Nc, + COMP phase_difference[]); +int freq_state(int *reliable_sync_bit, int sync_bit, int *state, int *timer, + int *sync_mem); float calc_snr(int Nc, float sig_est[], float noise_est[]); #endif -- cgit v1.2.3 From 4c65d3728ad41566487e284a2410b537f5cfc56b Mon Sep 17 00:00:00 2001 From: drowe67 Date: Fri, 14 Jul 2023 13:11:18 +0930 Subject: clang-format messed up some #defione macros and re-ordered include files which broke the build. Building OK now and ctests passing --- src/HRA_112_112.h | 2 ++ src/HRA_56_56.h | 2 ++ src/HRAa_1536_512.h | 2 ++ src/HRAb_396_504.h | 2 ++ src/H_1024_2048_4f.h | 2 ++ src/H_128_256_5.h | 2 ++ src/H_16200_9720.h | 2 ++ src/H_212_158.h | 2 ++ src/H_256_512_4.h | 2 ++ src/H_256_768_22.h | 2 ++ src/H_4096_8192_3d.h | 2 ++ src/cohpsk_defs.h | 14 ++++----- src/fdmdv_internal.h | 78 ++++++++++++++++++------------------------------ src/freedv_fsk.c | 1 + src/freedv_vhf_framing.h | 2 ++ src/fsk.h | 2 ++ src/interp.h | 1 + src/lpcnet_freq.h | 2 ++ src/nlp.h | 1 + src/octave.h | 2 ++ src/ofdm_internal.h | 1 + src/pilots_coh.h | 7 +++-- src/postfilter.h | 2 ++ 23 files changed, 75 insertions(+), 60 deletions(-) (limited to 'src/fdmdv_internal.h') diff --git a/src/HRA_112_112.h b/src/HRA_112_112.h index f3a1430..9eff476 100644 --- a/src/HRA_112_112.h +++ b/src/HRA_112_112.h @@ -12,6 +12,8 @@ #define HRA_112_112_DEC_TYPE 0 #define HRA_112_112_MAX_ITER 100 +#include + extern const uint16_t HRA_112_112_H_rows[]; extern const uint16_t HRA_112_112_H_cols[]; extern const float HRA_112_112_input[]; diff --git a/src/HRA_56_56.h b/src/HRA_56_56.h index 1b71beb..49b0da6 100644 --- a/src/HRA_56_56.h +++ b/src/HRA_56_56.h @@ -12,6 +12,8 @@ #define HRA_56_56_DEC_TYPE 0 #define HRA_56_56_MAX_ITER 100 +#include + extern const uint16_t HRA_56_56_H_rows[]; extern const uint16_t HRA_56_56_H_cols[]; extern const float HRA_56_56_input[]; diff --git a/src/HRAa_1536_512.h b/src/HRAa_1536_512.h index ee6c0de..7b0c58c 100644 --- a/src/HRAa_1536_512.h +++ b/src/HRAa_1536_512.h @@ -12,6 +12,8 @@ #define HRAa_1536_512_DEC_TYPE 0 #define HRAa_1536_512_MAX_ITER 100 +#include + extern const uint16_t HRAa_1536_512_H_rows[]; extern const uint16_t HRAa_1536_512_H_cols[]; extern const float HRAa_1536_512_input[]; diff --git a/src/HRAb_396_504.h b/src/HRAb_396_504.h index f5aad26..36eb5e2 100644 --- a/src/HRAb_396_504.h +++ b/src/HRAb_396_504.h @@ -12,6 +12,8 @@ #define HRAb_396_504_DEC_TYPE 0 #define HRAb_396_504_MAX_ITER 100 +#include + extern const uint16_t HRAb_396_504_H_rows[]; extern const uint16_t HRAb_396_504_H_cols[]; extern const float HRAb_396_504_input[]; diff --git a/src/H_1024_2048_4f.h b/src/H_1024_2048_4f.h index b71e49a..b4ae6ff 100644 --- a/src/H_1024_2048_4f.h +++ b/src/H_1024_2048_4f.h @@ -12,5 +12,7 @@ #define H_1024_2048_4f_DEC_TYPE 0 #define H_1024_2048_4f_MAX_ITER 100 +#include + extern const uint16_t H_1024_2048_4f_H_rows[]; extern const uint16_t H_1024_2048_4f_H_cols[]; diff --git a/src/H_128_256_5.h b/src/H_128_256_5.h index 1017982..e243c34 100644 --- a/src/H_128_256_5.h +++ b/src/H_128_256_5.h @@ -12,6 +12,8 @@ #define H_128_256_5_DEC_TYPE 0 #define H_128_256_5_MAX_ITER 100 +#include + extern const uint16_t H_128_256_5_H_rows[]; extern const uint16_t H_128_256_5_H_cols[]; extern const float H_128_256_5_input[]; diff --git a/src/H_16200_9720.h b/src/H_16200_9720.h index 72f6181..ab4832c 100644 --- a/src/H_16200_9720.h +++ b/src/H_16200_9720.h @@ -12,5 +12,7 @@ #define H_16200_9720_DEC_TYPE 0 #define H_16200_9720_MAX_ITER 100 +#include + extern const uint16_t H_16200_9720_H_rows[]; extern const uint16_t H_16200_9720_H_cols[]; diff --git a/src/H_212_158.h b/src/H_212_158.h index b8aa036..8e2e067 100644 --- a/src/H_212_158.h +++ b/src/H_212_158.h @@ -12,5 +12,7 @@ #define H_212_158_DEC_TYPE 0 #define H_212_158_MAX_ITER 100 +#include + extern const uint16_t H_212_158_H_rows[]; extern const uint16_t H_212_158_H_cols[]; diff --git a/src/H_256_512_4.h b/src/H_256_512_4.h index b8bbd32..d593461 100644 --- a/src/H_256_512_4.h +++ b/src/H_256_512_4.h @@ -12,6 +12,8 @@ #define H_256_512_4_DEC_TYPE 0 #define H_256_512_4_MAX_ITER 100 +#include + extern const uint16_t H_256_512_4_H_rows[]; extern const uint16_t H_256_512_4_H_cols[]; extern const float H_256_512_4_input[]; diff --git a/src/H_256_768_22.h b/src/H_256_768_22.h index 58cc632..38fce4e 100644 --- a/src/H_256_768_22.h +++ b/src/H_256_768_22.h @@ -12,6 +12,8 @@ #define H_256_768_22_DEC_TYPE 0 #define H_256_768_22_MAX_ITER 100 +#include + extern const uint16_t H_256_768_22_H_rows[]; extern const uint16_t H_256_768_22_H_cols[]; extern const float H_256_768_22_input[]; diff --git a/src/H_4096_8192_3d.h b/src/H_4096_8192_3d.h index a335c7f..95e22cd 100644 --- a/src/H_4096_8192_3d.h +++ b/src/H_4096_8192_3d.h @@ -12,6 +12,8 @@ #define H_4096_8192_3d_DEC_TYPE 0 #define H_4096_8192_3d_MAX_ITER 100 +#include + extern const uint16_t H_4096_8192_3d_H_rows[]; extern const uint16_t H_4096_8192_3d_H_cols[]; extern const float H_4096_8192_3d_input[]; diff --git a/src/cohpsk_defs.h b/src/cohpsk_defs.h index 968dfa5..a03bfe7 100644 --- a/src/cohpsk_defs.h +++ b/src/cohpsk_defs.h @@ -1,11 +1,9 @@ /* Generated by write_pilot_file() Octave function */ -#define NSYMROW 4 /* number of data symbols on each row (i.e. each carrier) */ -#define NS 4 /* number of data symbols between pilots */ -#define NPILOTSFRAME \ - 2 /* number of pilot symbols on each row */ -#define PILOTS_NC \ - 7 /* number of carriers */ +#define NSYMROW 4 /* number of data symbols on each row (i.e. each carrier) */ +#define NS 4 /* number of data symbols between pilots */ +#define NPILOTSFRAME 2 /* number of pilot symbols on each row */ +#define PILOTS_NC 7 /* number of carriers */ + +#define NSYMROWPILOT 6 /* length of row after pilots inserted */ -#define NSYMROWPILOT \ - 6 /* length of row after pilots inserted */ diff --git a/src/fdmdv_internal.h b/src/fdmdv_internal.h index 1c14ed4..cb3bea2 100644 --- a/src/fdmdv_internal.h +++ b/src/fdmdv_internal.h @@ -42,59 +42,39 @@ #ifndef PI #define PI 3.141592654 #endif -#define FS \ - 8000 /* sample rate in Hz */ -#define FS_VOICE_8K \ - 8000 /* speech sample rate, 8000 Hz */ -#define FS_VOICE_16K \ - 16000 /* speech sample rate, 16000 Hz */ -#define T \ - (1.0 / FS) /* sample period in seconds */ -#define RS \ - 50 /* symbol rate in Hz */ -#define NC \ - 20 /* max number of data carriers (plus one pilot in the centre) */ -#define NB \ - 2 /* Bits/symbol for QPSK modulation */ -#define RB \ - (NC * RS * NB) /* bit rate */ -#define M_FAC \ - (FS / RS) /* oversampling factor */ -#define NSYM \ - 6 /* number of symbols to filter over */ -#define NFILTER \ - (NSYM * M_FAC) /* size of tx/rx filters at sample rate M */ - -#define FSEP \ - 75 /* Default separation between carriers (Hz) */ - -#define NT \ - 5 /* number of symbols we estimate timing over */ -#define P \ - 4 /* oversample factor used for initial rx symbol filtering output */ -#define Q \ - (M_FAC / \ - 4) /* oversample factor used for initial rx symbol filtering input */ -#define NRXDEC \ - 31 /* number of taps in the rx decimation filter */ - -#define NPILOT_LUT \ - (4 * M_FAC) /* number of pilot look up table samples */ -#define NPILOTCOEFF \ - 30 /* number of FIR filter coeffs in LP filter */ -#define NPILOTBASEBAND \ - (NPILOTCOEFF + M_FAC + \ - M_FAC / P) /* number of pilot baseband samples reqd for pilot LPF */ -#define NPILOTLPF \ - (4 * M_FAC) /* number of samples we DFT pilot over, pilot est window */ +#define FS 8000 /* sample rate in Hz */ +#define FS_VOICE_8K 8000 /* speech sample rate, 8000 Hz */ +#define FS_VOICE_16K 16000 /* speech sample rate, 16000 Hz */ +#define T (1.0 / FS) /* sample period in seconds */ +#define RS 50 /* symbol rate in Hz */ +#define NC 20 /* max number of data carriers (plus one pilot in the centre) */ +#define NB 2 /* Bits/symbol for QPSK modulation */ +#define RB (NC * RS * NB) /* bit rate */ +#define M_FAC (FS / RS) /* oversampling factor */ +#define NSYM 6 /* number of symbols to filter over */ +#define NFILTER (NSYM * M_FAC) /* size of tx/rx filters at sample rate M */ + +#define FSEP 75 /* Default separation between carriers (Hz) */ + +#define NT 5 /* number of symbols we estimate timing over */ +#define P 4 /* oversampling for initial rx symbol filtering output */ +#define Q (M_FAC / 4) /* oversampling for initial rx symbol filtering input */ +#define NRXDEC 31 /* number of taps in the rx decimation filter */ + +#define NPILOT_LUT (4 * M_FAC) /* number of pilot look up table samples */ +#define NPILOTCOEFF 30 /* number of FIR filter coeffs in LP filter */ +/* number of pilot baseband samples reqd for pilot LPF */ +#define NPILOTBASEBAND (NPILOTCOEFF + M_FAC + M_FAC / P) +/* number of samples we DFT pilot over, pilot est window */ +#define NPILOTLPF (4 * M_FAC) #define MPILOTFFT 256 #define NSYNC_MEM 6 -#define NRX_FDM_MEM \ - (NFILTER + M_FAC + M_FAC / P) /* size of rx filter memory */ -#define NRXDECMEM \ - (NRXDEC + M_FAC + M_FAC / P) /* size of rx decimation filter memory */ +/* size of rx filter memory */ +#define NRX_FDM_MEM (NFILTER + M_FAC + M_FAC / P) +/* size of rx decimation filter memory */ +#define NRXDECMEM (NRXDEC + M_FAC + M_FAC / P) /* averaging filter coeffs */ diff --git a/src/freedv_fsk.c b/src/freedv_fsk.c index edd0bfd..0613263 100644 --- a/src/freedv_fsk.c +++ b/src/freedv_fsk.c @@ -17,6 +17,7 @@ #include #include "codec2.h" +#include "comp.h" #include "comp_prim.h" #include "debug_alloc.h" #include "fmfsk.h" diff --git a/src/freedv_vhf_framing.h b/src/freedv_vhf_framing.h index 9cad31b..6f18d33 100644 --- a/src/freedv_vhf_framing.h +++ b/src/freedv_vhf_framing.h @@ -37,6 +37,8 @@ #ifndef _FREEDV_VHF_FRAMING_H #define _FREEDV_VHF_FRAMING_H +#include + #include "freedv_data_channel.h" /* Standard frame type */ diff --git a/src/fsk.h b/src/fsk.h index f77d39f..1b4dfdc 100644 --- a/src/fsk.h +++ b/src/fsk.h @@ -48,6 +48,8 @@ octave/fsk_horus.m #define FSK_DEFAULT_NSYM 50 /* See Nsym below */ #define FSK_NONE -1 /* unused parameter */ +#undef P /* avoid clash with #define P in fdmdv_internal.h */ + struct FSK { /* Static parameters set up by fsk_init */ int Ndft; /* freq offset est fft */ diff --git a/src/interp.h b/src/interp.h index bb72d5b..276edd9 100644 --- a/src/interp.h +++ b/src/interp.h @@ -28,6 +28,7 @@ #ifndef __INTERP__ #define __INTERP__ +#include "defines.h" #include "kiss_fft.h" void interpolate(MODEL *interp, MODEL *prev, MODEL *next); diff --git a/src/lpcnet_freq.h b/src/lpcnet_freq.h index ac928b8..af406d8 100644 --- a/src/lpcnet_freq.h +++ b/src/lpcnet_freq.h @@ -36,6 +36,8 @@ #define LPCNET_FREQ_MAX_BANDS 18 +#include "comp.h" + int lpcnet_compute_band_energy(float *bandE, float *bandCentrekHz, COMP *Sw, float Fs, int Nfft); diff --git a/src/nlp.h b/src/nlp.h index e8ce8d8..4b56c4f 100644 --- a/src/nlp.h +++ b/src/nlp.h @@ -29,6 +29,7 @@ #define __NLP__ #include "comp.h" +#include "defines.h" void *nlp_create(C2CONST *c2const); void nlp_destroy(void *nlp_state); diff --git a/src/octave.h b/src/octave.h index 03eca26..8ecac9c 100644 --- a/src/octave.h +++ b/src/octave.h @@ -29,6 +29,8 @@ #ifndef __OCTAVE__ #define __OCTAVE__ +#include + #include "comp.h" void octave_save_int(FILE *f, char name[], int data[], int rows, int cols); diff --git a/src/ofdm_internal.h b/src/ofdm_internal.h index a5b3c3f..8007934 100644 --- a/src/ofdm_internal.h +++ b/src/ofdm_internal.h @@ -30,6 +30,7 @@ #include #include +#include #include #include "codec2_ofdm.h" diff --git a/src/pilots_coh.h b/src/pilots_coh.h index b905879..9271195 100644 --- a/src/pilots_coh.h +++ b/src/pilots_coh.h @@ -1,5 +1,6 @@ /* Generated by write_pilot_file() Octave function */ -float pilots_coh[][PILOTS_NC] = { - {1.000000, -1.000000, 1.000000, -1.000000, 1.000000, -1.000000, -1.000000}, - {-1.000000, 1.000000, 1.000000, -1.000000, 1.000000, 1.000000, 1.000000}}; \ No newline at end of file +float pilots_coh[][PILOTS_NC]={ + { 1.000000, -1.000000, 1.000000, -1.000000, 1.000000, -1.000000, -1.000000}, + { -1.000000, 1.000000, 1.000000, -1.000000, 1.000000, 1.000000, 1.000000} +}; \ No newline at end of file diff --git a/src/postfilter.h b/src/postfilter.h index 156714e..ecf7f39 100644 --- a/src/postfilter.h +++ b/src/postfilter.h @@ -28,6 +28,8 @@ #ifndef __POSTFILTER__ #define __POSTFILTER__ +#include "defines.h" + void postfilter(MODEL *model, float *bg_est); #endif -- cgit v1.2.3