1 -------- gsmfit() ----------------------------------------
3 Crude Octave3 code to attempt to find GSM tower positions
4 using log from Cell Locator:
5 http://repo.or.cz/w/CellLocator.git
6 http://projects.openmoko.org/projects/rocinante/
8 Very rough, trying to fit free-space propagation model to
9 recorded signal. Also visualizing log data.
11 ----------------------------------------------------------
13 To use, change the following variables in the source:
17 The path to the log to be used
21 Which cell should be filtered for in the logfile. This is NOT
22 the CellID, but [1...number-of-unique-cellid-in-log].
23 Right now the analysis is not reliable enough to allow for batch
24 processing. That should come maybe in future editions.
28 0/1: No plotting / plotting of logged data. What is shown:
29 complete GPS trace of the log file, positions of recorded signal
30 belonging to cell, little circles of different size indicating
31 signal strength (small circle: high signal, big circle: low signal),
32 and giant X the position of fitted tower location.
34 ---------------------------------------------------------
38 1) Set your logfile variable to the correct value
39 2) Set cellcheck = 1 (surely there is at least one cell in your log)
41 4) Run program - tells the total number of cells in logfile (i.e. the highest
42 cellcheck value one can use), and tries to fit the recorded signal
43 strengths. If there are not too many points or all at the same place,
44 don't bother, just discard that cell - until more data is logged.
45 Aim for the lowest RSS value (the "yyy" value in the RSS: xxx -> yyy line),
46 and run the program with the same cellcheck multiple times for that.
47 5) If you know that you have enough points for the cell you are looking at,
48 set toplot = 0 to get results quicker.
49 6) Collect fitted tower positions in datafile as:
50 mcc,mnc,cellid,lat,long
51 7) Ready to predict your position with "gsmpos" (hopefully)
54 ...) If you know find better ways of predicting position, or bugs/errors in
55 the code, give feedback, please. Cheers!