我試圖根據從4個Wi-Fi接入點收到的信號強度來估計位置。我測量位於100平方米(10x10)的方形房間每個角落的4個接入點的信號強度。我使用Android手機將已知位置(x,y)=(9.5,1.5)的信號強度記錄下來。現在我想檢查在這種情況下多邊測量方法的準確性。 使用MATLAB,我應用了一個公式來計算使用信號強度的距離。下面MATLAB函數表示式的應用:根據信號強度查找位置(圓圈之間的交叉區域)
function [ d_vect ] = distance(RSS)
% Calculate distance from signal strength
result = (27.55 - (20 * log10(2400)) + abs(RSS))/20;
d_vect = power(10, result);
end
輸入RSS是與測試點(X,Y)=(9.5,1.5)測得的四個信號強度的載體。 RSS的矢量看起來是這樣的:
RSS =
-57.6000
-60.4000
-44.7000
-54.4000
,並與所有的估計距離每個接入點的合成矢量是這樣的:
d_vect =
7.5386
10.4061
1.7072
5.2154
現在我想根據這些距離估計我的位置,接入點位置,以便找到估計位置和已知位置(9.5,1.5)之間的誤差。我想找到四個圓圈之間的交叉區域(爲了估計位置),其中每個接入點是其中一個圓的中心,距離是圓的半徑。
我想找到的灰色區域,如圖此圖像中: http://www.biologycorner.com/resources/venn4.gif
你爲什麼用標記吧'matlab'?這看起來不像是Matlab代碼。 – kkuilla
你說得對。這是Java代碼(我的最終目標是Android)。不過,我正在MATLAB中測試計算。我會把類似的MATLAB代碼。 –
您的標籤現在不一致。 android標籤不再適用。另外,你應該提供[mcve](http://stackoverflow.com/help/mcve)。在這種情況下,這意味着您應該添加一些樣本數據和該數據的預期輸出。這將顯着增加獲得有用答案的機會。你的問題目前有些武斷。它可能是一個數學,幾何或甚至無線網絡問題。 – kkuilla