-
Ресурсы для определения координат базовых станций
Введение 1
Немного истории 1
Базы данных измерений 2
Сервис xinit.ru/bs 3
Сервис http://cellidfinder.com/cells 4
Сервис Александра Мыльникова 5
Сервис Минкомсвязи 6
Сервис OpenCellID 6
Приложение. Некоторые термины и аббревиатуры 8
Среди вопросов на форуме чаще всего встречается вопрос о нахождении базовых станций (далее БС) — где они (она) находится, куда лучше направить антенну, как определить координаты вышки? Частенько возникают вопросы, связанные с предыдущим, типа — сервис такой-то говорит, что БС находится по координатам таким-то, но ее там нет, своими глазами видел, объездил это место вдоль и поперек, нет там никаких вышек.
Статья посвящена описанию ситуации с ресурсами для определения координат вышек, какие это ресурсы, как ими пользоваться, насколько достоверны сведения, которые дают сервисы и приложения по определению координат БС.
Основная проблема, из которой проистекают все другие, связанные с неточностью определения координат, состоит в том, что нигде в мире операторы сотовой связи публично не предоставляют информацию о нахождении БС. Исключение составляют только два региона в Германии. Попадаются также точные координаты вышек в базах данных Санэпиднадзора и Госреестра, т. к. при строительстве объектов нужно получать согласование этих учреждений. Примерно 37 тыс. записей о координатах (или адресах) вышек можно найти на сайте «Электронный эколог». Желающие могут самостоятельно поискать такие сведения по Реестрам Роспотребнадзора и сан.-эпид. службы России. В целом ситуация такова, что общедоступных баз данных с точными координатами вышек не существует1.
По мере развития интернета крупным компаниям пришлось решать задачу геолокации, т.е. определение географических координат телефона без использования навигационных систем типа GPS. Дело в том, что системы GPS и ГЛОНАСС довольно медленные системы, требующие достаточного времени для настройки на спутники, чтобы получить удовлетворительную точность. Если приемник навигационного сигнала движется (например, автомобиль), то перенастройка на новое положение также требует дополнительного времени. Выход нашли в корректировке данных навигации от наземных источников — сигналов БС и точек доступа WiFi. Точность требовалась для разработки оптимальных маршрутов, навигационных приложений для автомобилистов и прочих задач, требующих знания координат. Главным двигателем этого была реклама – поиск торговых площадок, предприятий общественного питания, развлекательных мест. Воистину реклама – двигатель прогресса!
Такие интернет-монстры, как Google, Mozilla, а в нашей стране Яндекс, начали создавать базы данных, содержащие данные измерений сигналов сотовых операторов, и уже на основе этих измерений математическими методами вычислять положение БС. В мире миллиарды мобильных телефонов, каждый из них (с операционной системой Андроид) передает информацию о сотовом сигнале в Гугл. Если установлены специальные приложения от Яндекс, Mozilla или других компаний, то данные передаются и туда. Этот процесс получил название нетмониторинг.
Существует и существовало ранее немало проектов нетмониторинга, некоторые из них дожили до настоящего времени, некоторые проекты открылись недавно. Наиболее мощными базами данных измерений на сегодняшний день имеют следующие компании — Google, Яндекс, Mozilla и связанный с ней проект OpenCellId, а также проект Александра Мыльникова. Базы данных последних двух проектов имеются в открытом доступе. Все указанные базы данных имеют интерфейс программирования приложений (API) для желающих создавать свои собственные программы. Гугл и Яндекс предоставляют платный и бесплатный ключи доступа к этим базам (API-key), OpenCellId предоставляет бесплатный ключ при условии регулярного пополнения своей базы данных, проект Мыльникова дает полный бесплатный доступ к своим базам. Особняком стоит проект Минкомсвязи, которое начиная с января 2016 г. выпустило приложение нетмониторинга. Базы данных этого проекта недоступны, имеется лишь доступ к картам измерений сотового сигнала для всех регионов страны.
Отметим, что все интернет-сервисы и почти все андроид-приложения для определения координат БС опираются на одну-две из этих баз данных. Отличие состоит в интерфейсе и алгоритме обработки данных. Все неточности вычислений и определения координат вышек связаны с неточностью исходных измерений и скоростью пополнения и обновления баз данных.
Базы данных доступны в виде csv-файлов, размер которых составляет несколько гигабайт, десятки миллионов строк. В Excel открыть файлы такого размера невозможно. В качестве примера фрагмент такого файла из базы данных OpenCellId представлен ниже.
Поля здесь имеют следующий смысл:
radio – стандарт сети,
mcc – код страны,
net – код оператора сотовой связи (MNS),
area – код области (TAC/LAC),
cell – код базовой станции (CellID/ECI),
lon, lat – координаты точки, где проведены измерения сигнала,
unit – для UMTS это код скремблирования (PSC), для LTE – это физический идентификатор соты (PCI), для GSM – пусто,
range – оценка величины области вокруг предполагаемого положения БС,
samples – общее количество измерений,
changeable – логическое число (0/1), являются ли данные о вышке точными (0) или могут изменится в будущем (1),
created – отметка времени, когда данная запись была создана впервые. Отсчет секунд после ноля часов 01-01-1970г. (эра Unix),
updated – отметка времени, когда данная запись была последний раз обновлена,
averageSignal – средняя мощность сигнала от всех измерений, дБм.
Первые пять полей совместно определяют конкретную БС. Четыре поля (кроме radio) обычно являются необходимыми данными для получения приблизительных координат БС с использованием интернет-сервисов. Способы получения этих параметров описаны здесь.
Работа сервиса на этом сайте строится на опросе четырех крупнейших геолокационных баз, содержащих информацию о координатах сотовых вышек — Google, Яндекс, OpenCellID, Mozilla Location Service. На данный момент наиболее полные и точные данные предоставляют базы Яндекса и Гугла, поэтому, если информация есть в обоих базах, сервис автоматически усредняет полученные от них значения и показывает наиболее точное местоположение сектора (красная метка на карте). Если же информация есть не во всех базах, то автоматически будут показаны наиболее точные данные от одного из сервисов. Естественно, при клике по соответствующим координатам, вы всегда можете посмотреть данные, выдаваемые каждым сервисом отдельно.
Согласно сообщению автора сервиса, данные поступают из соответствующих баз данных в on-line режиме и, следовательно, актуальны на момент обращения к сервису.
-
Сервис http://cellidfinder.com/cells
Используются базы данных Гугл и Яндекс. Подробная инструкция по определению координат находится здесь. Скриншот сервиса:
-
Сервис Александра Мыльникова
В общем случае сервис предназначен для создания приложений, но может работать и напрямую. Для этого нужно составить запрос по определенным правилам и ввести его в адресную строку браузера.
Для запроса есть 4 обязательных поля:
mcc - Integer (Код страны)
mnc - Integer (Код телефонного оператора)
cellid - Integer (Код телефонной станции)
lac - Integer (Кодрегионаили Area, Location)
v - Номер версии (Актуальная версия 1.1)
data=open - указание, что данные полученные из API строго открытые
Пример:
http://api.mylnikov.org/mobile/main.py/get?data=open&mcc=250&mnc=02&cellid=200719106&lac=7840&v=1.1
Ответ будет выдан в браузере в виде:
{"result":200, "data":{"lat": 60.05446624153, "range": 400.031, "lon": 30.37901655429, "time": 1483643086}}
Если станция найдена, то в поле result приходит ответ 200, при ошибках возвращается код 404. Описание успешного ответа:
lat - широта
lon - долгота
range - точность определения координаты в метрах
samples - количество измерений
mcc - код страны
mnc - код мобильного оператора
lac - код мобильного региона
cellid - Id базовой станции
radio - стандарт базовой станции
Имеется интернет-сервис, основанный на базе данных А.Мыльникова. Данные для нахождения координат БС аналогичные другим сервисам.
Скриншот сервиса:
Приложение «Качество связи» предназначено для составления народной карты покрытия услугами мобильной связи территории России.
Данные собираются при открытом андроид-приложении, в фоновом режиме или при использовании других приложений, где используется функция геопозиционирования.
Собранные вами и другими пользователями данные публикуются на специальном сайте по адресу: https://geo.minsvyaz.ru. Сейчас сайт позволяет просматривать покрытие сотовой связи в сетях 13 операторов мобильной связи на всей территории России. Пятнами показаны координаты измерений сотового сигнала.
Приложение создано при поддержке Министерства связи и массовых коммуникаций Российской Федерации и функционирует с января 2016г.
Сервис основан на собственной базе данных, которая на сегодняшний день содержит свыше 30 млн записей измерений по всему миру. Сервис позволяет решать две задачи — определение координат БС по заданным параметрам сигнала (mcc, mnc, lac/tac, cellId) и обратную задачу, определение множества вышек для заданной области, которая задается координатами точки. Первая задача решается быстро, вторая — довольно медленно, требуется некоторое время подождать, чтобы сервис нашел вышки, причем при увеличении масштаба карты поиск повторяется.
Чтобы регулярно пользоваться картой, необходимо получить бесплатный API-key. Как это сделать, рассказано в разделе Wiki.
Пример определения БС по заданным координатам точки.
-
Приложение. Некоторые термины и аббревиатуры
Нижеприведенный текст любезно предоставлен Максимом Новиковым, здесь кратко и доходчиво приводятся определения ряда терминов, используемых в статье.
Способы разделения каналов между пользователями
TDMA (Time Division Multiple Access) — множественный доступ с разделением каналов по времени.
FDMA (Frequency Division Multiple Access) — множественный доступ с разделением каналов по частоте.
CDMA (Code Division Multiple Access — множественный доступ с разделением каналов по коду)
Данные сети 2G, GSM (Global System for Mobile Communications, глобальная система для мобильной связи)
PLMN ID (Public Land Mobile Network Identifier, идентификатор наземной подвижной сети общего пользования) — 5 или 6 десятичных цифр. Совпадает с первыми цифрами IMSI-номера SIM-карты). Состоит из MCC+MNC.
MCC (Mobile Country Code, мобильный код страны) — 3 десятичные цифры. Уникальный идентификатор страны.
MNC (Mobile Network Code, код мобильной сети) — 2 или 3 десятичные цифры. Код оператора. Уникален в пределах MCC.
LAC (Location Area Code, код зоны расположения) — 4 шестнадцатеричные цифры. Уникален в пределах MNC.
CID (Cell Identifier, идентификатор соты) — 4 шестнадцатеричные цифры. Уникален в пределах LAC. В своём составе содержит номер сектора (обычно последняя цифра десятичного числа)
TA (Timing Advance, временное опережение, опережение синхронизации) — Десятичное число от 0 до 63. Показатель временной задержки прохождения сигнала. Увеличивается на 1 при росте удаленности от базовой станции на каждые 547 метров.
Данные сети 3G, UMTS (Universal Mobile Telecommunications System, универсальная мобильная телекоммуникационная система)
PLMN ID (См. 2G).
MCC (См. 2G).
MNC (См. 2G).
LAC (См. 2G).
SAC (Service Area Code, код зоны обслуживания) — 4 шестнадцатеричные цифры. Уникален в пределах LAC. В своём составе содержит номер сектора (обычно последняя цифра десятичного числа). Фактически это аналог CID в GSM, но разница в названии отражает способность технологии UMTS обслуживать пользовательское устройство, находящееся в зоне хендовера, несколькими соседними базовыми станциями одновременно. Отсюда и аккуратное название «зона обслуживания» вместо «базовой станции».
RNC ID (Radio Network Controller Identifier, идентификатор контроллера радиосети) — 3 шестнадцатеричные цифры. Контроллер радиосети нужен для управления группой базовых станций, его номер уникален в пределах MNC и никак не связан с LAC, который тоже уникален в пределах MNC. В одном RNC могут быть несколько разных LAC — это зависит от планировки сети. В идентификации базовой станции в рамках нетмониторинга он не используется, потому что, в отличие от LAC, он в меньшей степени привязан к местности и менее точен, поскольку, как правило, является более крупной единицей.
UC-ID (UTRAN Cell Identifier, идентификатор соты UTRAN (Universal Terrestrial Radio Access Network, сеть универсального наземного радиодоступа)). Уникальный в MNC идентификатор физической соты, используемый для идентификации секторов в интерфейсах связи базовой станции с RNC и RNC друг с другом. Состоит из RNC и SAC. В идентификации базовой станции в рамках нетмониторинга он не используется, но из него можно вычленить SAC.
PSC (Primary Scrambling Code, первичный скремблирующий код) — 512 вариантов. Идентифицирует базовую станцию по коду кодирования канала.
Данные сети 4G, LTE (Long-Term Evolution, долговременное развитие)
PLMN ID (См. 2G).
MCC (См. 2G).
MNC (См. 2G).
TAC (Tracking Area Code, код зоны отслеживания) — 16 бит (4 шестнадцатеричные цифры). Уникален в пределах сети оператора.
eNB ID (eNodeB Identifier, идентификатор eNodeB) — 20 бит (5 шестнадцатеричных чисел). Идентификатор базовой станции. Уникален в пределах сети оператора.
Sector ID (Sector Identifier, идентификатор сектора) — 8 бит (2 шестнадцатеричных числа). Фактически — идентификатор сектора базовой станции. Уникален для каждого eNB ID.
ECI (E-UTRAN Cell Identifier, идентификатор ячейки E-UTRAN (Evolved Universal Terrestrial Radio Access Network, сеть расширенного универсального наземного доступа)) — 28 бит (7 шестнадцатеричных чисел). Аналог SAC в GSM. Состоит из eNB ID + Sector ID. Уникален в пределах сети оператора.
PCI (Physical Cell Identity, идентификатор физической соты) — 3 десятичные цифры, 504 варианта. Аналог PSC в UMTS.
TA (См. 2G).
Данные сети CDMA
SID (System Identifier, идентификатор системы) — 15 бит (десятичные числа 0-32767). Аналог MNC в GSM. Уникален по всему миру.
NID (Network Identifier, идентификатор сети) — 16 бит (4 шестнадцатеричные цифры). Аналог LAC в GSM. Уникален в пределах SID.
BID (Basestation Identifier, идентификатор базовой станции) — 16 бит (4 шестнадцатеричные цифры). Уникален в пределах NID. В своём составе содержит номер сектора (обычно последняя цифра шестнадцатеричного числа). Аналог SAC в GSM.
Уровень сигнала
ASU (Arbitrary Strength Unit, произвольная единица силы) — условные единицы уровня сигнала, используемые в телефонах.
RSSI (Received Signal Strength Indication, показатель уровня принимаемого сигнала) — полная мощность принимаемого приёмником сигнала (мощность полезного сигнала + мощность шума). Измеряется приёмником по логарифмической шкале в дБм.
Пересчёт для GSM и UMTS: dBm = −113 + (2 * ASU), где ASU = 0-31.
Пересчёт для CDMA:
ASU = 16: dBm >= −75,
ASU = 8: dBm >= −82,
ASU = 4: dBm >= −90,
ASU = 2: dBm >= −95,
ASU = 1: dBm >= −100,
где ASU = 1, 2, 4, 8 и 16.
RSCP (Received Signal Code Power, мощность принимаемого кодированного сигнала) — уровень принятого полезного сигнала. Значения -5-91 в условных единицах приёмника. Пересчёт: dBm = −116 + ASU. Применяется для UMTS в списке секторов соседних базовых станций.
RSRP (Reference Signal Received Power, принимаемая мощность пилотного сигнала) — среднее значение мощности принятых пилотных сигналов, специальный сигналов, известных приёмной стороне. Значения 0-97. Пересчёт: −140 + ASU. Применяется для LTE.
|