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