Предисловие или «Если у нас есть Wi-Fi, а давайте позиционировать с помощью него!»


Сейчас геопозиционирование на базе технологии GPS использует каждый, у кого есть смартфон. Но как только человек входит в здание, GPS перестаёт работать (хотя смартфон и показывает координату, но уже со значительно меньшей точностью). С одной стороны, не очень-то и хотелось, с другой, а почему бы и нет, прикладные задачи для этого имеются.

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

В данной статье постараюсь рассмотреть технические аспекты (не касаясь прикладной применимости) позиционирования на базе технологии Wi-Fi (именно эта технология наиболее распространена внутри помещений и подходит для решения этой задачи) и проанализировать причины неудач при реализации.

На первый взгляд


На первый взгляд (и только!) инфраструктура Wi-Fi очень хорошо подходит для позиционирования внутри помещений: в ней есть достаточное количество точек с известными координатами (имеются ввиду точки доступа Wi-Fi, далее просто ТД), у каждого смартфона внутри есть Wi-Fi адаптер (Клиент). Теперь можно вычислить расстояние между ТД и Клиентом и рассчитать местоположение Клиента с помощью трилатерации.

Для решения задачи трилатерации необходимо иметь замеры как минимум от трех точек с известными координатами. Чтобы вычислить расстояние замеряется уровень сигнала Клиента на ТД, а точнее его затухание (эти данные мы можем получить от Wi-Fi инфраструктуры, это входит в рамки стандарта IEEE 802.11). Затухание преобразуется в расстояние по формуле распространения сигнала в открытом пространстве (FSPL – free space path loss). Далее мы набираем необходимое количество замеров. Если расстояние от одной ТД известно, то вокруг неё можно описать окружность известного радиуса. Если известно расстояние от двух ТД, то определяемое местоположение будет расположено на пересечении двух окружностей. Наличие третьего замера определяет точку на пересечении трех окружностей.

И вот теперь мы можем расположить Wi-Fi клиента на плоскости. Задача ясна, реализация понятна. Многие производители взялись за реализацию (в общем-то правильно стали делать я считаю). Но к сожалению, пока в данном решении остаётся очень много вопросов.

Основные вопросы


1. Увеличение количества ТД более чем в два раза по сравнению с их обычным количеством.
2. Плохая точность позиционирования даже в идеальных условиях (порядка 10 метров). И кардинально ухудшающаяся точность в случае хотя бы небольшого игнорирования части требований.
3. Непредсказуемая частота обновления данных о позиции Wi-Fi клиента.

Требования к позиционированию Wi-Fi


• Между тремя ТД и Клиентом желательна прямая видимость;
• Клиент должен хорошо слышать не менее трех ТД (а не одну, чего обычно достаточно);
• Слышать «хорошо», это -75dBm и более, а это не просто «хорошо», это очень уверенно;
• Точки доступа должны расставляться по периметру здания и в шахматном порядке;
• Wi-Fi клиент не должен быть уж очень молчаливым.

Почему выдвигаются такие жесткие требования и что нам грозит, если мы эти жесткие требования не удовлетворим?

Между тремя ТД и Клиентом желательна прямая видимость

Пожалуй, основной проблемой, с которой пришлось столкнуться разработчикам алгоритмов позиционирования внутри помещений, это большое количество отражений сигнала. Это злейший враг всех систем позиционирования, которые основаны на замере времени распространения или затухании сигнала.

А что же, к примеру, GPS? В технологии GPS мы имеем дело с сигналом без переотражений, со спутниками, находящимся в прямой видимости. Это нам позволяет добиться очень хорошей точности позиционирования. Как только в GPS приходится иметь дело с переотраженным сигналом, точность позиционирования катастрофически падает.

Почему так происходит? Потому что мы фактически замеряем длину пути сигнала (посредством подсчета временной задержки или затухания сигнала) и если он отражается, то пусть становится длиннее реального расстояния. В случае Wi-Fi внутри помещения мы всегда имеем дело с переотражениями. Более того, все основные технологии стандартов IEEE 802.11n, 802.11ac (MIMO, MRC, BF) используют в своей основе именно этот эффект, без которого работают хуже.

Для трилатерации же это очень плохо, длинна пути измеряется с большой погрешностью, увеличивая тем самым общую погрешность позиционирования.

Прямая видимость может минимизировать переотражения и, следовательно, уменьшить погрешность. Поэтому и есть рекомендация расставлять точки доступа в прямой видимости.

К чему приводит такое требование? Такое требование приводит к значительному увеличению ТД, так как в рамках обычного покрытия нам достаточно одной точки доступа на 3-5 помещений (точки доступа хорошо «пробивают» одну/две некапитальные стены).

Клиент должен хорошо слышать не менее трех ТД (а не одну, чего обычно достаточно)

Обычному Клиенту достаточно сигнала от одной точки доступа, это очевидно.
Для позиционирования же необходим хороший уровень сигнала от трех – четырех ТД.

Слышать «хорошо», это -75dBm и более, а это не просто «хорошо», это очень уверенно

