В последнее время мне приходится заниматься проектированием и изготовлением спутниковых навигационных антенн, антенных решеток и радиоприемных устройств (РПУ). Здесь нужно заметить, что эти РПУ — это пребразователи навигационного сигнала к виду удобному для дальнейшей обработки, а не те навигационные приемники, которые выдают решение навигационной задачи и которые встроены в ваши гаджеты.
При тестировании антенн, особенно новых их конструкций, в обычной городской комнате возникают проблемы с хорошей радио-видимостью спутников. Грубо говоря, сложно понять новая антенна лучше или хуже старой, измененная схема согласования РПУ с антенной дала или нет улучшение чувствительности системы. Про антенные решетки вообще говорить не приходится. К тому же, лично в моем случае, присутствует какая-то помеха, которая мешает приему.Стоит отойти от окна и приемник теряет спутники, хотя прямая видимость четверти неба сохраняется.
Летом дача становится спасением. Там почти свободное небо и нет никаких помех. Но туда нужно либо ехать со всем имуществом, либо держать там его дополнительный комплект. Есть еще товарищи с прошлой работы, которые дают поработать в безэховой камере. Не знаю за что, но бывает такое счастье.
В общем, нелегка доля разработчика.
[ad name=»MiBand2″]
Недавно мне посчастливилось подобраться к решению этой проблемы. Я всегда знал о симуляторах навигационных сигналов, но они были дороги для меня. Тут сложилось несколько счастливых событий.
Думалось, что было бы классно получить возможность тестировать антенны и РПУ стабильно и предсказуемо.
А потом, думалось, это ведь наша почти традиционная русская забава — обманывать GPS. Я вспомнил, как сам недавно был отброшен информационно из района метро Третьяковская в аэропорт Внуково. А можно даже сделать что-то типа матрешки — запустить на Третьяковской ложный сигнал, как будто я на Третьяковской.
Иллюзия, но она может помочь успокоить многих неспокойных людей, особенно весной. И как же это по-русски, черт возьми!
Ведь если им можно, то нам почему нельзя? Но надо особо оговориться, что запуск симулятора проводился на минимальной мощности 10 кВт и даже без подключения антенны выпали все волосы на голове. Просим всех при экспериментах быть аккуратными и надевать шапочку из фольги, чтобы не разрушить навигационное пространство окружающих людей и спецслужб. Также стоит напомнить, что незнание законов не освобождает от ответственности. И о том, что у нас в России принято не зарекаться не только от сумы.
Все, долой философию! К делу! Меньше букв, больше картинок!
[ad name=»Responbl»]
Для запуска своей системы глобального позиционирования раньше нам потребовалась бы орбитальная группировка спутников, наземные станции и т.д. Теперь всё проще.
Нам необходимо:
Для запуска всего этого добра на компьютер надо неторопясь и аккуратно установить от производителя платы набор софта. Хотя, может, это и не обязательно. Но пусть будет. При установке под виндуз оно иногда жалуется, что не может добавить себя в PATH, но это не мешает, так как из всего этого добра мне понадобилась только утилитка uhd_find_devices.exe, которая позволила понять, увидела ли вообще система эту плату. Найти утилиту можно по адресу:
C:/UHD/bin/uhd_find_devices.exe
Затем втыкаем плату и открываем диспетчер устройств. Где можно обнаружить, что драйверов под устройство автоматом не установилось. Что же – бывает. Вручную с помощью программки zadig указываем системе, что под плату надо использовать драйвера libusb, т.е. winusb.
После того, как система подцепила стандартный драйвер, можно запустить uhd_find_devices из набора софта от производителя платы. Эта утилита должна найти плату и прошить её контроллер (там стоит FX3 от Cypress). Кажется, после этого устройство изменит свой PID и надо будет рассказывать системе (с помощью zadig), что и под это устройство можно использовать стандартные драйвера winusb.
Конечно же оно с первого раза не заработает. И конечно же это можно вылечить путем отсоединения платы и подсоединения обратно. Вот подробная инструкция.
Необходимо установить гнурадио, которое внутри себя содержит пайтон-питон. Я взял отсюда последнюю версию под AVX2 процессоры.
Мне было лень настраивать правильным образом окружение, поэтому я воспользовался скриптом, входящим в комплект: C:/GNURadio-3.7/bin/run_gr.bat
Через него я буду запускать скрипт для посылки сгенерированного файла в плату b210.
Для удобства путь до этого скрипта надо добавить в переменную окружения PATH.
[ad name=»UMI 600×313″]
Исходники берем тут. Что приятно удивило, так это легкость и простота сборки. Никаких зависимостей, никаких дополнительных действий. Все бы так.
Сборка под линукс
$ gcc gpssim.c -lm -O3 -o gps-sdr-sim
Сборка под виндуз
Я под линукс не собирал, т.к. была необходимость запустить всё на конкретной машине, а на ней стояла десятка.
Подробное описание параметров генератора есть в ридми. Для начала можно не разбираться, а сделать очень просто, сгенерировать сигнал таким образом:
gps-sdr-sim.exe -e brdc3540.14n -s 2500000 -l 30.286502,120.032669,100 -b 8 -d 300 -v -o sim.bin
Вы можете взять строчку из ридми, но она сгенерирует сигнал с ЧД=2,6 МГц, тогда и b210 надо будет настраивать на ту же ЧД (частота дискретизации). Если сгенерировать с одной частотой, а на плату выдавать с другой, то, конечно же, ничего не заработает.
Сигнал на плату я подавал с помощью такой команды:
run_gr.bat gps-sdr-sim-uhd.py -t sim.bin -s 2500000 -x 40
40 — это уровень. 2500000 — это ЧД. Подробное описание настроек можно увидеть в файле gps-sdr-sim-uhd.py, он очень прост для понимания.
Для b210 значение ЧД должно нацело делить частоту внутреннего генератора, а он там, кажется 40 МГц.
А теперь самое интересное.
Если в логах постоянно выводится буква U, значит, ваша система не успевает подсовывать данные в плату. Вам стоит проверить, не работает ли что-то на фоне и не указали ли вы очень высокую ЧД.
Через некоторое время (до 3 минут) все устройства начнут определять местоположение как заданное вами. Но перед этим они внезапно потеряют текущее положение.
Внимательно прочитав инструкцию к программе проф. Эбинумы можно понять, как сгенерировать файл с изменяющимся местоположением, как использовать другие даты и прочее.
[ad name=»Responbl»]
И за последние два пункта — спасибо профессору Эбинуме! Разработчикам будет чем заняться по обе стороны баррикад.
Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…
Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…
Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…
С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…
Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…
Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…