FreeCalypso > hg > ffs-editor
comparison src/cs/layer1/include/l1_ctl.h @ 0:92470e5d0b9e
src: partial import from FC Selenite
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 15 May 2020 01:28:16 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:92470e5d0b9e |
|---|---|
| 1 /************* Revision Controle System Header ************* | |
| 2 * GSM Layer 1 software | |
| 3 * L1_CTL.H | |
| 4 * | |
| 5 * Filename l1_ctl.h | |
| 6 * Copyright 2003 (C) Texas Instruments | |
| 7 * | |
| 8 ************* Revision Controle System Header *************/ | |
| 9 | |
| 10 /************************************/ | |
| 11 /* Automatic timing control (TOA) */ | |
| 12 /************************************/ | |
| 13 #define C_RED 1 // Factor used to reduce the maximum accumulated values. | |
| 14 // Default : 1/2 | |
| 15 #define C_GEW 1 // Weighting factor. Default : 1/2 | |
| 16 | |
| 17 #define C_SNRGR 2560 // 2.5 F6.10 | |
| 18 #define C_SNR_THR 8192 // 8 F6.10 | |
| 19 #define TOA_HISTO_LEN 11 // Histogram length | |
| 20 | |
| 21 /* | |
| 22 * FreeCalypso Frankenstein: the following definition has been added | |
| 23 * from LoCosto version of this file, as it is used by l1_cmplx.c | |
| 24 * fairly extensively. | |
| 25 * | |
| 26 * Disassembly-matching reconstruction has revealed that the constant | |
| 27 * in question was originally 210 in the TCS211 version, and then | |
| 28 * increased to 220 in the LoCosto source. We currently seek to match | |
| 29 * TCS211 without any changes, hence we are setting it back to 210. | |
| 30 */ | |
| 31 #define IL_FOR_RXLEV_SNR 210 // RX POWER LEVEL | |
| 32 | |
| 33 /************************************/ | |
| 34 /* Automatic Gain Control (AGC) */ | |
| 35 /************************************/ | |
| 36 | |
| 37 #define INDEX_MIN 0 | |
| 38 #define INDEX_MAX 240 // 120 | |
| 39 | |
| 40 /************************************/ | |
| 41 /* Automatic frequency compensation */ | |
| 42 /************************************/ | |
| 43 #define C_thr_snr 2560 // 1/0.4 * 2**10 | |
| 44 #define C_thr_P 524288L // 0.5 * 2**20 | |
| 45 #define C_cov_start 838861L // 0.8 * 2**20 | |
| 46 #define C_a0_kalman 10486L // 0.01 * 2**20 | |
| 47 #define C_g_kalman 53687091L// 0.05 * 2**30 | |
| 48 #define C_N_del 2 // delay of frequency control loop | |
| 49 // due to C W R pipeline | |
| 50 #define C_Q 3L // 0.000003 * 2**20 | |
| 51 #define C_thr_K 209715L // 0.2 * 2**20 | |
| 52 #define C_thr_phi 328 // 0.01 * 2**15 | |
| 53 | |
| 54 #if (VCXO_ALGO == 1) | |
| 55 #define C_WIN_AVG_SIZE_M 64 // average size M | |
| 56 #define C_PSI_AVG_SIZE_D 32 // distance size D | |
| 57 #define C_MSIZE (C_WIN_AVG_SIZE_M * C_PSI_AVG_SIZE_D) // Data history for predictor | |
| 58 #define C_RGAP_BAD_SNR_COUNT_B 32 // bad SNR count B | |
| 59 #define ALGO_AFC_RXGAP 1 // reception gap algo | |
| 60 #define ALGO_AFC_KALMAN 1 // Kalman filter | |
| 61 #define ALGO_AFC_LQG_PREDICTOR 2 // LQG filter + rgap predictor | |
| 62 #define ALGO_AFC_KALMAN_PREDICTOR 3 // Kalman filter + rgap predictor | |
| 63 #endif | |
| 64 | |
| 65 #if ((ANLG_FAM == 1) || (ANLG_FAM == 2) || (ANLG_FAM == 3)) | |
| 66 // clipping related to AFC DAC linearity range | |
| 67 #define C_max_step 32000 // 4000 * 2**3 | |
| 68 #define C_min_step -32000 // -4000 * 2**3 | |
| 69 #endif | |
| 70 | |
| 71 |
