2012-04-26 16 views
28

まずは、この災害をC#(.net 4)でやろうとしています。私が手助けするいくつかのコードを思いついたら、本当に何かが助けになるでしょう。GSMセルタワーを適切に三角測量する方法

私はGSMセルの情報を(ちなみにAT+KCELLコマンドで)得ることができるデバイスを持っているので、セルタワーに関する値のコレクションを持っています(それぞれLAC、MCC、MNC、セルID、信号強度と最初のタイミングアドバンス)。だから私はある種の経度と緯度の座標を思いつくことができる良い場所にいると思います(不正確ですが、まあまあ)。これは私が助けを求めているところで、私の小さな脳は混乱しているからです...

私は、セルコードの解像度(Google、Open Cell IDなど)を提供する様々なサービスを見ることができ、LAC、引数をとり、座標を返します。私は彼らが返すものは、私が渡したタワーの座標であると考えています。私の場合は、私が持っているすべてのLACなどを送って、経度と緯度のコレクションを取り戻すことができます。ブリリアントですが、それは私のデバイスがどこにあるのかわかりません。今私は何らかの三角測量をする必要があると思います、そして、これは知識の欠如が私を傷つけるところです。

これまでのところ私はこれまで通りですか?私が仮定すると、どのようにこの計算を実行するのですか(これらの数値すべてで何をするか、さらには、何かを分かりやすくするためにこれらのすべてのものを参照してフィードすることができるオープンソースライブラリもあります) ?

私は、セルタワーからの距離を近似するためにタイミング・アドバンスを使用する必要があると仮定していますが(何とか信号強度を使用するかもしれませんが)どうすればいいですか?あなたが言うことができるように - 私はここで私の深さの方法です!たとえば、これは私がATコマンド前述から取り戻すかもしれない何か

されています:

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 

それを分割し、それを解析し、私は私がこの権利を解析願っています(になるだろう - がある可能性がありもちろん、私の解析ルーチンのバグが、それは合理的に見える):

Number of cells: 5 

セル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 

セル2

LAC: 5502 
MNC: 1 
MCC: 232 
Cell ID: 33015 
Signal: 55 
ARFCN: 79 
BSIC: 3 
Longitude: 14.2637736 
Latitude: 48.2331576 

セル3

LAC: 5502 
MNC: 1 
MCC: 232 
Cell ID: 33035 
Signal: 55 
ARFCN: 64 
BSIC: 5 
Longitude: 14.2488966 
Latitude: 48.232513 

セル4

LAC: 5502 
MNC: 1 
MCC: 232 
Cell ID: 2515 
Signal: 39 
ARFCN: 55 
BSIC: 32 
Longitude: 14.2488163 
Latitude: 48.2277972 

セル5

LAC: 5502 
MNC: 1 
MCC: 232 
Cell ID: 60920 
Signal: 21 
ARFCN: 41 
BSIC: 33 
Longitude: 14.2647612 
Latitude: 48.2299558 

この情報はすべて、どのようにして最も正確な方法で実際にどこにあるのですか?

+0

任意のチャンスを私が好奇心を持っているので少なくとも50%が得られます;-) – gordatron

+0

あなたには、あなたが持っているデータを正確に依存させるためのさまざまなテクニックがあると思います。私は答えを出すことができますが、あなたが得ることができるすべてのデータを集めて、http://math.stackexchange.com/で質問を投稿することが最もよいかもしれません。特定の情報 – gordatron

+0

@ gordatron私は例を追加しました - 私の質問を見ていただきありがとうございます – kmp

答えて

34

私は少しの理論であなたを助けることができます。

三角測量は、基本的に3つの円の交点を見つけることです。

各モバイルタワーは円の中心です。円のサイズは、そのタワーの信号強度に比例します。

3つの円が重なる場所は、ユーザーがいる場所です。

次のように、いくつかの非常に基本的な三角測量を行うことができます

:あなたの質問からの値を使用して実施例をここで

 
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) 

ですが:

 

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

回答ありがとうございます - 私は以来、私はあなたが与える計算に最大の信号強度で3つを差し込んだ(セルコード解決サービスによると)各セルの経度と緯度の値を上に含まれている。それはアフリカ(x:16.0764901666667 y:4.75214030350877)の場所に現れますが、すべてのセルはオーストリアに位置しているので、かなり正しいとは思われません。 – kmp

+0

申し訳ありません私の公式は少し間違っていると思います、私に5を与えてください。 –

+0

うん、私は3で割るべきではありません。私は、あなたの値を使った例で質問を更新しました。今オーストリアにあります:-) –

3

これは本当に答えではないが、そのスターター

セルIDが公開されているようです:

http://en.wikipedia.org/wiki/Cell_ID

は、ページのインクルードの下部を参照してくださいセルIDデータへのリンクがある:http://openbmap.org/

は、私は他のセルIDデータソースへのリンクを持っているこのwikiページからこのリンクを見つけましたhttp://openbmap.org/latest/cellular/raw/input_raw.zip

も、私はみんながそれはそうセルタワーの場所を持っているいくつかのアプリで遊んでさ、このユーチューブの動画を見つけました:

おそらくあなたが推測を行うことができ、セルIDと信号強度の間に210

..

が、私の知る限り、一般的な三角測量のために、あなたは彼らから、少なくとも3つの塔とあなたの正確な距離の正確な位置を知る必要があります(これは可能性が信号の強さとの距離は遠いですが正確すぎるかもしれません)。

ウィキペディアはあなたの場所を得るためにあなたがしているどのセルを組み合わせ、最も近い塔を使用し、信号強度を...その、この方法で行うと言っているように思える:投稿の

http://en.wikipedia.org/wiki/Mobile_phone_tracking

関連する問題