2016-05-27 7 views
0

я был в состоянии перейти к формуле потерь на трассе, но я должен был сделать это вручную черезЕсть ли способ облегчить форму потери пути в Android Beacon Library и как я могу рассчитать параметры для формулы?

beacon.setDistanceCalculator(new PathLossCalculator(param1, param2)) 

, но этот метод требует от меня, чтобы ввести константы вручную, а не автоматически те для конкретного устройства. Есть ли способ, чтобы включить формулу, как мы можем сделать с помощью следующего метода BeaconManager

setRssiFilterImplClass(ArmaRssiFilter.class) 

Кроме того, могу ли я получить какие-либо выводы о том, как найти 2 параметра, как и с кривыми установлены формулами? Какова теория этой формулы/Откуда она исходит?

спасибо.

ответ

0

Формула потери пути в настоящее время является экспериментальной. Не доказано, что можно более точно оценивать расстояния по моделям Android и типам маяков. Если это будет доказано, оно будет объединено с ведущей ветвью библиотеки, что упростит ее включение, как вы предлагаете. Если вы заинтересованы в добровольчестве, чтобы помочь в этом, пожалуйста, сделайте это!

Алгоритм использует две константы для стандартизации RSSI, обнаруженного вашим телефоном: receiverRssiSlope и receiverRssiOffset. Их purpise является настройка измерения RSSI на Android устройства, чтобы они лучше имитировать реакцию ссылочной приемники iPhone. Я заметил в тестировании две вещи:

  • Все Android устройства имеют различные коэффициенты усиления приемника, требуя RSSI смещения, чтобы входы работают на одной и той же формуле.

  • Значение RSSI на многих устройствах Android не уменьшается/увеличивается пропорционально, так как вы перемещаете то же расстояние, что и на эталонном устройстве iPhone. Цель приемника RssiSlope - это настроить для этого.

Идея заключается в том, чтобы получить RSSI в зависимости от расстояния таблицы, которая выглядит так же, как это возможно, как ссылка iPhone RSSI в зависимости от расстояния до стола с использованием его в качестве вклада в уравнение расстояния. Итак, вы делаете линейную оценку, чтобы преобразовать значение RSSI модели Android в стандартизованное значение RSSI для iPhone.

Чтобы вычислить константы для Galaxy S3, вы собираете измерения RSSI на известных расстояниях для этого устройства, а также iPhone 6. Затем сделайте линейную оценку для Galaxy S3 RSSI (независимая переменная), чтобы преобразовать ее в iPhone ссылка RSSI (зависимая переменная). Делая регрессию, вы получите что-то вроде:

Intercept -11,076209048362 Slope +0,80421216848674

А затем использовать это для преобразования Android устройство RSSI в унифицированную ссылку RSSI, прежде чем подключить его в дали формулу потерь на трассу.

+0

Спасибо за разъяснение, я сделаю некоторые тесты с этим алгоритмом и дам вам знать, если я получу что-нибудь интересное. У вас есть идеи для любых других дистанционных алгоритмов, которые я мог бы попробовать? Также мне не нужно будет использовать iPhone 5 вместо iPhone 6, так как txPower vlaue - это iPhone 5? (ради согласованности). – user3001845

+0

Вы должны, как правило, откалибровать с помощью последней модели iPhone в качестве ссылки. Если у вас есть калиброванные маяки, которые были откалиброваны с более ранней моделью iPhone, вы должны использовать это, да. – davidgyoung