FreeCalypso > hg > freecalypso-sw
diff gsm-fw/L1/include/l1_ctl.h @ 530:25a7fe25864c
gsm-fw/L1/include: switch to LoCosto versions of all header files
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Fri, 01 Aug 2014 16:38:35 +0000 |
parents | d0de2d0a426d |
children | de635895e0be |
line wrap: on
line diff
--- a/gsm-fw/L1/include/l1_ctl.h Tue Jul 15 22:19:53 2014 +0000 +++ b/gsm-fw/L1/include/l1_ctl.h Fri Aug 01 16:38:35 2014 +0000 @@ -1,23 +1,55 @@ /************* Revision Controle System Header ************* - * GSM Layer 1 software + * GSM Layer 1 software * L1_CTL.H * * Filename l1_ctl.h - * Copyright 2003 (C) Texas Instruments + * Copyright 2003 (C) Texas Instruments * ************* Revision Controle System Header *************/ /************************************/ /* Automatic timing control (TOA) */ /************************************/ -#define C_RED 1 // Factor used to reduce the maximum accumulated values. - // Default : 1/2 -#define C_GEW 1 // Weighting factor. Default : 1/2 +#define C_RED 1 // Factor used to reduce the maximum accumulated values. + // Default : 1/2 +#define C_GEW 1 // Weighting factor. Default : 1/2 #define C_SNRGR 2560 // 2.5 F6.10 #define C_SNR_THR 8192 // 8 F6.10 -#define TOA_HISTO_LEN 11 // Histogram length +#define TOA_HISTO_LEN 11 // Histogram length + +#define IL_FOR_RXLEV_SNR 220 // RX POWER LEVEL //increased from 210 to 220 +#if (TOA_ALGO == 2) + #define L1_TOA_SCALING_CONSTANT (32768) // L1_TOA_SCALING_CONSTANT + #define L1_TOA_LAMBDA (0x7800) // 0.9375 represented in Q15 i.e. 0.9375*32768 + #define L1_TOA_ONE_MINUS_LAMBDA (0x0800) // 0.0625 represented in Q15 i.e. 0.0625*32768 + #define L1_TOA_THRESHOLD_15 (0x1333) // 0.15 in Q15 + #define L1_TOA_THRESHOLD_20 (0x1999) // 0.20 in Q15 + #define L1_TOA_THRESHOLD_25 (0x2000) // 0.25 in Q15 + #define L1_TOA_THRESHOLD_30 (0x2666) // 0.30 in Q15 + #if (CODE_VERSION == SIMULATION) + #define L1_TOA_SNR_THRESHOLD (0) // For simulator the threshold is made zero to facilitate + // TOA testing in simulator + #else + #if (NEW_SNR_THRESHOLD == 0) + #define L1_TOA_SNR_THRESHOLD (480) // 0x1E0 in F6.10 is equal to 0.46875 + #else + #define L1_TOA_SNR_THRESHOLD (2048) // 0x1E0 in F6.10 is equal to 0.46875 + #endif /* NEW_SNR_THRESHOLD*/ + + #endif + #if (CODE_VERSION == SIMULATION) + #define L1_TOA_EXPECTED_TOA (14) // Expected TOA on the MCU side + #else + #define L1_TOA_EXPECTED_TOA (14) // Expected TOA on the MCU side + #endif +#endif + +#if (NEW_SNR_THRESHOLD == 1) + #define SAIC_OFF (0) + #define SAIC_ON (1) +#endif /* NEW_SNR_THRESHOLD */ /************************************/ /* Automatic Gain Control (AGC) */ /************************************/ @@ -28,30 +60,56 @@ /************************************/ /* Automatic frequency compensation */ /************************************/ -#define C_thr_snr 2560 // 1/0.4 * 2**10 -#define C_thr_P 524288L // 0.5 * 2**20 -#define C_cov_start 838861L // 0.8 * 2**20 -#define C_a0_kalman 10486L // 0.01 * 2**20 -#define C_g_kalman 53687091L// 0.05 * 2**30 +#if (L1_SAIC == 1) +#define C_thr_snr 2048// 1/0.4 * 2**10 - CQ no- 76320 +#else +#define C_thr_snr 2560 // 1/0.4 * 2**10 +#endif +#define C_thr_P 524288L // 0.5 * 2**20 +#define C_cov_start 838861L // 0.8 * 2**20 +#define C_a0_kalman 10486L // 0.01 * 2**20 +#define C_g_kalman 53687091L// 0.05 * 2**30 #define C_N_del 2 // delay of frequency control loop - // due to C W R pipeline -#define C_Q 3L // 0.000003 * 2**20 -#define C_thr_K 209715L // 0.2 * 2**20 + // due to C W R pipeline +#define C_Q 3L // 0.000003 * 2**20 +#define C_thr_K 209715L // 0.2 * 2**20 #define C_thr_phi 328 // 0.01 * 2**15 #if (VCXO_ALGO == 1) #define C_WIN_AVG_SIZE_M 64 // average size M #define C_PSI_AVG_SIZE_D 32 // distance size D #define C_MSIZE (C_WIN_AVG_SIZE_M * C_PSI_AVG_SIZE_D) // Data history for predictor - #define C_RGAP_BAD_SNR_COUNT_B 32 // bad SNR count B + #define C_RGAP_BAD_SNR_COUNT_B 32 // bad SNR count B #define ALGO_AFC_RXGAP 1 // reception gap algo #define ALGO_AFC_KALMAN 1 // Kalman filter #define ALGO_AFC_LQG_PREDICTOR 2 // LQG filter + rgap predictor #define ALGO_AFC_KALMAN_PREDICTOR 3 // Kalman filter + rgap predictor #endif -#if ((ANALOG == 1) || (ANALOG == 2) || (ANALOG == 3)) +#if ((ANLG_FAM == 1) || (ANLG_FAM == 2) || (ANLG_FAM == 3) || (ANLG_FAM == 11)) // clipping related to AFC DAC linearity range - #define C_max_step 32000 // 4000 * 2**3 - #define C_min_step -32000 // -4000 * 2**3 + #define C_max_step 32000 // 4000 * 2**3 + #define C_min_step -32000 // -4000 * 2**3 +#endif + +/***************************************************/ +/* SAIC (Single Antenna Interference Cancellation) */ +/***************************************************/ + +#if (L1_SAIC != 0) +#define L1_SAIC_GENIE_GSM_GPRS_IDLE_THRESHOLD 192 // Input Level Threshold for GSM/GPRS Idle. + #define L1_SAIC_GENIE_GSM_DEDIC_THRESHOLD 192 // Input Level Threshold for GSM Dedicated. + #define L1_SAIC_GENIE_GPRS_PCKT_TRAN_THRESHOLD 192 // Input Level Threshold for GPRS Packet Transfer #endif + + +#define L1_SAIC_HARDWARE_FILTER (1) +#define L1_SAIC_PROGRAMMABLE_FILTER (0) + +//Locosto. For Locosto psi_quant = F14.2 else F13.3 +#if(RF_FAM == 61) +#define CONVERT_PSI_QUANT(value) (value >> 2) +#else +#define CONVERT_PSI_QUANT(value) (value >> 3) +#endif +