Время на прочтение
4 мин
Количество просмотров 259K
Карта Участники 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-формате, описанном ниже:
Нас интересуют следующие параметры:
- <mcc> — код страны;
- <mnc> — код оператора;
- <lac> — код зоны;
- <cellid> — идентификатор передатчика;
- <long> — долгота передатчика;
- <lat> — широта передатчика.
С базой данных все понятно, теперь можно переходить к определению Cell ID.
Все сотовые модули поддерживают следующие команды: AT+CREG, AT+COPS (обслуживающая базовая станция), AT+CSQ (уровень сигнала от базовой станции). Некоторые модули позволяют узнать кроме обслуживающего передатчика также и соседние, т.е. выполнять мониторинг базовых станций с помощью команд AT^SMONC для Siemens и AT+CCINFO для Simcom. У меня в распоряжении был модуль SIMCom SIM5215Е.
Соответственно мы воспользовались командой AT+CCINFO, ее формат приведен ниже.
Нас интересуют следующие параметры:
- <SCELL> — индикатор обслуживающего передатчика;
- <NCELLn> — индикатор соседнего передатчика;
- <mcc> — код страны;
- <mnc> — код оператора;
- <lac> — код зоны;
- <id> — идентификатор передатчика;
- <rxlev> — мощность принимаемого сигнала в дБм.
Подключив сотовый модуль к ноутбуку, мы получили следующий лог:
Мониторинг работает – можно ехать.
Маршрут пролег в западной части Минска по ул. Матусевича, пр. Пушкина, ул. Пономаренко, ул. Шаранговича, ул. Максима Горецкого, ул. Лобанка, ул. Кунцевщина, ул. Матусевича.
Карта Участники 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.
Спасибо за внимание. Вопросы и комментарии приветствуются.
Многие пользуются всевозможными LTE модемами на дачах.
В сложных условиях для хорошего приема нужна не только приличная антенна, но и как можно более точная ее настройка на ближайшую базовую станцию (БС) мобильного оператора.
— Как это сделать?
Есть сравнительно простой способ, которым я сегодня воспользовался настраивая LTE роутер HUAWEI B880-75 про который я уже рассказывал.
В настройках большинства роутеров можно найти информацию о базовой станции к которой модему удалось подключиться.
Полный размер
Информация о БС во вкладке Статус устройства раздела Обслуживание
Нас интересуют строки: Cell ID и TAC — Tracking Area Code*
Имея эти данные можно искать расположение БС используя сервис XINIT.RU
Но! Есть небольшая хитрость!
Дело в том, что TAC и Cell ID в этих сервисах могут отображаться как в десятичном (dec) так и в шестнадцатеричном (hex) формате… и здесь надо быть внимательным!
Рассмотрим мой конкретный пример:
Huawei отображает Cell ID (CID) — в шестнадцатеричном виде, а TAC в десятичном.
Компактный и удобный сервис Ultrastar (Имеет данные по БС, которых нет в Xinit)
Примет данные только в шестнадцатеричном (hex) формате.
LAC и CID в шестнадцатеричном формате
Если все данные ввести верно, то вы получите координаты базовой станции и сможете найти эту станцию на карте.
БС найдена на карте по координатам.
Имея данные о БС гораздо проще монтировать и настраивать антенну.
Мне удалось сравнительно быстро стабилизировать работу модема.
Полный размер
В процессе настройки…
P.S. *TAC (Tracking Area Code) в сетях LTE, LAC (Location Area Code) в сетях GSM — код локальной зоны. Объединение некоторого количества базовых станций, которые обслуживаются одним контроллером базовых станций (BSC).
Полный размер
Расшифровка аббревиатур
MIMO (Multiple-Input and Multiple-Output) — тип адаптивных антенн повышающих полосу пропускания.
MTU (Maximum Transmission Unit; максимальная единица передачи) — максимальный размер пакета, который может быть передан по сети без фрагментации.
RSSI (Received Signal Strength Indicator) — мощность принимаемого сигнала
RSRP (Reference Signal Received Power) — среднее значение мощности принятых пилотных сигналов БС
SINR (Signal Interference Noise Ratio) — соотношение сигнал-шум в радиоканале.
RSRQ (Reference Signal Received Quality) — качество принятых пилотных сигналов БС.
ULCA (Uplink Carrier Aggregation) — агрегация частот исходящего канала.
CellID Finder
mayak
CellMapper
Калькулятор перевода в шестнадцатиричную систему
БС сервис
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.
Спасибо за внимание. Вопросы и комментарии приветствуются.
Содержание
- Как узнать координаты базовой станции GSM по MCC, MNC, LAC и CellID (CID).
- Ресурсы для определения координат базовых станций
- Введение
- Немного истории
- Базы данных измерений
- Сервис xinit.ru/bs
- Сервис cellidfinder.com/cells/bs
- Сервис Александра Мыльникова
- Сервис Минкомсвязи
- Сервис OpenCellID
- Приложение. Некоторые термины и аббревиатуры
Как узнать координаты базовой станции GSM по MCC, MNC, LAC и CellID (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
CID = 2224
Вводим эти параметры в форму поиска на главной странице. Т.к. LAC и CID могут выдаваться нетмонитором как в десятичном, так и в шестнадцатеричном виде, то форма поиска имеет автозаполнение для LAC и CID во втором виде. Выбираем «Данные Google», «Данные Yandex» и, если необходима высокая точность, «Усреднение». Нажимаем кнопку «Найти БС».
В результате получили координаты для данного сектора базовой станции. Более того координаты по базам Google и Yandex практически совпали, а значит можно предположить, что БС построены на карте достаточно точно.
Источник
Ресурсы для определения координат базовых станций
Введение
Среди вопросов на форуме чаще всего встречается вопрос о нахождении базовых станций (далее БС) — где они (она) находится, куда лучше направить антенну, как определить координаты вышки? Частенько возникают вопросы, связанные с предыдущим, типа — сервис такой-то говорит, что БС находится по координатам таким-то, но ее там нет, своими глазами видел, объездил это место вдоль и поперек, нет там никаких вышек.
Статья посвящена описанию ситуации с ресурсами для определения координат вышек, какие это ресурсы, как ими пользоваться, насколько достоверны сведения, которые дают сервисы и приложения по определению координат БС.
Немного истории
Основная проблема, из которой проистекают все другие, связанные с неточностью определения координат, состоит в том, что нигде в мире операторы сотовой связи публично не предоставляют информацию о нахождении БС. Исключение составляют только два региона в Германии. Попадаются также точные координаты вышек в базах данных Санэпиднадзора и Госреестра, т. к. при строительстве объектов нужно получать согласование этих учреждений. Примерно 37 тыс. записей о координатах (или адресах) вышек можно найти на сайте Электронный эколог. Желающие могут самостоятельно поискать такие сведения по Реестрам Роспотребнадзора и сан.-эпид. службы России. В целом ситуация такова, что общедоступных баз данных с точными координатами вышек не существует .
По мере развития интернета крупным компаниям пришлось решать задачу геолокации, т.е. определение географических координат телефона без использования навигационных систем типа 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 ) обычно являются необходимыми данными для получения приблизительных координат БС с использованием интернет-сервисов. Способы получения этих параметров описаны здесь.
Сервис xinit.ru/bs
Работа сервиса на этом сайте строится на опросе четырех крупнейших геолокационных баз, содержащих информацию о координатах сотовых вышек — Google, Яндекс, OpenCellID, Mozilla Location Service. На данный момент наиболее полные и точные данные предоставляют базы Яндекса и Гугла, поэтому, если информация есть в обоих базах, сервис автоматически усредняет полученные от них значения и показывает наиболее точное местоположение сектора (красная метка на карте). Если же информация есть не во всех базах, то автоматически будут показаны наиболее точные данные от одного из сервисов. Естественно, при клике по соответствующим координатам, вы всегда можете посмотреть данные, выдаваемые каждым сервисом отдельно.
Согласно сообщению автора сервиса, данные поступают из соответствующих баз данных в on — line режиме и, следовательно, актуальны на момент обращения к сервису.
Сервис cellidfinder.com/cells/bs
Используются базы данных Гугл и Яндекс. Подробная инструкция по определению координат находится здесь . Скриншот сервиса:
Сервис Александра Мыльникова
В общем случае сервис предназначен для создания приложений, но может работать и напрямую. Для этого нужно составить запрос по определенным правилам и ввести его в адресную строку браузера.
Для запроса есть 4 обязательных поля:
- mcc — Integer (Код страны)
- mnc — Integer (Код телефонного оператора)
- cellid — Integer (Код телефонной станции)
- lac — Integer ( Кодрегионаили Area, Location)
- v — Номер версии (Актуальная версия 1.1)
- data=open — указание, что данные полученные из API строго открытые
Сервис Александра Мыльникова
Ответ будет выдан в браузере в виде:
Если станция найдена, то в поле result приходит ответ 200 , при ошибках возвращается код 404. Описание успешного ответа:
- lat — широта
- lon — долгота
- range — точность определения координаты в метрах
- samples — количество измерений
- mcc — код страны
- mnc — код мобильного оператора
- lac — код мобильного региона
- cellid — Id базовой станции
- radio — стандарт базовой станции
Имеется интернет-сервис, основанный на базе данных А.Мыльникова. Данные для нахождения координат БС аналогичные другим сервисам.
Сервис Минкомсвязи
Приложение «Качество связи» предназначено для составления народной карты покрытия услугами мобильной связи территории России.
Данные собираются при открытом андроид-приложении, в фоновом режиме или при использовании других приложений, где используется функция геопозиционирования.
Собранные вами и другими пользователями данные публикуются на специальном сайте по адресу: https://geo.minsvyaz.ru. Сейчас сайт позволяет просматривать покрытие сотовой связи в сетях 13 операторов мобильной связи на всей территории России. Пятнами показаны координаты измерений сотового сигнала.
Приложение создано при поддержке Министерства связи и массовых коммуникаций Российской Федерации и функционирует с января 2016г.
Сервис OpenCellID
Сервис основан на собственной базе данных, которая на сегодняшний день содержит свыше 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, универсальная мобильная телекоммуникационная система)
· 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, долговременное развитие)
· 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.
Данные сети 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.
Здесь не рассматриваются сведения, доступные различным специальным службам и правоохранительным органам
Источник
Как узнать координаты базовой станции
Для того, что бы понять от какой БС Вы получаете сигнал — необходимо сперва при помощи специальных программ на смартфон узнать информацию (Например: OpenSignal, Network Cell Info, Cellulaier, Cellumap и др.), а затем на этом ресурсе посмотреть соответствие этой информации. Так Вы узнаете где базовая станция находится.
Так же, для более опытных рекомендую посетить данный ресурс, там можно подробнее узнать о месте расположения БС.