Местоположение базовой станции по lac и cid

Published 22.04.2015 by Johhny

Cellidfinder – это простой и удобный сервис по поиску местоположения базовых станций мобильной связи стандарта GSM и построению их на карте. В статье приведена подробная инструкция по поиску местоположения базовых станций GSM с помощью данного сервиса.

Какие данные необходимы для локализации БС?

Для того, чтобы найти координаты сектора базовой станции необходимо знать 4 параметра:

  • MCC (Mobile Country Code) — код, определяющий страну, в которой находится оператор мобильной связи. Например, для России он равен 250, США – 310, Венгрия – 216, Китай – 460, Украина — 255, Белоруссия — 257.
  • MNC (Mobile Network Code) — код, присваиваемый оператору мобильной связи. Уникален для каждого оператора в конкретной стране. Подробная таблица кодов MCC и MNC для операторов по всему миру доступна здесь.
  • LAC (Location Area Code) — код локальной зоны. В двух словах LAC – это объединение некоторого количества базовых станций, которые обслуживаются одним контроллером базовых станций (BSC). Этот параметр может быть представлен как в десятичном, так и в шестнадцатеричном виде.
  • CellID (CID) — «идентификатор соты». Тот самый сектор базовой станции. Этот параметр также может быть представлен в десятичном, и шестнадцатеричном виде.

Где взять эти данные?

Данные берутся с нетмонитора. Нетмонитор – это специальное приложение для мобильных телефонов или других устрйств, которое позволяет узнать инженерные параметры мобильной сети. В сети существует огромное количество нетмониторов для различных устройств. Найти подходящий – не проблема. Кроме того многие современные GPS трекеры в условиях плохого приема спутников могут отсылать хозяину не координаты, а параметры базовой станции (МСС, MNC, LAC, Cellid) за которую они цепляются. Cellidfinder поможет быстро перевести эти параметры в приблизительное местоположение БС.

Откуда берутся координаты базовой станции?

Поиск координат базовых станций проводится в базах данных Google и Yandex, которые предоставили такую возможность. Следует отметить, что в результате поиска мы получаем не точное местоположения вышки, а приблизительное. Это то местоположение, в котором регистрировалось наибольшее количество абонентов, передавших информацию о своем местоположении на серверы Google и Yandex. Наиболее точно местоположение по LAC и CID определяется при использовании функции усреднения, при которой вычисляются координаты всех секторов (CellID) одной базовой станции, а затем вычисляется усредненное значение.

Как работать с CellIDfinder?

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

Читайте также:  Маска текста в автокаде

В данном случае в окне нетмонитора мы увидели:
MCC = 257 (Белоруссия)
MNC = 02 (МТС)
LAC = 16
C >

Вводим эти параметры в форму поиска на главной странице. Т.к. LAC и CID могут выдаваться нетмонитором как в десятичном, так и в шестнадцатеричном виде, то форма поиска имеет автозаполнение для LAC и CID во втором виде. Выбираем "Данные Google", "Данные Yandex" и, если необходима высокая точность, "Усреднение". Нажимаем кнопку "Найти БС".

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

Многие пользуются всевозможными LTE модемами на дачах.
В сложных условиях для хорошего приема нужна не только приличная антенна, но и как можно более точная ее настройка на ближайшую базовую станцию (БС) мобильного оператора.

— Как это сделать?

Есть сравнительно простой способ, которым я сегодня воспользовался настраивая LTE роутер HUAWEI B880-75 про который я уже рассказывал.
В настройках большинства роутеров можно найти информацию о базовой станции к которой модему удалось подключиться.

Имея эти данные можно искать расположение БС используя сервис XINIT.RU

Но! Есть небольшая хитрость!
Дело в том, что TAC и Cell ID в этих сервисах могут отображаться как в десятичном (dec) так и в шестнадцатеричном (hex) формате… и здесь надо быть внимательным!
Рассмотрим мой конкретный пример:

Если все данные ввести верно, то вы получите координаты базовой станции и сможете найти эту станцию на карте.

Мне удалось сравнительно быстро стабилизировать работу модема.


Карта Участники OpenStreetMap

Существует множество способов определения местоположения, такие как спутниковая навигация (GPS), местоположение по беспроводным сетям WiFi и по сетям сотовой связи.

В данном посте мы попытались проверить, насколько хорошо работает технология определения местоположения по вышкам сотовой связи в городе Минске (при условии использования только открытых баз данных координат передатчиков GSM).

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

