How to properly triangulate GSM cell towers to get a location?Get your location through pythonLocating GSM Cell information for any android device Using AT CommandsGetting multiple cell ids for triangulation - c# windows mobileRead Data into Python Line by Line as a ListHow do I get the current GPS location programmatically in Android?What is the simplest and most robust way to get the user's current location on Android?GSM Cell Towers Location & Triangulation Algorithm (Similar to OpenCellID / Skyhook / Google's MyLocation)Unable to retrieve correct location using CellID in blackberryError in Latitude when obtaining coordinates using LAC and Cell idGet Cell ID within a lat long rangeFind location of tower using google geolocation apiGoogle geolocation using cell tower info- Curl 400 Bad request PHPGet Location from cell towers databaseGet neighbor cell tower distance and direction from current mobile station by cellId,LAC,MCC and MNC Android?
How is angular momentum conserved for the orbiting body if the centripetal force disappears?
Why isn't there research to build a standard lunar, or Martian mobility platform?
Flatten array with OPENJSON: OPENJSON on a value that may not be an array? [ [1] ], vs [1]
Are unclear "take-it or leave-it" contracts interpreted in my favor?
What would be the ideal melee weapon made of "Phase Metal"?
Is lack of functional requirements agile?
When casting Eldritch Blast with the Agonizing Blast eldritch invocation, what do I add to my damage roll?
Why are Hobbits so fond of mushrooms?
Is Arc Length always irrational between two rational points?
Keep milk (or milk alternative) for a day without a fridge
Get ids only where one id is null and other isn't
Why are they 'nude photos'?
Who Can Help Retag This?
Why does the autopilot disengage even when it does not receive pilot input?
Why do players in the past play much longer tournaments than today's top players?
Why isn't pressure filtration popular compared to vacuum filtration?
Novel where a group of scientists in a spaceship encounter various aliens
What explains 9 speed cassettes price differences?
Is an acid a salt? Why (not)?
As the Dungeon Master, how do I handle a player that insists on a specific class when I already know that choice will cause issues?
Is anyone advocating the promotion of homosexuality in UK schools?
Why were Er and Onan punished if they were under 20?
Book where the stars go black due to aliens stopping human observation collapsing quantum possibilities
How can I deal with a player trying to insert real-world mythology into my homebrew setting?
How to properly triangulate GSM cell towers to get a location?
Get your location through pythonLocating GSM Cell information for any android device Using AT CommandsGetting multiple cell ids for triangulation - c# windows mobileRead Data into Python Line by Line as a ListHow do I get the current GPS location programmatically in Android?What is the simplest and most robust way to get the user's current location on Android?GSM Cell Towers Location & Triangulation Algorithm (Similar to OpenCellID / Skyhook / Google's MyLocation)Unable to retrieve correct location using CellID in blackberryError in Latitude when obtaining coordinates using LAC and Cell idGet Cell ID within a lat long rangeFind location of tower using google geolocation apiGoogle geolocation using cell tower info- Curl 400 Bad request PHPGet Location from cell towers databaseGet neighbor cell tower distance and direction from current mobile station by cellId,LAC,MCC and MNC Android?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
First of all, I am trying to do all this disaster in c# (.net 4) so if you come up with some code to help me that would be appreciated but really anything would help at this point.
I have a situation where I have a device that can only get GSM Cell information (incidentally via the AT+KCELL
command) so I have a collection of values about cell towers (each has LAC, MCC, MNC, Cell ID, Signal Strength and the first Timing Advance). I think, therefore, I am in a good place to be able to come up with some sort of longitude and latitude coordinate (albeit inaccurate, but, well meh). This is where I am reaching out for help because now my little brain is confused...
I can see various services that provide cell code resolution (Google, Open Cell ID, etc) and they take LAC,MCC etc as arguments and return a coordinate. I figure that what they return would, therefore, be the coordinate of the given tower I pass in. So in my case I could send off all the LACs etc that I have and get back a collection of longitude and latitudes. Brilliant, but that is not where my device is. Now I think I need to do some kind of triangulation and this is where my lack of knowledge is hurting me.
So am I right so far? Assuming I am, how do I perform this calculation (is there something out there that will tell me what to do with all these numbers or, even better, some open source library I can reference and feed all this stuff into to get something sensible)?
I'm assuming that I would need to use the timing advance to work out some approximate distance from a cell tower (maybe using the signal strength somehow) but what do I have to do? As you can tell - I am way out of my depth here!
For example, this is something I might get back from the aforementioned AT command:
5,74,33,32f210,157e,8101,50,0,79,3,32f210,157e,80f7,37,64,5,32f210,157e,810b,37,55,32,32f210,157e,9d3,27,41,33,32f210,157e,edf8,15
breaking it up and parsing it I would get (I hope I parse this right - there is a chance there is a bug in my parsing routine of course but it looks reasonable):
Number of cells: 5
Cell 1
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33025
Signal: 80
ARFCN: 74
BSIC: 33
Timing advance: 0
Longitude: 14.2565389
Latitude: 48.2248439
Cell 2
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33015
Signal: 55
ARFCN: 79
BSIC: 3
Longitude: 14.2637736
Latitude: 48.2331576
Cell 3
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33035
Signal: 55
ARFCN: 64
BSIC: 5
Longitude: 14.2488966
Latitude: 48.232513
Cell 4
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 2515
Signal: 39
ARFCN: 55
BSIC: 32
Longitude: 14.2488163
Latitude: 48.2277972
Cell 5
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 60920
Signal: 21
ARFCN: 41
BSIC: 33
Longitude: 14.2647612
Latitude: 48.2299558
So with all that information how do I find, in the most accurate way, where I actually am?
geolocation gsm at-command
|
show 6 more comments
First of all, I am trying to do all this disaster in c# (.net 4) so if you come up with some code to help me that would be appreciated but really anything would help at this point.
I have a situation where I have a device that can only get GSM Cell information (incidentally via the AT+KCELL
command) so I have a collection of values about cell towers (each has LAC, MCC, MNC, Cell ID, Signal Strength and the first Timing Advance). I think, therefore, I am in a good place to be able to come up with some sort of longitude and latitude coordinate (albeit inaccurate, but, well meh). This is where I am reaching out for help because now my little brain is confused...
I can see various services that provide cell code resolution (Google, Open Cell ID, etc) and they take LAC,MCC etc as arguments and return a coordinate. I figure that what they return would, therefore, be the coordinate of the given tower I pass in. So in my case I could send off all the LACs etc that I have and get back a collection of longitude and latitudes. Brilliant, but that is not where my device is. Now I think I need to do some kind of triangulation and this is where my lack of knowledge is hurting me.
So am I right so far? Assuming I am, how do I perform this calculation (is there something out there that will tell me what to do with all these numbers or, even better, some open source library I can reference and feed all this stuff into to get something sensible)?
I'm assuming that I would need to use the timing advance to work out some approximate distance from a cell tower (maybe using the signal strength somehow) but what do I have to do? As you can tell - I am way out of my depth here!
For example, this is something I might get back from the aforementioned AT command:
5,74,33,32f210,157e,8101,50,0,79,3,32f210,157e,80f7,37,64,5,32f210,157e,810b,37,55,32,32f210,157e,9d3,27,41,33,32f210,157e,edf8,15
breaking it up and parsing it I would get (I hope I parse this right - there is a chance there is a bug in my parsing routine of course but it looks reasonable):
Number of cells: 5
Cell 1
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33025
Signal: 80
ARFCN: 74
BSIC: 33
Timing advance: 0
Longitude: 14.2565389
Latitude: 48.2248439
Cell 2
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33015
Signal: 55
ARFCN: 79
BSIC: 3
Longitude: 14.2637736
Latitude: 48.2331576
Cell 3
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33035
Signal: 55
ARFCN: 64
BSIC: 5
Longitude: 14.2488966
Latitude: 48.232513
Cell 4
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 2515
Signal: 39
ARFCN: 55
BSIC: 32
Longitude: 14.2488163
Latitude: 48.2277972
Cell 5
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 60920
Signal: 21
ARFCN: 41
BSIC: 33
Longitude: 14.2647612
Latitude: 48.2299558
So with all that information how do I find, in the most accurate way, where I actually am?
geolocation gsm at-command
any chance of posting the data you get.. at least 50% because i am curious ;-)
– user359135
Apr 26 '12 at 8:40
I think that there may be different techniques for doing this dependent on exactly what data you have. I could put an answer up but it might be best to gather up all the data you can get and post a question on:math.stackexchange.com unless there is someone who has done this before and is up for sharing the specific info
– user359135
Apr 26 '12 at 8:59
1
does anyone know of an umts usb-device that supports this functionality? I've got one from huwei and one from alcatel but none supports AT+KCELL
– Folkert van Heusden
Feb 7 '13 at 19:37
1
@ppumkin, Well it has been a while but I think it was a Sagemcom HiLo V2 module - info here: support.sagemcom.com/site/livret/…
– kmp
Oct 22 '14 at 10:40
1
Never mind. I was looking at a 2010 doc, the 2014 doc has a vendor specific command 'AT+CNETSCAN' that gives you all cells with no sim card or connected cells with the connected network. Pretty awesome for 9GBP :)
– Piotr Kula
Oct 22 '14 at 11:25
|
show 6 more comments
First of all, I am trying to do all this disaster in c# (.net 4) so if you come up with some code to help me that would be appreciated but really anything would help at this point.
I have a situation where I have a device that can only get GSM Cell information (incidentally via the AT+KCELL
command) so I have a collection of values about cell towers (each has LAC, MCC, MNC, Cell ID, Signal Strength and the first Timing Advance). I think, therefore, I am in a good place to be able to come up with some sort of longitude and latitude coordinate (albeit inaccurate, but, well meh). This is where I am reaching out for help because now my little brain is confused...
I can see various services that provide cell code resolution (Google, Open Cell ID, etc) and they take LAC,MCC etc as arguments and return a coordinate. I figure that what they return would, therefore, be the coordinate of the given tower I pass in. So in my case I could send off all the LACs etc that I have and get back a collection of longitude and latitudes. Brilliant, but that is not where my device is. Now I think I need to do some kind of triangulation and this is where my lack of knowledge is hurting me.
So am I right so far? Assuming I am, how do I perform this calculation (is there something out there that will tell me what to do with all these numbers or, even better, some open source library I can reference and feed all this stuff into to get something sensible)?
I'm assuming that I would need to use the timing advance to work out some approximate distance from a cell tower (maybe using the signal strength somehow) but what do I have to do? As you can tell - I am way out of my depth here!
For example, this is something I might get back from the aforementioned AT command:
5,74,33,32f210,157e,8101,50,0,79,3,32f210,157e,80f7,37,64,5,32f210,157e,810b,37,55,32,32f210,157e,9d3,27,41,33,32f210,157e,edf8,15
breaking it up and parsing it I would get (I hope I parse this right - there is a chance there is a bug in my parsing routine of course but it looks reasonable):
Number of cells: 5
Cell 1
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33025
Signal: 80
ARFCN: 74
BSIC: 33
Timing advance: 0
Longitude: 14.2565389
Latitude: 48.2248439
Cell 2
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33015
Signal: 55
ARFCN: 79
BSIC: 3
Longitude: 14.2637736
Latitude: 48.2331576
Cell 3
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33035
Signal: 55
ARFCN: 64
BSIC: 5
Longitude: 14.2488966
Latitude: 48.232513
Cell 4
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 2515
Signal: 39
ARFCN: 55
BSIC: 32
Longitude: 14.2488163
Latitude: 48.2277972
Cell 5
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 60920
Signal: 21
ARFCN: 41
BSIC: 33
Longitude: 14.2647612
Latitude: 48.2299558
So with all that information how do I find, in the most accurate way, where I actually am?
geolocation gsm at-command
First of all, I am trying to do all this disaster in c# (.net 4) so if you come up with some code to help me that would be appreciated but really anything would help at this point.
I have a situation where I have a device that can only get GSM Cell information (incidentally via the AT+KCELL
command) so I have a collection of values about cell towers (each has LAC, MCC, MNC, Cell ID, Signal Strength and the first Timing Advance). I think, therefore, I am in a good place to be able to come up with some sort of longitude and latitude coordinate (albeit inaccurate, but, well meh). This is where I am reaching out for help because now my little brain is confused...
I can see various services that provide cell code resolution (Google, Open Cell ID, etc) and they take LAC,MCC etc as arguments and return a coordinate. I figure that what they return would, therefore, be the coordinate of the given tower I pass in. So in my case I could send off all the LACs etc that I have and get back a collection of longitude and latitudes. Brilliant, but that is not where my device is. Now I think I need to do some kind of triangulation and this is where my lack of knowledge is hurting me.
So am I right so far? Assuming I am, how do I perform this calculation (is there something out there that will tell me what to do with all these numbers or, even better, some open source library I can reference and feed all this stuff into to get something sensible)?
I'm assuming that I would need to use the timing advance to work out some approximate distance from a cell tower (maybe using the signal strength somehow) but what do I have to do? As you can tell - I am way out of my depth here!
For example, this is something I might get back from the aforementioned AT command:
5,74,33,32f210,157e,8101,50,0,79,3,32f210,157e,80f7,37,64,5,32f210,157e,810b,37,55,32,32f210,157e,9d3,27,41,33,32f210,157e,edf8,15
breaking it up and parsing it I would get (I hope I parse this right - there is a chance there is a bug in my parsing routine of course but it looks reasonable):
Number of cells: 5
Cell 1
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33025
Signal: 80
ARFCN: 74
BSIC: 33
Timing advance: 0
Longitude: 14.2565389
Latitude: 48.2248439
Cell 2
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33015
Signal: 55
ARFCN: 79
BSIC: 3
Longitude: 14.2637736
Latitude: 48.2331576
Cell 3
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33035
Signal: 55
ARFCN: 64
BSIC: 5
Longitude: 14.2488966
Latitude: 48.232513
Cell 4
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 2515
Signal: 39
ARFCN: 55
BSIC: 32
Longitude: 14.2488163
Latitude: 48.2277972
Cell 5
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 60920
Signal: 21
ARFCN: 41
BSIC: 33
Longitude: 14.2647612
Latitude: 48.2299558
So with all that information how do I find, in the most accurate way, where I actually am?
geolocation gsm at-command
geolocation gsm at-command
edited Apr 30 '15 at 10:01
kmp
asked Apr 26 '12 at 8:37
kmpkmp
7,1307 gold badges60 silver badges114 bronze badges
7,1307 gold badges60 silver badges114 bronze badges
any chance of posting the data you get.. at least 50% because i am curious ;-)
– user359135
Apr 26 '12 at 8:40
I think that there may be different techniques for doing this dependent on exactly what data you have. I could put an answer up but it might be best to gather up all the data you can get and post a question on:math.stackexchange.com unless there is someone who has done this before and is up for sharing the specific info
– user359135
Apr 26 '12 at 8:59
1
does anyone know of an umts usb-device that supports this functionality? I've got one from huwei and one from alcatel but none supports AT+KCELL
– Folkert van Heusden
Feb 7 '13 at 19:37
1
@ppumkin, Well it has been a while but I think it was a Sagemcom HiLo V2 module - info here: support.sagemcom.com/site/livret/…
– kmp
Oct 22 '14 at 10:40
1
Never mind. I was looking at a 2010 doc, the 2014 doc has a vendor specific command 'AT+CNETSCAN' that gives you all cells with no sim card or connected cells with the connected network. Pretty awesome for 9GBP :)
– Piotr Kula
Oct 22 '14 at 11:25
|
show 6 more comments
any chance of posting the data you get.. at least 50% because i am curious ;-)
– user359135
Apr 26 '12 at 8:40
I think that there may be different techniques for doing this dependent on exactly what data you have. I could put an answer up but it might be best to gather up all the data you can get and post a question on:math.stackexchange.com unless there is someone who has done this before and is up for sharing the specific info
– user359135
Apr 26 '12 at 8:59
1
does anyone know of an umts usb-device that supports this functionality? I've got one from huwei and one from alcatel but none supports AT+KCELL
– Folkert van Heusden
Feb 7 '13 at 19:37
1
@ppumkin, Well it has been a while but I think it was a Sagemcom HiLo V2 module - info here: support.sagemcom.com/site/livret/…
– kmp
Oct 22 '14 at 10:40
1
Never mind. I was looking at a 2010 doc, the 2014 doc has a vendor specific command 'AT+CNETSCAN' that gives you all cells with no sim card or connected cells with the connected network. Pretty awesome for 9GBP :)
– Piotr Kula
Oct 22 '14 at 11:25
any chance of posting the data you get.. at least 50% because i am curious ;-)
– user359135
Apr 26 '12 at 8:40
any chance of posting the data you get.. at least 50% because i am curious ;-)
– user359135
Apr 26 '12 at 8:40
I think that there may be different techniques for doing this dependent on exactly what data you have. I could put an answer up but it might be best to gather up all the data you can get and post a question on:math.stackexchange.com unless there is someone who has done this before and is up for sharing the specific info
– user359135
Apr 26 '12 at 8:59
I think that there may be different techniques for doing this dependent on exactly what data you have. I could put an answer up but it might be best to gather up all the data you can get and post a question on:math.stackexchange.com unless there is someone who has done this before and is up for sharing the specific info
– user359135
Apr 26 '12 at 8:59
1
1
does anyone know of an umts usb-device that supports this functionality? I've got one from huwei and one from alcatel but none supports AT+KCELL
– Folkert van Heusden
Feb 7 '13 at 19:37
does anyone know of an umts usb-device that supports this functionality? I've got one from huwei and one from alcatel but none supports AT+KCELL
– Folkert van Heusden
Feb 7 '13 at 19:37
1
1
@ppumkin, Well it has been a while but I think it was a Sagemcom HiLo V2 module - info here: support.sagemcom.com/site/livret/…
– kmp
Oct 22 '14 at 10:40
@ppumkin, Well it has been a while but I think it was a Sagemcom HiLo V2 module - info here: support.sagemcom.com/site/livret/…
– kmp
Oct 22 '14 at 10:40
1
1
Never mind. I was looking at a 2010 doc, the 2014 doc has a vendor specific command 'AT+CNETSCAN' that gives you all cells with no sim card or connected cells with the connected network. Pretty awesome for 9GBP :)
– Piotr Kula
Oct 22 '14 at 11:25
Never mind. I was looking at a 2010 doc, the 2014 doc has a vendor specific command 'AT+CNETSCAN' that gives you all cells with no sim card or connected cells with the connected network. Pretty awesome for 9GBP :)
– Piotr Kula
Oct 22 '14 at 11:25
|
show 6 more comments
2 Answers
2
active
oldest
votes
I can help you with a bit of the theory.
Triangulation is basically finding the intersection point of 3 circles.
Each mobile tower is the center of a circle. The size of the circle is relative to the signal strength of that tower.
The place where the 3 circles overlap is where the user is.
You can do some very basic triangulation as follows:
3 Towers at
tx1,ty1
tx2,ty2
tx3,ty3
With signal strengths s1, s2, s3
We calculate the weight of each signal. Essentially a number from 0 to 1 for each tower where the sum of the weights adds up to 1.
Weighted signal w1, w2, w3 where:
w1 = s1/(s1+s2+s3)
w2 = s2/(s1+s2+s3)
w3 = s3/(s1+s2+s3)
User will be at
x: (w1 * tx1 + w2 * tx2+ w3 * tx3)
y: (w1 * ty1 + w2 * ty2+ w3 * ty3)
Here is a working example using the values from your question:
s1 = 80
s2 = 55
s3 = 55
s4 = 55
s5 = 21
w1 = 80 / ( 80 + 55 + 55 + 55 + 21 )
w2 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w3 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w4 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w5 = 21 / ( 80 + 55 + 55 + 55 + 21 )
w1 = 0.3007519
w2 = 0.2067669
w3 = 0.2067669
w4 = 0.2067669
w5 = 0.0789474
1. Longitude: 14.2565389
1. Latitude: 48.2248439
2. Longitude: 14.2637736
2. Latitude: 48.2331576
3. Longitude: 14.2488966
3. Latitude: 48.232513
4. Longitude: 14.2488163
4. Latitude: 48.2277972
5. Longitude: 14.2647612
5. Latitude: 48.2299558
Location Longitude =
14.2565389 * 0.3007519 +
14.2637736 * 0.2067669 +
14.2488966 * 0.2067669 +
14.2488163 * 0.2067669 +
14.2647612 * 0.0789474
Location Latitude: =
48.2248439 * 0.3007519 +
48.2331576 * 0.2067669 +
48.232513 * 0.2067669 +
48.2277972 * 0.2067669 +
48.2299558 * 0.0789474
Result Longitude: 14.255507
Result Latitude: 48.2291628
1
Thanks for answering - I have since included above the longitude and latitude values (according to the Google cellcode resolution service) for each of the cells so I plugged the three with the largest signal strength into the calculations you give. It comes up with a location in Africa (x: 16.0764901666667 y: 4.75214030350877) but all of the cells are located in Austria so that doesn't seem quite right - any chance there is a typo in there?
– kmp
Apr 26 '12 at 11:36
Sorry I think my formula's a bit wrong, give me 5.
– Jared Kells
Apr 26 '12 at 11:58
2
...And its assuming all towers have the same strength, height, interference etc. Just had an idea on how to get an error radius, you could use alternating selections of towers and look for similarities/differences in the triangulated point. Also over a period of time (repeat the above several times over a few seconds to alleviate erroneous spikes/drops in strength)
– Dave Engineer
Dec 11 '14 at 15:34
3
Signal is usually a negative value in dBm. So, the lower absolute value the better is signal and cell tower is closer. In this answer it means that weight of the signal with lower absolute value must be greater.
– Denis The Menace
Aug 23 '16 at 20:29
1
This formula is wrong. Let's simplify to round numbers. We have 3 cells: a(1,2), b(2,3) and c(2,1). And our phone is at (2,2). Signal is therefore 1 for all 3 cells. So factors w1,w2,w3 are all 1/3 X=(1/3 + 2/3 + 2/3) = 5/3 (should be 6/2=2) Y=(2/3 + 3/3 + 1/3) = 6/3 = 2 (this is ok) Also note that circle around tower is for omni antenas, but in practice this antenas are rarely used, they are rather sectored (like a pie). Within the sector the power is not the same in every direction, it is in the middle where on the ends it may drop to 3 or more dB.
– Marvin
Aug 31 '17 at 9:46
|
show 5 more comments
This is not an answer really but its a starter and I might add more to it:
The cell ids are published it seems:
http://openbmap.org/
I found this link from this wiki page that has links to other cell id data sources: http://en.wikipedia.org/wiki/Cell_ID )
see the bottom of the page the is a link to the cell id data:
http://openbmap.org/latest/cellular/raw/input_raw.zip
also i found this youtube video where a guys is playing around with some apps that have cell tower locations it seems:
http://www.youtube.com/watch?v=CYvVN5dJD7A
possibly between the cell ids and signal strength you can make a guess..
but AFAIK for general triangulation you need to know the exact location of at least three towers and your exact distance from them (this could be a rough distance with signal strength but it may just be too in accurate).
it seems like wikipedia is saying its done in this way.. use a combination of which cell you are in, the closest tower and signal strengths to get your location:
http://en.wikipedia.org/wiki/Mobile_phone_tracking
add a comment |
protected by Community♦ Sep 27 '13 at 15:44
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I can help you with a bit of the theory.
Triangulation is basically finding the intersection point of 3 circles.
Each mobile tower is the center of a circle. The size of the circle is relative to the signal strength of that tower.
The place where the 3 circles overlap is where the user is.
You can do some very basic triangulation as follows:
3 Towers at
tx1,ty1
tx2,ty2
tx3,ty3
With signal strengths s1, s2, s3
We calculate the weight of each signal. Essentially a number from 0 to 1 for each tower where the sum of the weights adds up to 1.
Weighted signal w1, w2, w3 where:
w1 = s1/(s1+s2+s3)
w2 = s2/(s1+s2+s3)
w3 = s3/(s1+s2+s3)
User will be at
x: (w1 * tx1 + w2 * tx2+ w3 * tx3)
y: (w1 * ty1 + w2 * ty2+ w3 * ty3)
Here is a working example using the values from your question:
s1 = 80
s2 = 55
s3 = 55
s4 = 55
s5 = 21
w1 = 80 / ( 80 + 55 + 55 + 55 + 21 )
w2 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w3 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w4 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w5 = 21 / ( 80 + 55 + 55 + 55 + 21 )
w1 = 0.3007519
w2 = 0.2067669
w3 = 0.2067669
w4 = 0.2067669
w5 = 0.0789474
1. Longitude: 14.2565389
1. Latitude: 48.2248439
2. Longitude: 14.2637736
2. Latitude: 48.2331576
3. Longitude: 14.2488966
3. Latitude: 48.232513
4. Longitude: 14.2488163
4. Latitude: 48.2277972
5. Longitude: 14.2647612
5. Latitude: 48.2299558
Location Longitude =
14.2565389 * 0.3007519 +
14.2637736 * 0.2067669 +
14.2488966 * 0.2067669 +
14.2488163 * 0.2067669 +
14.2647612 * 0.0789474
Location Latitude: =
48.2248439 * 0.3007519 +
48.2331576 * 0.2067669 +
48.232513 * 0.2067669 +
48.2277972 * 0.2067669 +
48.2299558 * 0.0789474
Result Longitude: 14.255507
Result Latitude: 48.2291628
1
Thanks for answering - I have since included above the longitude and latitude values (according to the Google cellcode resolution service) for each of the cells so I plugged the three with the largest signal strength into the calculations you give. It comes up with a location in Africa (x: 16.0764901666667 y: 4.75214030350877) but all of the cells are located in Austria so that doesn't seem quite right - any chance there is a typo in there?
– kmp
Apr 26 '12 at 11:36
Sorry I think my formula's a bit wrong, give me 5.
– Jared Kells
Apr 26 '12 at 11:58
2
...And its assuming all towers have the same strength, height, interference etc. Just had an idea on how to get an error radius, you could use alternating selections of towers and look for similarities/differences in the triangulated point. Also over a period of time (repeat the above several times over a few seconds to alleviate erroneous spikes/drops in strength)
– Dave Engineer
Dec 11 '14 at 15:34
3
Signal is usually a negative value in dBm. So, the lower absolute value the better is signal and cell tower is closer. In this answer it means that weight of the signal with lower absolute value must be greater.
– Denis The Menace
Aug 23 '16 at 20:29
1
This formula is wrong. Let's simplify to round numbers. We have 3 cells: a(1,2), b(2,3) and c(2,1). And our phone is at (2,2). Signal is therefore 1 for all 3 cells. So factors w1,w2,w3 are all 1/3 X=(1/3 + 2/3 + 2/3) = 5/3 (should be 6/2=2) Y=(2/3 + 3/3 + 1/3) = 6/3 = 2 (this is ok) Also note that circle around tower is for omni antenas, but in practice this antenas are rarely used, they are rather sectored (like a pie). Within the sector the power is not the same in every direction, it is in the middle where on the ends it may drop to 3 or more dB.
– Marvin
Aug 31 '17 at 9:46
|
show 5 more comments
I can help you with a bit of the theory.
Triangulation is basically finding the intersection point of 3 circles.
Each mobile tower is the center of a circle. The size of the circle is relative to the signal strength of that tower.
The place where the 3 circles overlap is where the user is.
You can do some very basic triangulation as follows:
3 Towers at
tx1,ty1
tx2,ty2
tx3,ty3
With signal strengths s1, s2, s3
We calculate the weight of each signal. Essentially a number from 0 to 1 for each tower where the sum of the weights adds up to 1.
Weighted signal w1, w2, w3 where:
w1 = s1/(s1+s2+s3)
w2 = s2/(s1+s2+s3)
w3 = s3/(s1+s2+s3)
User will be at
x: (w1 * tx1 + w2 * tx2+ w3 * tx3)
y: (w1 * ty1 + w2 * ty2+ w3 * ty3)
Here is a working example using the values from your question:
s1 = 80
s2 = 55
s3 = 55
s4 = 55
s5 = 21
w1 = 80 / ( 80 + 55 + 55 + 55 + 21 )
w2 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w3 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w4 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w5 = 21 / ( 80 + 55 + 55 + 55 + 21 )
w1 = 0.3007519
w2 = 0.2067669
w3 = 0.2067669
w4 = 0.2067669
w5 = 0.0789474
1. Longitude: 14.2565389
1. Latitude: 48.2248439
2. Longitude: 14.2637736
2. Latitude: 48.2331576
3. Longitude: 14.2488966
3. Latitude: 48.232513
4. Longitude: 14.2488163
4. Latitude: 48.2277972
5. Longitude: 14.2647612
5. Latitude: 48.2299558
Location Longitude =
14.2565389 * 0.3007519 +
14.2637736 * 0.2067669 +
14.2488966 * 0.2067669 +
14.2488163 * 0.2067669 +
14.2647612 * 0.0789474
Location Latitude: =
48.2248439 * 0.3007519 +
48.2331576 * 0.2067669 +
48.232513 * 0.2067669 +
48.2277972 * 0.2067669 +
48.2299558 * 0.0789474
Result Longitude: 14.255507
Result Latitude: 48.2291628
1
Thanks for answering - I have since included above the longitude and latitude values (according to the Google cellcode resolution service) for each of the cells so I plugged the three with the largest signal strength into the calculations you give. It comes up with a location in Africa (x: 16.0764901666667 y: 4.75214030350877) but all of the cells are located in Austria so that doesn't seem quite right - any chance there is a typo in there?
– kmp
Apr 26 '12 at 11:36
Sorry I think my formula's a bit wrong, give me 5.
– Jared Kells
Apr 26 '12 at 11:58
2
...And its assuming all towers have the same strength, height, interference etc. Just had an idea on how to get an error radius, you could use alternating selections of towers and look for similarities/differences in the triangulated point. Also over a period of time (repeat the above several times over a few seconds to alleviate erroneous spikes/drops in strength)
– Dave Engineer
Dec 11 '14 at 15:34
3
Signal is usually a negative value in dBm. So, the lower absolute value the better is signal and cell tower is closer. In this answer it means that weight of the signal with lower absolute value must be greater.
– Denis The Menace
Aug 23 '16 at 20:29
1
This formula is wrong. Let's simplify to round numbers. We have 3 cells: a(1,2), b(2,3) and c(2,1). And our phone is at (2,2). Signal is therefore 1 for all 3 cells. So factors w1,w2,w3 are all 1/3 X=(1/3 + 2/3 + 2/3) = 5/3 (should be 6/2=2) Y=(2/3 + 3/3 + 1/3) = 6/3 = 2 (this is ok) Also note that circle around tower is for omni antenas, but in practice this antenas are rarely used, they are rather sectored (like a pie). Within the sector the power is not the same in every direction, it is in the middle where on the ends it may drop to 3 or more dB.
– Marvin
Aug 31 '17 at 9:46
|
show 5 more comments
I can help you with a bit of the theory.
Triangulation is basically finding the intersection point of 3 circles.
Each mobile tower is the center of a circle. The size of the circle is relative to the signal strength of that tower.
The place where the 3 circles overlap is where the user is.
You can do some very basic triangulation as follows:
3 Towers at
tx1,ty1
tx2,ty2
tx3,ty3
With signal strengths s1, s2, s3
We calculate the weight of each signal. Essentially a number from 0 to 1 for each tower where the sum of the weights adds up to 1.
Weighted signal w1, w2, w3 where:
w1 = s1/(s1+s2+s3)
w2 = s2/(s1+s2+s3)
w3 = s3/(s1+s2+s3)
User will be at
x: (w1 * tx1 + w2 * tx2+ w3 * tx3)
y: (w1 * ty1 + w2 * ty2+ w3 * ty3)
Here is a working example using the values from your question:
s1 = 80
s2 = 55
s3 = 55
s4 = 55
s5 = 21
w1 = 80 / ( 80 + 55 + 55 + 55 + 21 )
w2 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w3 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w4 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w5 = 21 / ( 80 + 55 + 55 + 55 + 21 )
w1 = 0.3007519
w2 = 0.2067669
w3 = 0.2067669
w4 = 0.2067669
w5 = 0.0789474
1. Longitude: 14.2565389
1. Latitude: 48.2248439
2. Longitude: 14.2637736
2. Latitude: 48.2331576
3. Longitude: 14.2488966
3. Latitude: 48.232513
4. Longitude: 14.2488163
4. Latitude: 48.2277972
5. Longitude: 14.2647612
5. Latitude: 48.2299558
Location Longitude =
14.2565389 * 0.3007519 +
14.2637736 * 0.2067669 +
14.2488966 * 0.2067669 +
14.2488163 * 0.2067669 +
14.2647612 * 0.0789474
Location Latitude: =
48.2248439 * 0.3007519 +
48.2331576 * 0.2067669 +
48.232513 * 0.2067669 +
48.2277972 * 0.2067669 +
48.2299558 * 0.0789474
Result Longitude: 14.255507
Result Latitude: 48.2291628
I can help you with a bit of the theory.
Triangulation is basically finding the intersection point of 3 circles.
Each mobile tower is the center of a circle. The size of the circle is relative to the signal strength of that tower.
The place where the 3 circles overlap is where the user is.
You can do some very basic triangulation as follows:
3 Towers at
tx1,ty1
tx2,ty2
tx3,ty3
With signal strengths s1, s2, s3
We calculate the weight of each signal. Essentially a number from 0 to 1 for each tower where the sum of the weights adds up to 1.
Weighted signal w1, w2, w3 where:
w1 = s1/(s1+s2+s3)
w2 = s2/(s1+s2+s3)
w3 = s3/(s1+s2+s3)
User will be at
x: (w1 * tx1 + w2 * tx2+ w3 * tx3)
y: (w1 * ty1 + w2 * ty2+ w3 * ty3)
Here is a working example using the values from your question:
s1 = 80
s2 = 55
s3 = 55
s4 = 55
s5 = 21
w1 = 80 / ( 80 + 55 + 55 + 55 + 21 )
w2 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w3 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w4 = 55 / ( 80 + 55 + 55 + 55 + 21 )
w5 = 21 / ( 80 + 55 + 55 + 55 + 21 )
w1 = 0.3007519
w2 = 0.2067669
w3 = 0.2067669
w4 = 0.2067669
w5 = 0.0789474
1. Longitude: 14.2565389
1. Latitude: 48.2248439
2. Longitude: 14.2637736
2. Latitude: 48.2331576
3. Longitude: 14.2488966
3. Latitude: 48.232513
4. Longitude: 14.2488163
4. Latitude: 48.2277972
5. Longitude: 14.2647612
5. Latitude: 48.2299558
Location Longitude =
14.2565389 * 0.3007519 +
14.2637736 * 0.2067669 +
14.2488966 * 0.2067669 +
14.2488163 * 0.2067669 +
14.2647612 * 0.0789474
Location Latitude: =
48.2248439 * 0.3007519 +
48.2331576 * 0.2067669 +
48.232513 * 0.2067669 +
48.2277972 * 0.2067669 +
48.2299558 * 0.0789474
Result Longitude: 14.255507
Result Latitude: 48.2291628
edited Apr 26 '12 at 12:17
answered Apr 26 '12 at 10:11
Jared KellsJared Kells
4,7813 gold badges31 silver badges38 bronze badges
4,7813 gold badges31 silver badges38 bronze badges
1
Thanks for answering - I have since included above the longitude and latitude values (according to the Google cellcode resolution service) for each of the cells so I plugged the three with the largest signal strength into the calculations you give. It comes up with a location in Africa (x: 16.0764901666667 y: 4.75214030350877) but all of the cells are located in Austria so that doesn't seem quite right - any chance there is a typo in there?
– kmp
Apr 26 '12 at 11:36
Sorry I think my formula's a bit wrong, give me 5.
– Jared Kells
Apr 26 '12 at 11:58
2
...And its assuming all towers have the same strength, height, interference etc. Just had an idea on how to get an error radius, you could use alternating selections of towers and look for similarities/differences in the triangulated point. Also over a period of time (repeat the above several times over a few seconds to alleviate erroneous spikes/drops in strength)
– Dave Engineer
Dec 11 '14 at 15:34
3
Signal is usually a negative value in dBm. So, the lower absolute value the better is signal and cell tower is closer. In this answer it means that weight of the signal with lower absolute value must be greater.
– Denis The Menace
Aug 23 '16 at 20:29
1
This formula is wrong. Let's simplify to round numbers. We have 3 cells: a(1,2), b(2,3) and c(2,1). And our phone is at (2,2). Signal is therefore 1 for all 3 cells. So factors w1,w2,w3 are all 1/3 X=(1/3 + 2/3 + 2/3) = 5/3 (should be 6/2=2) Y=(2/3 + 3/3 + 1/3) = 6/3 = 2 (this is ok) Also note that circle around tower is for omni antenas, but in practice this antenas are rarely used, they are rather sectored (like a pie). Within the sector the power is not the same in every direction, it is in the middle where on the ends it may drop to 3 or more dB.
– Marvin
Aug 31 '17 at 9:46
|
show 5 more comments
1
Thanks for answering - I have since included above the longitude and latitude values (according to the Google cellcode resolution service) for each of the cells so I plugged the three with the largest signal strength into the calculations you give. It comes up with a location in Africa (x: 16.0764901666667 y: 4.75214030350877) but all of the cells are located in Austria so that doesn't seem quite right - any chance there is a typo in there?
– kmp
Apr 26 '12 at 11:36
Sorry I think my formula's a bit wrong, give me 5.
– Jared Kells
Apr 26 '12 at 11:58
2
...And its assuming all towers have the same strength, height, interference etc. Just had an idea on how to get an error radius, you could use alternating selections of towers and look for similarities/differences in the triangulated point. Also over a period of time (repeat the above several times over a few seconds to alleviate erroneous spikes/drops in strength)
– Dave Engineer
Dec 11 '14 at 15:34
3
Signal is usually a negative value in dBm. So, the lower absolute value the better is signal and cell tower is closer. In this answer it means that weight of the signal with lower absolute value must be greater.
– Denis The Menace
Aug 23 '16 at 20:29
1
This formula is wrong. Let's simplify to round numbers. We have 3 cells: a(1,2), b(2,3) and c(2,1). And our phone is at (2,2). Signal is therefore 1 for all 3 cells. So factors w1,w2,w3 are all 1/3 X=(1/3 + 2/3 + 2/3) = 5/3 (should be 6/2=2) Y=(2/3 + 3/3 + 1/3) = 6/3 = 2 (this is ok) Also note that circle around tower is for omni antenas, but in practice this antenas are rarely used, they are rather sectored (like a pie). Within the sector the power is not the same in every direction, it is in the middle where on the ends it may drop to 3 or more dB.
– Marvin
Aug 31 '17 at 9:46
1
1
Thanks for answering - I have since included above the longitude and latitude values (according to the Google cellcode resolution service) for each of the cells so I plugged the three with the largest signal strength into the calculations you give. It comes up with a location in Africa (x: 16.0764901666667 y: 4.75214030350877) but all of the cells are located in Austria so that doesn't seem quite right - any chance there is a typo in there?
– kmp
Apr 26 '12 at 11:36
Thanks for answering - I have since included above the longitude and latitude values (according to the Google cellcode resolution service) for each of the cells so I plugged the three with the largest signal strength into the calculations you give. It comes up with a location in Africa (x: 16.0764901666667 y: 4.75214030350877) but all of the cells are located in Austria so that doesn't seem quite right - any chance there is a typo in there?
– kmp
Apr 26 '12 at 11:36
Sorry I think my formula's a bit wrong, give me 5.
– Jared Kells
Apr 26 '12 at 11:58
Sorry I think my formula's a bit wrong, give me 5.
– Jared Kells
Apr 26 '12 at 11:58
2
2
...And its assuming all towers have the same strength, height, interference etc. Just had an idea on how to get an error radius, you could use alternating selections of towers and look for similarities/differences in the triangulated point. Also over a period of time (repeat the above several times over a few seconds to alleviate erroneous spikes/drops in strength)
– Dave Engineer
Dec 11 '14 at 15:34
...And its assuming all towers have the same strength, height, interference etc. Just had an idea on how to get an error radius, you could use alternating selections of towers and look for similarities/differences in the triangulated point. Also over a period of time (repeat the above several times over a few seconds to alleviate erroneous spikes/drops in strength)
– Dave Engineer
Dec 11 '14 at 15:34
3
3
Signal is usually a negative value in dBm. So, the lower absolute value the better is signal and cell tower is closer. In this answer it means that weight of the signal with lower absolute value must be greater.
– Denis The Menace
Aug 23 '16 at 20:29
Signal is usually a negative value in dBm. So, the lower absolute value the better is signal and cell tower is closer. In this answer it means that weight of the signal with lower absolute value must be greater.
– Denis The Menace
Aug 23 '16 at 20:29
1
1
This formula is wrong. Let's simplify to round numbers. We have 3 cells: a(1,2), b(2,3) and c(2,1). And our phone is at (2,2). Signal is therefore 1 for all 3 cells. So factors w1,w2,w3 are all 1/3 X=(1/3 + 2/3 + 2/3) = 5/3 (should be 6/2=2) Y=(2/3 + 3/3 + 1/3) = 6/3 = 2 (this is ok) Also note that circle around tower is for omni antenas, but in practice this antenas are rarely used, they are rather sectored (like a pie). Within the sector the power is not the same in every direction, it is in the middle where on the ends it may drop to 3 or more dB.
– Marvin
Aug 31 '17 at 9:46
This formula is wrong. Let's simplify to round numbers. We have 3 cells: a(1,2), b(2,3) and c(2,1). And our phone is at (2,2). Signal is therefore 1 for all 3 cells. So factors w1,w2,w3 are all 1/3 X=(1/3 + 2/3 + 2/3) = 5/3 (should be 6/2=2) Y=(2/3 + 3/3 + 1/3) = 6/3 = 2 (this is ok) Also note that circle around tower is for omni antenas, but in practice this antenas are rarely used, they are rather sectored (like a pie). Within the sector the power is not the same in every direction, it is in the middle where on the ends it may drop to 3 or more dB.
– Marvin
Aug 31 '17 at 9:46
|
show 5 more comments
This is not an answer really but its a starter and I might add more to it:
The cell ids are published it seems:
http://openbmap.org/
I found this link from this wiki page that has links to other cell id data sources: http://en.wikipedia.org/wiki/Cell_ID )
see the bottom of the page the is a link to the cell id data:
http://openbmap.org/latest/cellular/raw/input_raw.zip
also i found this youtube video where a guys is playing around with some apps that have cell tower locations it seems:
http://www.youtube.com/watch?v=CYvVN5dJD7A
possibly between the cell ids and signal strength you can make a guess..
but AFAIK for general triangulation you need to know the exact location of at least three towers and your exact distance from them (this could be a rough distance with signal strength but it may just be too in accurate).
it seems like wikipedia is saying its done in this way.. use a combination of which cell you are in, the closest tower and signal strengths to get your location:
http://en.wikipedia.org/wiki/Mobile_phone_tracking
add a comment |
This is not an answer really but its a starter and I might add more to it:
The cell ids are published it seems:
http://openbmap.org/
I found this link from this wiki page that has links to other cell id data sources: http://en.wikipedia.org/wiki/Cell_ID )
see the bottom of the page the is a link to the cell id data:
http://openbmap.org/latest/cellular/raw/input_raw.zip
also i found this youtube video where a guys is playing around with some apps that have cell tower locations it seems:
http://www.youtube.com/watch?v=CYvVN5dJD7A
possibly between the cell ids and signal strength you can make a guess..
but AFAIK for general triangulation you need to know the exact location of at least three towers and your exact distance from them (this could be a rough distance with signal strength but it may just be too in accurate).
it seems like wikipedia is saying its done in this way.. use a combination of which cell you are in, the closest tower and signal strengths to get your location:
http://en.wikipedia.org/wiki/Mobile_phone_tracking
add a comment |
This is not an answer really but its a starter and I might add more to it:
The cell ids are published it seems:
http://openbmap.org/
I found this link from this wiki page that has links to other cell id data sources: http://en.wikipedia.org/wiki/Cell_ID )
see the bottom of the page the is a link to the cell id data:
http://openbmap.org/latest/cellular/raw/input_raw.zip
also i found this youtube video where a guys is playing around with some apps that have cell tower locations it seems:
http://www.youtube.com/watch?v=CYvVN5dJD7A
possibly between the cell ids and signal strength you can make a guess..
but AFAIK for general triangulation you need to know the exact location of at least three towers and your exact distance from them (this could be a rough distance with signal strength but it may just be too in accurate).
it seems like wikipedia is saying its done in this way.. use a combination of which cell you are in, the closest tower and signal strengths to get your location:
http://en.wikipedia.org/wiki/Mobile_phone_tracking
This is not an answer really but its a starter and I might add more to it:
The cell ids are published it seems:
http://openbmap.org/
I found this link from this wiki page that has links to other cell id data sources: http://en.wikipedia.org/wiki/Cell_ID )
see the bottom of the page the is a link to the cell id data:
http://openbmap.org/latest/cellular/raw/input_raw.zip
also i found this youtube video where a guys is playing around with some apps that have cell tower locations it seems:
http://www.youtube.com/watch?v=CYvVN5dJD7A
possibly between the cell ids and signal strength you can make a guess..
but AFAIK for general triangulation you need to know the exact location of at least three towers and your exact distance from them (this could be a rough distance with signal strength but it may just be too in accurate).
it seems like wikipedia is saying its done in this way.. use a combination of which cell you are in, the closest tower and signal strengths to get your location:
http://en.wikipedia.org/wiki/Mobile_phone_tracking
edited Apr 26 '12 at 10:30
answered Apr 26 '12 at 10:23
user359135
add a comment |
add a comment |
protected by Community♦ Sep 27 '13 at 15:44
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
any chance of posting the data you get.. at least 50% because i am curious ;-)
– user359135
Apr 26 '12 at 8:40
I think that there may be different techniques for doing this dependent on exactly what data you have. I could put an answer up but it might be best to gather up all the data you can get and post a question on:math.stackexchange.com unless there is someone who has done this before and is up for sharing the specific info
– user359135
Apr 26 '12 at 8:59
1
does anyone know of an umts usb-device that supports this functionality? I've got one from huwei and one from alcatel but none supports AT+KCELL
– Folkert van Heusden
Feb 7 '13 at 19:37
1
@ppumkin, Well it has been a while but I think it was a Sagemcom HiLo V2 module - info here: support.sagemcom.com/site/livret/…
– kmp
Oct 22 '14 at 10:40
1
Never mind. I was looking at a 2010 doc, the 2014 doc has a vendor specific command 'AT+CNETSCAN' that gives you all cells with no sim card or connected cells with the connected network. Pretty awesome for 9GBP :)
– Piotr Kula
Oct 22 '14 at 11:25