FreeCalypso > hg > gsm-net-reveng
annotate pathloss/egli.c @ 97:fe0551c9b8cd
tfo-ut: add tfo-hr.bin
This extract comes from a TCSM2 session that has been done just now;
it is the HR codec counterpart to tfo-fr.bin and tfo-efr.bin samples
that were extracted from earlier session recordings.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Wed, 19 Mar 2025 00:43:32 +0000 |
| parents | 0cfea66a15f3 |
| children |
| rev | line source |
|---|---|
|
66
599fac1b882d
pathloss: implement FSL
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
|
68
0cfea66a15f3
pathloss: implement Egli model
Mychaela Falconia <falcon@freecalypso.org>
parents:
66
diff
changeset
|
2 * RF range calculation per Egli model |
|
66
599fac1b882d
pathloss: implement FSL
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 */ |
|
599fac1b882d
pathloss: implement FSL
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 |
|
599fac1b882d
pathloss: implement FSL
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 #define _GNU_SOURCE |
|
599fac1b882d
pathloss: implement FSL
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <math.h> |
|
599fac1b882d
pathloss: implement FSL
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include "range_func.h" |
|
599fac1b882d
pathloss: implement FSL
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
|
68
0cfea66a15f3
pathloss: implement Egli model
Mychaela Falconia <falcon@freecalypso.org>
parents:
66
diff
changeset
|
9 float rf_range_egli(float freq_mhz, float path_loss, float bts_ant_m, |
|
0cfea66a15f3
pathloss: implement Egli model
Mychaela Falconia <falcon@freecalypso.org>
parents:
66
diff
changeset
|
10 float ms_ant_m) |
|
66
599fac1b882d
pathloss: implement FSL
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 { |
|
68
0cfea66a15f3
pathloss: implement Egli model
Mychaela Falconia <falcon@freecalypso.org>
parents:
66
diff
changeset
|
12 float l, r, x; |
|
66
599fac1b882d
pathloss: implement FSL
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
|
68
0cfea66a15f3
pathloss: implement Egli model
Mychaela Falconia <falcon@freecalypso.org>
parents:
66
diff
changeset
|
14 l = 20.0f * log10f(freq_mhz / 40.0f); |
|
0cfea66a15f3
pathloss: implement Egli model
Mychaela Falconia <falcon@freecalypso.org>
parents:
66
diff
changeset
|
15 r = path_loss - l; |
|
0cfea66a15f3
pathloss: implement Egli model
Mychaela Falconia <falcon@freecalypso.org>
parents:
66
diff
changeset
|
16 x = bts_ant_m * ms_ant_m; |
|
0cfea66a15f3
pathloss: implement Egli model
Mychaela Falconia <falcon@freecalypso.org>
parents:
66
diff
changeset
|
17 return sqrtf(x / pow10f(r / -20.0f)); |
|
66
599fac1b882d
pathloss: implement FSL
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 } |
