Як і який вибрати мобільний інтернет? Декодируем GSM


В даний час величезна кількість людей, що проживають у містах і районних центрах, а особливо у видаленні від них відчуває складності з можливістю вибору провідника послуг для якісно використання таких благ цивілізації, як цифрове телебачення, інтернет, радіо і просто вирішити, для прикладу, якого оператора мобільного зв'язку вибрати з можливих для якісної і надійної телефонного зв'язку в даному місці (Мегафон, Білайн, МТС, TELE2 та ін). Як правило в кращому випадку це вирішується досвідом сусідів «який зв'язок використовуєте Ви?» і, покладаючись на їх відповідь отримуєте необхідну сім-карту оператора мобільного зв'язку, а потім стикаєтеся з тим, що не чути, немає зв'язку, інтернету, а як же тоді читати хабр, ітд.

Можна звичайно купити карти всіх операторів, і встановивши їх по черзі в телефон походити і перевірити якість зв'язку і рівень сигналу, можна пригасити друзів в гості, використовують різних операторів стільникового зв'язку, подивитися в інтернет карти зон покриття операторів стільникового зв'язку, здійснити вибір за ним, але на жаль всі ці способи, по ряду технічних причин, не завжди точні і в більшості випадків не правильні, вимагають досить тривалого часу і витрат, а як правило, необхідно визначити тут і зараз. Особливо це актуально для фахівців, що здійснюють встановлення та налаштування обладнання, які виїхали за замовленням здійснити якусь інсталяцію в абсолютно нове, невідоме місце. У деяких випадках необхідно використовувати додатково зовнішню антену для отримання якісного сигналу, а буває що зв'язок була і зникла, причому, в більшості випадків, це не нова інсталяція, а як правило антени вже встановлені і налаштовані майстрами в момент запуску в експлуатацію необхідної системи, але в процесі експлуатації, а також з-за переміщення і зміни передавальних антен, пов'язаних з реконструкцією вишок операторами зв'язку та телевізійного мовлення, зміни їх територіального розташування, а також зміни механічної міцності приймальної антени і її кріплення (наприклад в результаті сходу великої кількості снігу з даху, сильного вітру), відбувається неузгодженість передають – приймального тракту і виключається можливість якісного прийому сигналу аж до його повної відсутності. Для телебачення, введення в експлуатацію мовлення DVB_T2 передбачає нові точки установки передавальних антен, які здійснюють трансляцію, на які необхідно направити приймальну антену для якісного прийому сигналу телебачення (причому раніше використовувалася антена ДМВ повністю придатна для прийому даного формату). Вартість таких робіт, при виклику майстра, досить висока, хоча ці роботи може виконати будь-яка людина самостійно, використовуючи найпростіший DVB-T донгл на базі чіпа RTL2832U від Realtek або будь SDR приймач з можливістю захоплення частоти 700-1000 Мгц і програму сканування GSM. Використовувати вбудовані пристрої системи налаштування не завжди виходить якісно з-за великої інерційності цих систем, а також у разі слабкого сигналу, що вимагає точного позиціонування антени для відображення хоча б початкового рівня сигналу.

Для тих кому технічні питання не цікаві, а хочеться відразу приступити до використання, достатньо завантажити сканер GSM і почати використовувати, правда якщо у вас є в наявності DVB-T донгл або SDR приймач. Робота програми починається автоматично після запуску, все відображається на екрані (рис. 1) і при закінченні 3-5 хвилин або більше (залежно від якості сигналу) відображає кольорові стовпці висота яких означає рівень, а відповідно і якість сигналу, а колір, у який пофарбовано стовпчик, визначає оператора зв'язку (підказка – зелений колір — це мегафон). За результатами роботи сканер дозволяє зберегти список ідентифікаторів базових станцій MCC, MNC, LAC і CI для всіх сканованих каналів. В даному місці, можна зробити висновок, що Білайн – найоптимальніший за рівнем сигналу (Рис2).

Рис.1:


Рис.2:


Для тих щасливчиків у кого обладнання вже є, і хто вже запустив сканування, поки воно здійснюється — опис того, що зараз робить дана програма і чому так навантажений Ваш процесор.

У першу чергу проводиться сканування частотного діапазону, визначається чи є даний сигнал сигналом GSM, і при позитивному рішенні робиться спроба розшифрувати його; таким чином, можливі три результату виявлення сигналу: 1 — не сигнал GSM, 2 — сигнал GSM, але неможливо декодувати дані (наприклад, з-за поганої якості сигналу), 3 — сигнал GSM і дані декодованими.

Під декодируемыми даними розуміються системні інформаційні SI повідомлення, що передаються по широкомовним каналах BCCH.

Таким чином, декодер видає наступні параметри:
• Код країни MCC, код оператора MNC, код місцезнаходження LAC, ідентифікатора стільника CI і «кольорової» код базової станції BSIC
• Кількість тайм-слотів, зайнятих загальними каналами синхронізації BS-CC-CHANS, кількість блоків, виділених для каналу надання доступу BS-AG-BLKS-RES, прапор поєднання загальних і виділених каналів BS-CCCH-SDCCH-COMB
• Список частотних каналів даної базової станції
• Список частот BCCH каналів сусідніх базових станцій
Ще однією функцією декодера є аналіз каналів трафіку TCH, з метою виявлення базових станцій з відключеним шифруванням. Дана функція може використовуватися для виявлення проблем безпеки GSM, виявлення IMSI-catcher та ін

Крім цього, декодер видає набір додаткових параметрів, що характеризують якість сигналу: рівень сигналу, зміщення несучої частоти, кількість декодованих кадрів, відношення сигнал/шум, відносна кількість помилок, кількість зайнятих каналів трафіку та ін

Принцип роботи декодера GSM.
Декодер фізичного рівня GSM працює наступним чином. У першу чергу виконується пошук пакетів корекції частоти (FC burst) і оцінка зсуву несучої частоти, після його виявлення з затримкою рівною одному TDMA кадру (приблизно 4.6 мс) шукається пакет синхронізації (Syn burst). Декодування пакету синхронізації дозволяє досягти мультикадровой синхронізації і дізнатися колірної код BS. Після цього можливо декодування каналів широкомовних повідомлень і каналів трафіку.

Декодер GSM складається з наступних функціональних блоків:
• попередньої обробки сигналів і підстроювання зрушення несучої частоти,
• пошуку відомих тренінгових послідовностей і підстроювання фази несучої і символьної синхронізації,
• оценивателя імпульсної характеристики каналу і Вітербі еквалайзера з м'яким виходом
• зворотного перемежувача і декодера Вітербі зовнішнього згорткового коду
• розбирання пакетів даних

Попередня обробка.
Блок попередньої обробки сигналу GSM виконує наступні функції:
• перетворення вхідних квадратурних відліків з довільного вхідного формату у внутрішній формат представлення і передискретизації з вхідної частоти дискретизації в діапазоні 250 — 500 кГц на фіксовану частоту, рівну подвоєною символьної швидкості
• низькочастотної фільтрації сигналу з децимацією до символьної швидкості, оцінки рівня вхідного сигналу
• компенсації вхідного зрушення несучої частоти шляхом множення на комплексну синусоїду відповідної частоти
• вирівнювання блоку видаються відліків на початок кадру

Пошук тренінгових послідовностей.
Блок пошук тренінгових послідовностей виконує наступні функції:
• попереднього пошуку пакетів корекції частоти (канал FCH) шляхом обчислення кореляції з відомим референсним сигналом, для економії ресурсів, попередній пошук виконується з великим кроком по часу
• уточнення положення пакету корекції частоти та оцінки зсуву несучої частоти
• кадрової тимчасової синхронізації по пакетах синхронізації (канал SCH)
• фазової підстроювання несучої частоти пакетів SCH, BCCH, TCH
• оцінки фази символьної синхронізації пакетів SCH, BCCH, TCH і інтерполяція з метою досягнення максимального розкриття вічка діаграми
• виявлення порожніх (Dummy) пакетів переданих по TCH каналу.

Оцениватель каналу і Вітербі еквалайзер.
Оцінка імпульсної характеристики каналу проводиться шляхом обчислення кореляції сигналу з затриманими тренінговими послідовностями. З отриманої оцінки кореляційної функції віднімається власна кореляція сигналу GMSK з BT=0.3, і результати усереднюються.

Отримана оцінка імпульсної характеристики каналу подається на Вітербі еквалайзер з м'яким виходом (SOVA), що реалізує MLSE декодер. Вітербі еквалайзер (VE) використовує грати з 64 станами, стан Вітербі еквалайзера описується наступними складовими: 1 біт визначає поточне значення накопиченої фази для всіх символів з завершеною ЇХ, 2 біта описують символи з незакінченою ЇХ, 3 біта описують історію символів. На відміну класичної реалізації, де використовуються 4 значення накопиченої фази, в описаній реалізації використовується лише 2 значення фази (1 біт), що потребує попереднього повороту кожного відліків на Pi/2 у порівнянні з попереднім відліком.

М'який вихід Витреби алгоритму формується шляхом множення жорсткого рішення на мінімальну різницю між метрикою вижив шляху і метрикою конкурентного шляху, відрізняється даними символом.

В даному модулі так само диференціальне декодування символів, оцінка відношення сигнал шум і оцінка коефіцієнта помилок за відомим тренінговим послідовності.

Деперемежувач і декодер Вітербі.
Деперемежувач виконує перестановку символів для каналів BCCH і ТСН, зворотний перемежителю і формування блоків. Декодер вітербі виконує декодування згорткового коду за стандартним алгоритмом.

Аналізатор пакетів даних.
Парсер перевіряє правильність прийому пакетів даних шляхом обчислення контрольної суми (у стандарті це названо Block code) і порівняння її з переданою. Після цього виконується розбір пакетів.

Дивимося побудований графік і визначаємо оптимального оператора зв'язку для даного місця розташування і біжимо купувати потрібну сім-карту.

Вихідні коди GSM сканера доступні у відкритому GIT репозиторії на Bitbucket. Сканер збирається під MS Visual C++ 2010 Express і Qt 4.8.4.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.