Передмова або «Якщо у нас є Wi-Fi, а давайте позиціонувати за допомогою нього!»
- На перший погляд
- Основні питання
- Вимоги до позиціонування Wi-Fi
- Між трьома ТД і Клієнтом бажана пряма видимість
- Клієнт повинен добре чути не менше трьох МД (а не одну, чого зазвичай достатньо)
- Чути «добре», це -75dBm і більше, а це не просто «добре», це дуже впевнено
- Точки доступу повинні розставлятися по периметру будівлі і в шаховому порядку
- Частота показу
- Загальні висновки
Зараз геопозиціонування на базі технології 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 і більше, а це не просто «добре», це дуже впевнено
Візьмемо офіційне керівництво Cisco, в якому говориться, що для того, щоб точність позиціонування була близько 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.
Похибка в 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 (an^-of-arrival) у Wi-Fi на прикладі Cisco Hyperlocation;
- спроба збільшення частоти оновлень позиції з припиненням виділеного модуля моніторингу на прикладі Cisco FastLocation.