2016-06-04 3 views
0

Я делал некоторые тесты с формулой потери пути, и это дает мне довольно хорошие результаты. Тем не менее, я посмотрел на исходный код и увидел, что используемая формула: distance = Math.pow (10,0, ((-адаптированный Rssi + txPower) /10*0.35))Правильно ли формула потери пути?

где adjustRssi - настройка RSSI. Это давало мне очень небольшие значения для расстояния, поэтому я подумал, что я должен был каким-то образом изменить его. После выполнения математики и игры немного я обнаружил, что использование txPower-настройки вместо txPower-adjustRSSI дает мне правильные расстояния.

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

Является ли это ошибкой или я пропущу что-то очевидное? Использование formla как прямо сейчас дает мне неправильные результаты, изменяя его так, как я сделал, дает правильные результаты.

Кроме того, почему формула используется только в том случае, если отношение < 1. Не должно ли оно работать в любом случае?

ответ

1

Да, вы абсолютно правы! Пересматривая это сейчас, я вижу, что это была простая ошибка кодирования, которую я сделал, когда я изначально написал это. Я приостановил работу над формулой потери пути, потому что получал плохие результаты, возможно, из-за этой ошибки.

Поскольку это ветка разработки библиотеки с открытым исходным кодом, размещенная на Github, вероятно, наиболее целесообразно обсудить это на этом форуме. Пожалуйста, не стесняйтесь комментировать прямо на тему запроса на растяжение здесь: https://github.com/AltBeacon/android-beacon-library/pull/251. Будучи ведущим разработчиком этого проекта, я также приветствую запрос на тяну с изменениями, которые вы делаете.