Как обнаружить близлежащие активные телефоны (активность на восходящей линии связи GSM) с помощью программно-определяемой радиосвязи - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь создать программу, которая может обнаруживать мобильные телефоны, которые передают звонки или отправляют SMS-сообщения вокруг меня, с помощью программно-определяемой радиосвязи (SDR).Я не заинтересован в понимании данных GSM, я просто хочу знать, активны ли в настоящее время устройства GSM на восходящей линии связи GSM (линия мобильной связи к базовой станции), и оценивать, наблюдая на уровнях мощности, как далеко они находятся от SDR.device.

Хотя я открыт для альтернатив, в настоящее время я использую:

  • Для аппаратного обеспечения - устройство RTL-SDR, которое может принимать от 24 МГц до 1766 МГц с частотой ~ 3 МГц.bandwidth
  • Для программного обеспечения, gnuradio и модуля gnuradio gr-gsm (https://github.com/ptrkrysik/gr-gsm)
  • Для диапазона GSM меня в первую очередь интересует диапазон E-GSM-900, который является диапазоном восходящей линии связиидет от 880 МГц до 915 МГц (это тот, который используется в моей области)

Я уже написал простой «датчик спектра» с gnuradio, который вычисляет среднее значение уровней мощности на заданных частотах за период времениПри просмотре частот восходящей линии связи GSM он может обнаружить какую-то активность, но он не очень хорошо работает, так как не учитывает, что, согласноНорма GSM, передача GSM осуществляется пакетами и скачками частот.

Для хорошего понимания передачи GSM см. Техническую спецификацию GSM 05.02 (https://www.etsi.org/deliver/etsi_gts/05/0502/05.00.00_60/gsmts_0502v050000p.pdf).

. Я хотел бы получить советы покак правильно определять активность в восходящей линии связи GSM и оценивать близость устройства GSM к приемнику SDR с учетом специфики передачи GSM (пакеты, кадры TDMA, скачкообразная перестройка частоты).

Пока чтоУ меня есть две идеи для решения этой проблемы.

Моей первой идеей было бы:

  • Определение частот базовых приемопередающих станций в зоне нисходящей линии связи.Это можно сделать с помощью такого инструмента, как grgsm_scanner от gr-gsm.
  • Прослушайте частоту базовой станции, которая наиболее четко передает по нисходящей линии связи.Определите пакет коррекции частоты (в канале коррекции частоты, FCCH) и прочитайте его, затем определите пакет синхронизации (в канале синхронизации, SCH) и прочитайте его.Если я хорошо понимаю, это должно дать мне правильное смещение частоты и временные индикаторы, чтобы иметь возможность правильно перехватывать кадры TDMA в восходящей линии связи GSM.Это требует декодирования некоторых данных GSM по нисходящей линии связи, что может быть выполнено с помощью gr-gsm.
  • Прослушивание частот в восходящей линии связи GSM с использованием правильного смещения частоты и указаний синхронизации, найденных на предыдущем шаге.Обнаружение посылок GSM.Исходя из наличия и уровня мощности пакетов, определите наличие близлежащих мобильных телефонов.

Моя вторая идея - пропустить первые два шага и прослушивать только восходящую линию GSM.Тогда мне понадобится способ правильно определять наличие и уровни мощности пакетов в восходящей линии связи, не имея информации от FCCH и SCH.Это было бы намного проще, но я не уверен, как это сделать.

Я что-то здесь упускаю?Есть ли более простые способы сделать то, что я хочу сделать?Если нет, что вы думаете об идеях, которые я раскрыл?

Спасибо!

...