Возьмем официальное руководство Ciscо, в котором говорится, что для того, чтобы точность позиционирования была порядка 10м в 90% случаев, Wi-Fi клиент должен «слышать» как минимум три точки доступа с уровнем сигнала не хуже -75dBm. Почему именно -75dBm и что будет, если сигнал будет хуже?

Основополагающую роль в том, что значение именно -75dBm, с моей точки зрения, имеет природа затухания сигнала (тот самый FSPL). Сигнал затухает не с линейной, а с логарифмической квадратичной зависимостью (логарифм появляется от перевода FSPL в dB). То есть, к примеру, чем дальше от передатчика, тем больше расстояния приходится сигналу преодолеть, чтобы его уровень понизился в два раза. Из этого следует, что чем дальше от передатчика, тем больше погрешность в измерениях расстояния на основе его уровня.

Критичную роль играет то, что точность приёмника Wi-Fi совсем небольшая, ноль знаков после запятой (уровень сигнала измеряется в dBm), а точность замера мощности в данном случае имеет определяющую роль для погрешности измерения расстояния.

Для примера можно привести в пример технологию GPS, в которой приходится использовать атомные часты, которые обеспечивают точность замера времени распространения сигнала до седьмого знака после запятой (измеряемого в секундах). Седьмой знак после запятой – это погрешность порядка 30 метров на замер.

Предположим, чтобы добиться приемлемой точности позиционирования, для технологии Wi-Fi погрешность на 1dBm должна составлять не более 10 метров.

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

Формулу распространения сигнала для частоты 2.4ГГц в упрощенном виде можно представить следующим образом:
FSPL = 32.4 + (20log10(2,400)) + (20log10(x)), где х – расстояние в км.
FSPL = 100dB + 20log10(x)

На первом метре уровень сигнала падает на 40dB, то есть погрешность не более 2,5см на один dB. На втором метре падение уже на 6dB (погрешность уже 16 см на dB), на третьем – на 3.5dB (погрешность 30 см на dB).

На нижеследующем графике по оси Х показаны значения FSPL, а по оси Y показаны значения погрешности в метрах на 1 dBm.

image

Погрешность в 10м соответствует затуханию сигнала в 80dBm. Причем далее погрешность начинает резко увеличиваться.

Возьмем современную ТД со встроенными антеннами (5dBi), оценим мощность её передатчика в современных условиях в 12mW(11dBm) и вычислим эффективную изотропную излучаемую мощность (EIRP) из которой вычтем наш FSPL.
EIRP-FSPL=11dBm+5dBi-80dB=-64dBm.
Это и есть искомый уровень сигнала, требуемый для обеспечения приемлемой точности позиционирования. Напомню, что общие рекомендации Cisco — 75dBm.

Учитывая то, что мой расчет весьма приблизительный, в целом значения очень схожи. При этом основная идея состоит не в вычислении конкретного значения (есть очень много переменных, влияющих на это значение), а в понимании того, что при дальнейшем затухании сигнала точность позиционирования падает очень резко.

Наверняка сразу возникает следующий вопрос, а сколько это вообще, -75dBm (или -64dBm), много или мало?

Скорость работы WiFi (модуляция, которая используется) в первую очередь зависит от показателя SNR (сигнал/шум), а не только от уровня сигнала. В целом можно прикинуть уровень шума внутри зданий порядка -95 – -90dBm (офисное помещение с несколькими арендаторами). Высоким скорости (модуляции MCS 5 – MCS 7 (64 QAM)) требуют значений SNR от 20 и выше. Это значит, что уровень сигнала должен быть не менее –75 – -70dBm.

То есть другими словами, сигнал -75dBm – это «уверенный» сигнал, который обеспечивает высокие скорости передачи.

И, наконец, основной вывод в том, что таких сигналов для позиционирования нужно как минимум три, хотя в условиях обычного покрытия достаточно одного, что неминуемо влияет на общее количество ТД.

Точки доступа должны расставляться по периметру здания и в шахматном порядке

Погрешность трилатерации зависит так же от того, как расположены измерители (ТД). На измерителе есть информация только о расстоянии до объекта. Рисуя окружности, лучше всего, чтобы они были распределены равномерно по поверхности, а также находились в том числе на периметре.

В случае технологии GPS все эти вопросы элегантно решаются равномерным распределением спутников на орбите Земли.

Если для Wi-Fi расставлять точки доступа равномерно внутри здания не так необычно (хотя иногда очень удобно расставить три точки доступа на одной прямой в коридоре, что противопоказано для позиционирования), то по периметру их обычно никто не расставляет, скорее наоборот, стараются этого избежать, так как покрытие подавляющего большинства офисных точек доступа имеет круговую диаграмму направленности и расположение ТД на периметре приводит к неполному использованию покрытия точки доступа и выходу сигнала за пределы здания.

Частота показаний

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