Как указано на странице Cell ID, открытых баз данных с координатами передатчиков сотовой связи не так уж и много. Например, это OpenCellID.org, содержащая 2 611 805 передатчиков (13042 из них в Беларуси) и openbmap.org, содержащая 695 294 передатчиков.

Читайте также:  Микроволновая печь самсунг тдс инструкция

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


Карта Участники OpenStreetMap

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


Карта Участники OpenStreetMap

Теперь перейдем к вопросу о том, как использовать эту базу данных. Есть два варианта: использовать сервис перевода Cell ID в координаты, который предоставляется сайтом OpenCellID.org, либо выполнять локальный поиск. В нашем случае локальный способ предпочтительней, т.к. мы собираемся проехать по 13-километровому маршруту, и работа через веб будет медленной и неэффективной. Соответственно нам необходимо скачать базу данных на ноутбук. Это можно сделать, скачав файл cell_towers.csv.gz c сайта downloads.opencellid.org.

База данных представляет собой таблицу в CSV-формате, описанном ниже:

Нас интересуют следующие параметры:

  • — код страны;
  • — код оператора;
  • — код зоны;
  • — идентификатор передатчика;
  • — долгота передатчика;
  • — широта передатчика.

С базой данных все понятно, теперь можно переходить к определению Cell ID.

Все сотовые модули поддерживают следующие команды: AT+CREG, AT+COPS (обслуживающая базовая станция), AT+CSQ (уровень сигнала от базовой станции). Некоторые модули позволяют узнать кроме обслуживающего передатчика также и соседние, т.е. выполнять мониторинг базовых станций с помощью команд AT^SMONC для Siemens и AT+CCINFO для Simcom. У меня в распоряжении был модуль SIMCom SIM5215Е.

Соответственно мы воспользовались командой AT+CCINFO, ее формат приведен ниже.

Нас интересуют следующие параметры:

  • — индикатор обслуживающего передатчика;
  • — индикатор соседнего передатчика;
  • — код страны;
  • — код оператора;
  • — код зоны;
  • — идентификатор передатчика;
  • — мощность принимаемого сигнала в дБм.

Подключив сотовый модуль к ноутбуку, мы получили следующий лог:

Мониторинг работает – можно ехать.

Читайте также:  Медиа гет выдает ошибку закачки

Маршрут пролег в западной части Минска по ул. Матусевича, пр. Пушкина, ул. Пономаренко, ул. Шаранговича, ул. Максима Горецкого, ул. Лобанка, ул. Кунцевщина, ул. Матусевича.


Карта Участники OpenStreetMap

Запись лога велась с интервалом в 1 секунду. Выполняя преобразование CellID в координаты, выяснилось что 6498 обращений к базе данных OpenCellID были результативными, а 3351 обращений не нашли соответствий в БД. Т.е. hit rate для Минска составляет примерно 66 %.

На рисунке ниже показаны все передатчики, которые встречались в логе и были в БД.


Карта Участники OpenStreetMap

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


Карта Участники OpenStreetMap

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

Поскольку наш SIMCom SIM5215Е в каждый момент времени показывает не только обслуживающий передатчик, но также соседние и уровни сигнала от них, то попробуем рассчитать координаты аппарата на основании всех данных, имеющихся в конкретный момент времени.

Расчет координат абонента будем выполнять как взвешенное среднее координат передатчиков:
Latitude = Sum (w[n] * Latitude[n] ) / Sum(w[n])
Longitude = Sum (w[n] * Longitude[n]) / Sum(w[n])

Как известно из теории распространения радиоволн, затухание радиосигнала в вакууме пропорционально квадрату расстояния от передатчика до приемника. Т.е. при удалении в 10 раз (например, с 1 км до 10 км) сигнал станет в 100 раз слабее, т.е. уменьшится на 20 дБ по мощности. Соответственно вес при каждом слагаемом определяется как:
w[n] = 10^(RSSI_in_dBm[n] / 20)

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

В результате получаем более подробную картину местоположений.


Карта Участники OpenStreetMap

По итогу маршрут оказался неплохо прочерчен за исключением выброса в сторону развязки на МКАД, по ранее описанной причине. Кроме того, со временем база данных координат будет наполнятся, что также должно повысить точность и доступность технологии определения местоположения по Cell ID.

Спасибо за внимание. Вопросы и комментарии приветствуются.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector