Создание проекта Universal Radio HackerМеню - File - New Project...
09_1.png
09_2.png
В строке "Choose a path" указываем папку, в которой будут храниться файлы нового проекта. Я указал "H:/Гараж/_Мой/1/Ford Kuga/TPMS". Выбрал в диалоговом окне "H:/Гараж/_Мой/1/Ford Kuga", а "/TPMS" ввёл руками, так как папки "TPMS" пока не существует. А примечание ниже обещает её создать (Note: A new directory will be created.).
09_3.png
09_4.png
Из следующих параметров ключевым для нас является "Default frequency" - Частота по умолчанию или рабочая (несущая) частота. Я уже немного экспериментировал с анализатором спектра и с записью сигналов, поэтому в новом проекте установилась последняя использованная частота 433,92 МГц. А для установки других параметров:
- Default sample rate - Частота дискретизации по умолчанию;
- Default bandwidth - Пропускная способность по умолчанию;
- Default gain - Усиление по умолчанию
лучше воспользоваться подсказкой, которая предлагает открыть Spectrum Analyzer для поиска этих значений. Но предварительно подключаем RTL-SDR USB-приёмник ко компьютеру. Штырь антенны пропускаем в отверстие датчика, предназначенное для крепления пипки и укладываем вместе с датчиком в карман прибора
Autel MaxiTPMS TS508.
09_5.jpg
09_6.jpg
А теперь кликаем по ссылке Spectrum Analyzer. Открывается новое окно.
09_7.png
09_8.png
09_9.png
По умолчанию сразу же стоит устройство "RTL-SDR". Остаётся только нажать на кнопку обновления Device Identifier, чтобы устройство подхватилось анализатором.
Особо хочу отметить, что подбор и установка правильных значений параметров Sample rate, Bandwidth и Gain имеет важное значение. Я сначала этого не понимал и не придавал этому значения, и поэтому мне пришлось потратить некоторое количество времени прежде, чем мне удалось правильно декодировать сигналы датчиков TPMS. Поэтому в проекте мы сразу же установим нужные нам правильные значения этих параметров, но сначала разберём их подробно, на что каждый из них влияет и как способствует правильному декодированию цифрового сигнала.
Sample rateЭто частота дискретизации сигнала или частота сэмплирования или количество сэмплов (снимков) мгновенного (сиюминутного) значения сигнала в секунду. Влияет на точность записываемого сигнала. Чем выше частота сэмлирования, тем ближе будет записанный сигнал к оригиналу. Но слишком высокая частота сэмлирования нам не нужна, и я поясню почему. Мы имеем дело с радиосигналом, который довольно сильно зашумлен разными помехами. Наша же задача из всего спектра шума выделить только полезный сигнал. И огромное количество не нужных всплесков мы можем отсеять уменьшением частоты сэмплирования, то есть загрублением формы принимаемого сигнала. А учитывая тот факт, что мы принимаем кодированный цифровой сигнал, то высокая точность его повторения нам совершенно не нужна. Главное, чтобы чётко идентифицировались единички и нолики. К сожалению, я уже не помню, где прочитал и даже найти повторно не смог, но значение запомнил. Так вот фордовские датчики передают полезный цифровой сигнал с частотой 38,4 кГц и сэмплировать его с частотой более, чем в два-три раза выше не имеет смысла. Потому что это бесполезная нагрузка на процессор и неоправданно большой размер сохраняемого файла. Но в выборе минимальной частоты сэмплирования есть своя засада. То-ли это ограничение RTL-SDR-приёмника, то-ли ограничение программы Universal Radio Hacker, но минимум удаётся поставить только в 900001 сэмплов в секунду. Если ставить 900 тысяч и ниже, то возникает ошибка 22. Нажимаем кнопку "Start" и смотрим записи лога ниже. А вот если установить 900001 Sps, то этой ошибки уже нет. Я пробовал много разных значений менее 900 тысяч и все они вызывали ошибку передачи параметра SET_SAMPLE_RATE в RTL-SDR-приёмник. Поэтому я пришёл к выводу, что для данной связки (программа Universal Radio Hacker и приёмник RTL-SDR USB) 900001 Sps - это минимальный приемлемый минимум.
09_10.png
09_11.png
BandwidthЭто настройка полосового фильтра приёмника, отсекающего нижние и верхние гармоники полезного сигнала и прочие шумы со случайными всплесками. И если предыдущим параметром нам не удалось отсечь шумы, приблизившись частотой дискретизации к частоте полезного сигнала, то этот параметр отсекает шумы и довольно существенно. Экспериментально (с шагом 100 кГц) я выяснил, что наиболее "чистым" получается записанный сигнал при Bandwidth = 200 кГц. При увеличениии значения Bandwidth выше 200 кГц увеличивается количество шумов и случайных всплесков, затрудняющих демодулирование и декодирование частотно-модулированного сигнала (FSK). С амплитудно-модулированным сигналом (ASK) таких проблем нет. Он отлично демодулируется и декодируется при практически любых допустимых значениях параметров Sample rate, Bandwidth и Gain. Но это я просто заранее сообщил, потому что уже многое опробовал и пощупал своими руками. Так вот экспериментально Bandwidth = 200 кГц. А потом я включил мозги

и внимательнее рассмотрел спектрограмму сигнала, принятого от одного из датчиков. Выглядит она следующим образом.
09_12.png
09_13.png
09_14.png
Это остаточный след сигнала. Если бы его не было, то, думаю, что мне весьма затруднительно было бы поймать реальный сигнал, потому что он мелькает очень быстро. Ниже, под спектрограммой остаточного следа находится так называемый водопад. И на нём видно, в какой последовательности формировались вершины спектрограммы. То, что выше на водопаде, по времени было раньше, а то, что ниже - позднее. Таким образом, из приведённых выше скриншотов мы видим, что сначала был блок амплитудно-модулированных пакетов, а потом пошёл блок частотно-модулированных пакетов. То есть датчик при его "разбужении" активатором посылает пакеты как в ASK-модуляции, так и в FSK-модуляции. По вершинам спектрограммы мы можем уточнить центральную (несущую) частоту. Она начинает отображаться, если к вершине подвести указатель мыши и будет равна 433,885 МГц. На фото ниже 433,886, но я потом уточнил точнее )))
09_15.png
А также можем вычислить девиацию несущей при FSK-модуляции и более точно задать значение параметра Bandwidth. Нижнее значение несущей равно 433,851 МГц, верхнее - 433,929 МГц. И разница 433,929 МГц - 433,851 МГц = 78 кГц. Ну или для Bandwidth можно установить 100-150 кГц. Начнём, пожалуй, со ста, тем более, что установка этого значения ошибок не вызывает. Я даже больше скажу. Я экспериментировал со значениями 1, 2, 3, 5, 10, 20, 41, 50 кГц. Нормальный, хорошо декодируемый сигнал удаётся записать от 41 кГц и выше, но не более 200. Там уже много левых всплесков.
09_16.png
09_17.png
GainУсиление сигнала. Весьма полезный параметр, позволяющий амплитудно выделить полезный сигнал из уровня шумов. Программа Universal Radio Hacker позволяет устанавливать значения от -100 до 499, но RTL-SDR аппаратно принимает только следующий ряд значений: 0, 9, 14, 27, 37, 77, 87, 125, 144, 157, 166, 197, 207, 229, 254, 280, 297, 328, 338, 364, 372, 386, 402, 421, 434, 445, 480, 496. А практически полезными могут быть только значения от 0 до 77. Если выше, то уже начинает сильно подниматься уровень шума и усиливаются гармоники. Я выбрал значение Gain = 27.
09_18.png
09_19.png
09_20.png
09_21.png
09_22.png
09_23.png
09_24.png
09_25.png
Ну что ж, с параметрами определились. Закрываем окно Spectrum Analyzer. При этом параметры Sample rate и Bandwidth будут автоматически перенесены в окно параметров создаваемого проекта. А параметр Gain придётся завести вручную. Почему он автоматом не переносится, сие мне неизвестно. Возможно, исправят в последующих версиях Universal Radio Hacker.
09_26.png
09_27.png
Ну и в поле Description (Описание) пишем всё, что посчитаем нужным, чтобы в будущем легко можно было вспомнить, что это за проект.
09_28.png
Для сохранения проекта нажимаем ОК. Теперь видим, что в заголовке главного окна появился полный путь доступа к папке нашего проекта. А в проводнике появилась папка "H:\Гараж\_Мой\1\Ford Kuga\TPMS" с файлом свойств/параметров проекта "URHProject.xml"
09_29.png
09_30.png
To be continued...
У вас нет необходимых прав для просмотра вложений в этом сообщении.