Инфраструктура Wi-Fi не предназначена для решения задачи позиционирования и поэтому постоянной передачи пакетов с равными интервалами не происходит. Системам позиционирования Wi-Fi приходится работать с тем траффиком, который есть. Чем больше траффика, тем лучше, для позиционирования. А вот для Wi-Fi все обстоит как раз наоборот. Всю свою сознательную жизнь сообщество Wi-Fi работает над задачей уменьшением времени пребывания в эфире Клиента в первую очередь для увеличения общей пропускной способности Wi-Fi, во-вторых для увеличения времени жизни мобильных устройств. В результате системам позиционирования Wi-Fi приходится работать с пакетами, которые идут с непредсказуемыми и чаще всего достаточно большими интервалами.

Но даже если Клиент передал пакет, этот пакет еще надо детектировать всеми необходимыми точками доступа, что не так-то просто для Wi-Fi. Попробую пояснить на примере.

Предположим клиент отправил пакет на 1-м канале диапазона 2.4ГГц. Он находится в зоне видимости трех точек доступа, по стандарту они работают на 1-м, 6-м и 11-м каналах и если не передают сигнал, то должны слушать. Первая точка первый канал, вторая – шестой, третья – 11-й. Первая точка доступа получила данный сигнал и замерила его мощность. Вторая и третья точки доступа не слышали этого пакета, так как слушали, соответственно, шестой и 11-й каналы!

Все это приводит к тому, что частота обновления позиции непредсказуемая и в ряде случаев очень большая, может достигать несколько десятков секунд, а иногда и минут.

Есть разные пути решения этого вопроса. Обычная точка доступа небольшую часть своего времени тратит на мониторинг смежных каналов. Но так как время это небольшое и обходить приходится много каналов, то вероятность «поймать» такой пакет все равно небольшая.

Так же для решения этой задачи используют дополнительное радио на ТД, работающее в режиме мониторинга, которое использует все своё время исключительно на мониторинг и не обслуживает клиентов. Но даже несмотря на это, есть вероятность не услышать требуемый пакет: в диапазоне 2.4 ГГц нужно слушать 3 канала (последовательно) и 16 каналов в 5ГГц. Задача чуть упрощается, если мы отслеживаем местоположение подключенных устройств, если же стоит задача отследить положение всех известных устройств, то надо будет обходить еще неиспользуемые канала (к примеру, все 13-ть каналов в диапазоне 2.4ГГц).

Выводы такие: без применения специальных модулей мониторинга и даже вместе с ними, может наблюдаться проблема с частотой обновления позиции.

Общие выводы


Требования к хорошему позиционированию по большей части противоречат требованиям к оптимальному покрытию.

Это приводит к увеличению точек доступа не менее чем в два раза, а также к удорожанию самих ТД (необходимы дополнительные модули). В результате это приводит к увеличению бюджета на Wi-Fi инфраструктуру в два и более раз. При том, что в результате точность позиционирования не превышает 10 метров, а частота обновлений все равно получается достаточно непредсказуемое, то эти решения, мягко говоря, спорные и реализуются либо в выделенных зонах, либо с несоблюдением всех необходимых требований с известным результатом.

Но технологии не стоят на месте и в следующей статься я хотел бы попробовать подробно проанализировать попытки решения вышеупомянутых проблем, а конкретно:
— реализацию технологии AoA (angle-of-arrival) в Wi-Fi на примере Cisco Hyperlocation;
— попытка увеличения частоты обновлений позиции с испольованием выделенного модуля мониторинга на примере Cisco FastLocation.
Поделиться с друзьями
-->

Комментарии (55)


  1. EminH
    20.07.2016 16:12

    Некорректно сравнивать wifi позиционирование с GPS, то есть, фактически indoor с outdoor.
    Корректнее сравнить с iBeacon-based (BLE) a еще лучше с гибридами, типа Mpact.


    1. openalex
      20.07.2016 16:38

      Спасибо за комментарий.
      Согласен, что позиционирование в indoor и outdoor — это большая разница, есть много своей специфики.
      Идея была больше не сравнить, а скорее провести аналогии с GPS, так как и там и там в основе используется трилатерация, а с GPS многие хорошо знакомы.
      BLE постараюсь рассмотреть после HALO.
      Так как я специалист по Wi-Fi, а не по позиционированию в целом, с радостью выслушаю все замечания к тексту.


      1. EminH
        20.07.2016 16:48

        Отлично. Вы изучали уже существующие исследования в этой области? (не вижу никаких ссылок)
        например, вы смотрели вот эту статью — http://injoit.org/index.php/j1/article/download/15/9


        1. openalex
          20.07.2016 17:10

          Основной опыт — это реализованные проекты по Wi-Fi (а так же систем wIPS) с сервисом позиционирования, которые, конечно, были сделаны в соответствии с материалами производителей ( у Cisco, к примеру, достаточно хорошие материалы по позиционированию). Так же на данный момент у меня развернут стенд в том числе с HALO модулями, поэтому все предположения стараюсь воспроизводить и проверять на стенде. Плюс к этому тут чуть-чуть добавлено физики распространения сигнала.

          В следующей статье постараюсь исправить упущение и укажу источники информации, возможно опишу стенд.
          С этой статьёй не знаком, почитаю, спасибо.


        1. anmipo
          21.07.2016 00:16
          -1

          Ваша ссылка имеет довольно косвенное отношение к теме и опубликована в сомнительном молодом журнале национального масштаба.
          Для расширения кругозора и систематизации знаний лучше почитать обзор вроде этого.


          1. EminH
            21.07.2016 08:59

            это то что у меня выдал google по запросу «Wi-Fi Proximity»

            oпубликована в сомнительном молодом журнале национального масштаба

            я для поиска научных статей пользуюсь google scholar, присутствия публикации в ieee каталогах (xplore например) лично для меня, как и большинства других исследователей, более чем достаточно. Если у вас есть время проверять каждый источник на масштаб и возраст, могу этому только позавидовать.


            1. anmipo
              21.07.2016 11:23

              присутствия публикации в ieee каталогах (xplore например) лично для меня, как и большинства других исследователей, более чем достаточно
              Имея прямое отношение к «другим исследователям», я бы не рискнул говорить за большинство…

              Если у вас есть время проверять каждый источник на масштаб и возраст, могу этому только позавидовать.
              Как Вам наверняка известно, знание ключевых конференций и журналов в своей области — один из непосредственных результатов обучения в аспирантуре. Учёный, работающий в определённой теме, как правило может оценить качество той или иной статьи просто по названию журнала/конференции. Эта способность вырабатывается годами, но в конечном итоге сильно экономит время.

              Я никогда не слыхал про International Journal of Open Information Technologies, поэтому и решил проверить — тем более, что Вы сослались на конкретную статью как обязательную к изучению. Как оказалось, это открытый журнал национального масштаба, про который не знают ни IEEE, ни ACM, ни Springer, ни даже Elsevier. Отношения к мировой науке он имеет очень мало, поэтому вряд ли имеет смысл тратить время на его чтение, и уж тем более цитирование.


              1. EminH
                21.07.2016 11:35

                я бы не рискнул говорить за большинство…

                извините, имел в виду свой круг, а не исследователей вообще.
                не знают ни IEEE, ни ACM, ни Springer, ни даже Elsevier.

                тоже, кстати, не показатель. в перечисленных вами изданиях тоже иногда откровенная ерунда.
                смысл тратить время на его чтение, и уж тем более цитирование.

                ваше право, но ценный материал иногда может оказаться где угодно, на каком-либо форуме, или на хабре… я думаю ориентироваться надо на контент а не на статус издания


                1. anmipo
                  21.07.2016 11:54
                  +1

                  Вы правы, и у именитых издателей встречается ерунда, и на хабре встречаются жемчужины знаний.

                  я думаю ориентироваться надо на контент а не на статус издания
                  Тем, у кого есть время штудировать все-все-все публикации по теме я могу только позавидовать :)


                  1. EminH
                    21.07.2016 12:29

                    Тем, у кого есть время штудировать все-все-все публикации по теме я могу только позавидовать :)

                    :)
                    скажем так, «все-все-все» изучать все таки иногда приходится — в случае если надо доказать novelty.
                    например если планируется статья про супер-пупер изобретение, а про него уже кто-то написал (неважно где, даже не в крутом издании)


          1. openalex
            21.07.2016 10:39

            Не берусь оценивать предыдущую ссылку, но за вашу ссылку спасибо. Статья интересная и обстоятельная, обязательно прочитаю!


      1. anmipo
        20.07.2016 23:58
        +3

        провести аналогии с GPS, так как и там и там в основе используется трилатерация
        Строго говоря, аналогию между GPS и Wi-Fi позиционированием проводить нельзя, потому что в их основе лежат фундаментально разные принципыЖ GPS оценивает расстояния используя время распространения сигнала, тогда как описанный в посте метод для Wi-Fi оценивает расстояния по силе сигнала. В физической модели затухания сигнала (FSPL) куча параметров, которые вовсе не константы и зависят от кучи нюансов, начиная от количества и материала стен и потолков, и заканчивая температурой и влажностью воздуха — собственно, Wi-Fi позиционирование не взлетает во многом из-за этого.


        1. openalex
          21.07.2016 11:03

          Да, наверно не стоило ссылаться на GPS. Хоть они и используют трилатерацию, формула расчета расстояния действительно кардинально разные. Если в GPS время распространения сигнала всегда постоянная и формула получается линейная, то в Wi-Fi сила сигнала уменьшается нелинейно и зависимость квадратичная. То есть увеличение расстояний на точность GPS позиционирования не влияет, а вот на точность Wi-Fi позиционирования влияет очень сильно.
          Согласен про наличии большого числа нюансов в физической модели затухания сигнала, постарался какую-то часть их как раз описать. Хотел бы еще добавить, что еще очень сильно влияет большое количество переотражений сигнала в помещении (чего почти нет на улице). А так же речь идет про смартфоны, то влияет сам человек, который держит телефон в то в левом заднем кармане, то в правом переднем, в руке, у левого/правого уха, что на местоположение сматрфона не влияет, а показания на точках меняться могут кардинально.


    1. antonvn
      20.07.2016 17:55
      +1

      Я не очень верю в применимость BLE. Это всё требует создания и установки приложения, а кто из абонентов его будет ставить в проходных местах вроде ТРЦ? Остается узкая ниша складов, где работники ходят с корпоративными устройствами.


      1. openalex
        20.07.2016 18:16

        Я тоже думал над этим. Шанс имеют те, чьи приложения уже стоят на смартфонах.
        1. Банк «Тинькофф». У многих есть мобильное приложение данного банка. Только есть одна незадача — отделений у банка нет! А так заходишь в ТРЦ, проходишь мимо отделения банка, а тут тебе предложение заманчивое от банка!
        2. Какие-то известные приложения должны запартнерится с известными сетями. К примеру фейсбук с икеей (ашаном). Приложение фейсбука стоит у всех. Все ездят в икею(ашан). Заходишь в икею (ашан)- и тут тебе сразу предложения на смартфон!
        Такие вот мысли…
        А отдельное приложение писать, которое потом еще надо скачивать, это конечно малореальный сценарий…


        1. EminH
          20.07.2016 20:22
          +1

          Google разработал свой аналог iBeacon, eddystone, где в качестве id передается сразу URL- то есть приложение будет использоваться стандартное — обычный браузер. Не удивлюсь если в одной из следующих версий Android функция распознавания вещания eddystone будет стандартной системной фичей. Другое дело, что для этого все еще нужно держать включенным Bluetooth — я вот по привычке его всегда отключаю, хотя и знаю что BLE батарею особо не жрет. Wifi же включен почти всегда.


          1. openalex
            20.07.2016 20:34

            Это интересно, почитаю, спасибо.


  1. antonvn
    20.07.2016 17:52

    Не думаю, что FSPL — корректная модель. У той же Cisco в Prime вы рисуете карту, расставляете «стены» из разных материалов, учитываете материал межэтажных перекрытий и так далее. А дальше MSE, получая сырые данные от контроллера (МАС точки и клиента, уровни сигнала и шума), упорно занимается расчетами и другой хитрой математикой. Не даром там внутри полно кода, написанного на матлабе(!), можете сами разобрать и посмотреть.


    1. openalex
      20.07.2016 18:07
      +1

      Спасибо за комментарий. Не вижу противоречий между моими словами и вашими.
      Я не говорю, что MSE считает именно по этой формуле. Но в основе своей, конечно, имеет именно её ( логарифмическую составляющую).
      Каждая стена, прорисованная на карте Prime имеет определенное затухание в dB (конкретное значение есть в документации), эти данные добавляются в формулу.
      Так же при создании карты выбирается RF Model (Walled Office, Drywall office, Outdoor Open Space...), я полагаю, другими словами это определенный коэффициент, который так же добавляется в формулу FSPL.

      Насколько я помню, Prime учитывает высоту потолков (высоту подвеса точки), но не материал межэтажных перекрытий, так как планы этажей там плоские (по крайней мере в версиях до 3.0), а не объемные.


      1. antonvn
        20.07.2016 18:14

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


        1. openalex
          20.07.2016 18:26

          Да, это интересно. Но опять же, в любом случае, независимо от кода, погрешность с увеличением затухания стремительно увеличивается.
          У меня коллеги разрабатывают RTLS как раз (на основе zegbee), если получится, я поговорю с программистами, что у них там в коде…


        1. openalex
          20.07.2016 18:31

          и независимо от кода все описанные проблемы имеют место быть


  1. dimview
    20.07.2016 19:39

    > Сигнал затухает не с линейной, а с логарифмической зависимостью.

    Не с линейной, но и не с логарифмической. Представьте себе фронт волны. Это расширяющаяся сфера с центром там, где антенна. Сигнал размазывается по этой сфере. Площадь сферы пропорциональна квадрату радиуса. Принимающая антенна может выхватить из этой сферы кусок постоянной площади, то есть полученный сигнал в первом приближении обратно пропорционален квадрату расстояния.


    1. openalex
      20.07.2016 20:01

      Я думаю, что вы говорите, скорее про EIRP — эффективную изотропную излучаемую мощность, внутри этой формулы как раз есть коэффициент усиления антенны, который определяет, как рассеивается сигнал. Вы конкретно говорите о абсолютном изотропном излучателе.
      А FPSL — это уже о затухании конкретной волны в определенном направлении. Собственно формула FSPL явно говорит о логарифмической зависимости.
      https://en.wikipedia.org/wiki/Free-space_path_loss
      FSPL = 32.4 + (20log10(2,400)) + (20log10(x))

      Как я писал, чтобы вычислить конкретный уровень сигнала, нужно рассчитать EIRP ( который содержит коэффициент усиления антенны) и вычесть из него FSPL


      1. Korogodin
        20.07.2016 23:23
        +6

        Господа, вы просто используете разные единицы измерения — Вт и дБм. В приведенной формуле слагаемое «20log10(x)» и есть затухание как квадрат расстояния. 10log10(x^-2) = -20log10(x). Логарифм тут от перевода в дБ, а двойка при нем — от квадрата расстояния.


        1. openalex
          21.07.2016 10:49

          Да, вы правы, спасибо! Действительно, у меня же FSPL в формуле в dB считается, поэтому и появился логарифм. А так зависимость, конечно, квадратичная. Сейчас поправлю.


      1. dimview
        21.07.2016 01:22
        +1

        Там по ссылке как раз написано, что «Free-space path loss is proportional to the square of the distance between the transmitter and receiver». А логарифм, как справедливо заметил ниже Korogodin, появляется при выражении этого затухания сигнала в децибелах.


        1. openalex
          21.07.2016 10:50

          Спасибо, все действительно так! Сейчас поправлю.


  1. vintage
    21.07.2016 00:21
    +1

    Думается мне бигдата тут вполне могла бы помочь.


    1. Пользователи ставят себе приложение для навигации по ТЦ.
    2. Приложение постоянно мониторит мощности сигналов до ТД, показания акселерометра и компаса.
    3. По большому числу замеров данные усредняются и составляется карта, где для каждой точки определены уникальные наборы мощностей сигналов до ТД.
    4. По показаниям приборов легко можем найти точку на карте.

    Плюсы:


    1. Простая математика.
    2. Не требуется ручное конфигурирование. Система настраивается сама.
    3. Поддержка 3D картографии.
    4. Быстрая адаптация к изменениям.
    5. Не требуется каки-либо телодвижений со стороны ТЦ. Работать будет в любом помещении, где есть куча ТД.


    1. lega
      21.07.2016 07:57
      +1

      По большому числу замеров данные усредняются и составляется карта
      Я наблюдал ещё такую проблему, разные телефоны дают разный уровень сигнала, но главное один и тот же клиент находясь на одном и том же месте может «выдавать» разный уровень сигнала, если клиент положил телефон в карман, то сигнал может упасть в 3 раза (что эквивалентно перемещению на десятки метров от ТД), если клиент развернулся стоя на одном месте, то сигнал падает ещё больше, даже если клиент не шевелится, сигнал может сильно плавать (видимо от недалеко проходящих людей и ещё чего-то).
      А для ML нужны непротиворечивые данные, по которым можно построить закономерности.


      1. openalex
        21.07.2016 11:42

        Да, все это имеет место быть.
        У всех телефонов же разные антенны, не уверен, что они передают в служебных пакетах их характеристики (что могло бы немного облегчить расчет).
        По поводу того, где держит телефон человек — это действительно очень сильно влияет. Я вот думаю, что в этом случае ситуацию может чуть поправить AoA: данные об углах у нас не должны меняться и клиент теоретически не должен уж сильно «скакать» с места на место при перемещении телефона от левого уха в правый карман.


    1. EminH
      21.07.2016 08:53
      +1

      А вот еще один проект похожей направленности.
      Возникла необходимость отследить потоки мигрантов по Европе. Во временных лагерях для мигрантов (от Греции до Германии + Балканы) раздают бесплатный интернет. Возникла идея раздавать интернет через Captive Portal и заносить данные указанные при регистрации в общую базу вместе с MAC address-ом. Затем можно просто отслеживать появление этих устройств на ТД других лагерей.
      На практике применить не удалось но может быть темой для исследования (не обязательно применимо к мигрантом, можно следить за посетителями сети фастфуда например :) )


      1. openalex
        21.07.2016 11:32

        А для этого обязателен Wi-Fi вообще на телефоне? Может быть достаточно идентификатора телефона или SIM карты, перемещение которых отслеживать?

        Для Wi-Fi, в принципе, чтобы отслеживать потоки, не обязательно даже делать CP и заносить данные, можно отслеживать MAC адреса ( для этого клиентам даже не надо подключаться к сети, достаточно отправить пару probe request-ов. К этому можно еще добавить DHCP profiling и HTTP profiling и тоже добавлять к данным о MAC адресе ( тип устройства, тип ОС..)


        1. EminH
          21.07.2016 12:33
          +1

          все так, но так вы будете отслеживать устройства а не людей. С Captive portal же они в первый раз должны зарегестрироваться — так у вас будет имя, состав семьи, национальность и т.д. Нет гарантии, конечно, что эти данные будут достоверные, но это уже другая тема.


    1. openalex
      21.07.2016 11:52

      Тоже думал о применимости компаса, акселомтра в тандеме с BLE: достаточно несколько реперных точек ( а не ровный слой по всему зданию) и начинаем считать.


  1. levide
    21.07.2016 09:48
    +1

    Предлагаю посетить музей русского импрессионизма. Нам там удалось добиться неплохих результатов используя HALO и BLE.
    Пока правда есть проблемы рядом со стенами и в зонах неудачной обвески точками доступа, но планируем перекрыть эти места с помощью BLE.


    1. openalex
      21.07.2016 11:36

      Спасибо за предложение! А это ведь очень заманчивое предложение: одновременно и культурная программа и по работе. Запланирую сходить с семьёй :)


  1. AlexPu
    21.07.2016 10:46
    +1

    Работал довольно продолжительное время в компании предлагающие indoor location solutions на бызе wi-fi позициониерования. Проблемы описаные в статье конечно имеют место быть (тут я должен сразу пояснить, что я принимал участие в разработке пользовательских сервисов для позиционирования, но в разработке самих алгоритмов участия не принимал — этим занимались только два инженера на протяжении 15-ти лет еще с университетской скамьи), но это проблемы так или иначе рещаемые в частных случаях… Так, решения предлагаемые упомянутой компанией достигали точности до 1 метра — в частности для носимых тагов-бэйджей, частота обновления данных ~ 1 сек., требуется ежедневная зарядка (в конце рабочего дня сотрудники устанавливают персональные тэги в зарядное устройство). другой полярне вариант — с точностью «до помещения», или, если помещение большое — «до зоны» (часть заранее размеченой комнаты) — например одноразовые тэги закрепляемые на оборудовании — обновление данных каждые 15 мин, работают без подзарядки порядка пяти лет, после чего утилизируются и заменяются на новые.

    И это реальное коммерческое применение — решения используются в госпиталях и школах, число клиентов, если верить официальному сайту 15 тыс (я официальному сайту не верю, ибо это общеее количество клиентов, часть из которых пользуется сервисами компании имеющими отдаленное отношение к локальному позиционированию)


    1. openalex
      21.07.2016 11:58

      А можете сказать, какие конкретно таги использовались в каждом конкретном случае на базе каких Wi-Fi решений это строилось. Было бы очень интересно узнать.


      1. AlexPu
        21.07.2016 14:44
        +1

        Таги свои собственные — в смысле сама же компания их проектировала… изготавливались они в жстонии, в какой-то момент решили попробовать с китайскими производителями — ранее проьовали, не устроило качество… потом вот опять решили попробовать с «одноразовыми тагами» — они должны быть максимально дешевыми и прочными (наш менеджер демонстративно на них прыгал, чтобы проверить их прочность). Но в общем то реально в одной из комнат сидели иженеры с паяльниками… бывато чего-то там перепаивали в целой партии (реально распаковывали коробки, извлекали устройства, чего-то там перепаивали, после чего запаковывали как было).

        По типам — из того, что помню 0 носимые таги-бэйджи — они с фотографией, данными владельца, и небольшим экранчиком (поддерживают простейшие функции текстовой коммуникации и сигнализации) — эти таги носит медперсонал, а в школах — учителя. Таги закрепляемые на запястье — это для больных, имеется тревожная кнопка (помню был трабл — выяснилось, что кнопку может физически нажать только здоровый человек… инженеры наши узлом там завязывались пытаясь рещить проблему), таги закрепояемые на оборудовании 0 их было несколько видов (я вспомнил, среди этих тагов были таги сторонних компаний, но для нас это было сколее регаси… они были такие здовровые… больше сигаретной пачки)… Еще разрабатывалось несколько видов агов… таги пропуска вроде хотели делать… Еще одна важная (САМАЯ ВАЖНАЯ) разновидность тэков — теги с датчиками (температура и влажность как правило… но вообще датчики могут быть любыми) — тоже были от сторонних производителей, тоже не помнб каких именно (точнее не знал… Ну то есть знал, но пропускал мимо ушей ибо было пофиг — для меня таг различался по уникальному коду его типа), и тоже рассматривались как легаси

        Вопрос «на базе каких Wi-Fi решений» я просто не понял — я программист а не электронщик… все в принципе должно работать с самыми обчными сетями которые разворачиваются в любом офисе… Только вот количество рутеров должно быть поболее (даже не рутеры а… как называется устройство усиливающее wi-fi сигнал? У нас испытывалиь стакие… которые посто в розетку вставлялись — все отлично работало). В целом вся система устанавливается инженерами компании — они собственно вешают роутеры там, где это необходимо… и по тем-же причинам, что описаны в статье…


        1. openalex
          21.07.2016 17:40

          спасибо, интересный опыт. а можете дать ссылку на сайт компании, может там что написано? Или какие-нибудь названия производителей, я поищу информацию. Ну в общем что-нибудь, чтобы можно было погуглить.


  1. arcman
    21.07.2016 14:41

    Правильно ли я понимаю, что трилатерация применяется к данным полученным из Probe request?
    Как тогда быть с iOS9 устройствами, которые подставляют в Probe случайный MAC адрес?


    1. openalex
      21.07.2016 17:31

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

      Probe request используются только в весьма определенных обстоятельствах, а именно в момент активного сканирования беспроводной среды. В Probe request может быть указан какой-то конкретный SSID, тогда точки с этим SSID возвращают probe response, либо не указан SSID, тогда все точки, что услышали этот запрос, возвращают параметры всех имеющихся SSID.

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


      1. arcman
        21.07.2016 22:36

        Я не уверен, что точка может замерять уровень сигнала для каждого пакета. По крайней мера я встечался только со случаями обработки Probe request.
        К тому же ассоциированное устройство вроде как больше не должно посылать что либо другим точкам.
        Как тогда будет работать трилатерация?


        1. openalex
          22.07.2016 16:15

          Беспроводной адаптер точно собирает служебную информацию для каждого пакета, которая включает в себя date and
          time stamps, a channel stamp, signal stamp, and a noise stamp. В анализаторе пакетов эта информация находится в отдельном заголовке, типа Radiotap Header. Если это делает клиентский адаптер, то точка доступа это наверняка может делать и скорее всего делает при необходимости.

          Probe request посылается клиентом в самом начале общения с точкой, далее этот тип management фрейма не используется, поэтому замерять уровень сигнала только этих пакетов бесполезно для позиционирования.

          К тому же ассоциированное устройство вроде как больше не должно посылать что либо другим точкам.
          Как тогда будет работать трилатерация?


          Да, это известная проблема, которую я немножко затронул в статье. Во-1, к примеру, точка Cisco (да я думаю большинство) небольшую часть времени тратит на сканирование всех каналов. Можно не попасть на пакет клиента. Поэтому используют дополнительное радио, которое все время занимается только тем, что сканирует каналы, но опять же, приходится перебирать каналы. Чуть проще, когда требуется позиционировать только подключенных клиентов, перебирать каналов приходится в этом случае меньше ( к примеру только 1-6-11 в диапазоне 2.4 ГГц).

          Я этот вопрос постараюсь раскрыть в следующей статье, вместе с описанием FastLocation.


  1. Dr_Lean
    21.07.2016 16:23
    +1

    Несмотря на известные проблемы и специфики распространения вай-фай сигналов, использование алгоритмов для мультилатерации даёт вполне подходящие результаты РТЛС. Также немаловажным являются антенны и wi-fi модуль принимающего устройства в целом. К примеру, алгоритм Левенберга-Марквардта с комбинацией фильтров дает точность до 3 метров.


    1. openalex
      21.07.2016 17:36

      Насколько я понимаю, та же Cisco использует мультилатерацию, так как говорит, что желательно иметь 4 замера. При этом явно указывает, что позволяет добиться в 90% случаев точности 10м и в 50% случаев точности 5м. Могу еще сказать, что похоже Cisco возлагает надежду на AoA. Про алгоритм Левенберга-Марквардта с комбинацией фильтров не могу ничего сказать, к сожалению, посмотрю, спасибо!


      1. Dr_Lean
        22.07.2016 18:31
        +1

        Низкая точность Cisco судя по всему связана с тем, что установка устройств делается с учетом требований к wi-fi покрытию, а не RTLS. Они действительно ставят на AoA и HALO модули, где можно достичь намного выше точность. Но лично я не верю в успех этого направления потому, что если CMX само по себе довольно дорогое решение, то покрытие с помощью HALO будет скорее всего на порядок дороже. Если интересно, то вот как мы решили эту проблему у нас в Leantegra (https://youtu.be/jrllaPylG7Q). Принимающие устройства расставлены по углам комнаты, положение мышки = реальное положение человека, который идет с телефоном в кармане, “круги” — приблизительное расстояние к принимающему устройству рассчитанное на основе RSSI значений.


        1. openalex
          22.07.2016 18:57

          Заявленная точность у Cisco обеспечивается с учетом планирования покрытия под позиционирование (основное требование — в каждой точке пространства должен быть сигнал -75dBm и более от трех точек доступа), то есть точек будет в раза два больше, чем обычно.
          Навес HALO ( модуль и антенна) в GPL стоит около 1000$ и точка должна быть модульная, серия 3ххх, то есть дорогая. При этом для достижения точности 1м требования к покрытию остаются!
          Видео занятное, посмотрю и почитаю, спасибо!
          У меня сейчас стенд развернут с HALO, я следующей статьёй постараюсь разобраться с ним…


          1. Dr_Lean
            25.07.2016 11:48
            +1

            Было бы интересно почитать, какую реальную точность он предоставляет. А также, как он работает в условиях NLOS (Non-light of sight).


            1. openalex
              25.07.2016 12:02

              Постараюсь учесть, к сожалению время на стендовые испытания крайне ограничено, даже летом, но буду стараться…


  1. KSK
    22.07.2016 11:46
    +1

    Возможно, заставить работать навигацию по такому принципу с высокой точностью получится, если создать подробную модель затухания сигнала для конкретного набора ТД и конкретного здания. Т.е. нужно, перемещаясь по известным траекториям, решать обратную задачу — задачу идентификации модели — оценивая параметры модели с учетом многолучевости (такой термин применяется в спутниковой навигации для описания эффекта переотражения). Делать это один раз на этапе отладки системы и затем использовать настроенную модель.


    1. openalex
      22.07.2016 16:18

      В некоторых системах позиционирования есть калибровщики. Но, к примеру, в Cisco CMX калибровщика нет и пока не планируется, я этот вопрос специально узнавал.


  1. gosha22397
    22.07.2016 11:46
    +1

    А что с позиционированием по технологии Bluetooth? Я как-то раз случайно поймал рекламный пакет МТС через такой передатчик))) Интересно узнать как с этим дела в России, потому что в теории самые новые датчики на последних версиях Bluetooth очень мало энергии потребляют и их можно оптом закупать в отличие от Wi-Fi?


    1. openalex
      22.07.2016 16:21

      Да, сейчас есть попытки активного продвижения BLE (Bluetooth low-energy) разными производителями типа Cisco, HPE/Aruba и др.
      Новые точки доступа комплектуются BLE beacon-ом.
      Про это я надеюсь получится рассказать чуть позже в отдельной статье.