Добавление функции передачи в SDR# с HackRF

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

SDRSharp (SDR#) – Одна из удобных и бесплатных программ для работы с различными SDR-приемниками.  Благодаря открытому API, она позволяет дополнять ее различными плагинами. Данная программа позволяет слушать различные радиостанции совместно с Airspy и RTL-SDR донглов. Она так же работает с HackRF One, который может не только принимать радиосигналы, но и передавать. Однако, на просторах Интернета, я не смог найти ни одно дополнение к SDR#, который бы позволял использовать HackRF как трансивер. Но все же, на основе того, что сумел найти, получилось кое-как разобраться с библиотекой HackRF.DLL и добавить возможность передачи  радиосигналов через HackRF к SDR#. Это реализовано внедрением промежуточного слоя между SDR# и библиотекой HackRF.DLL, который подготовлен с таким же интерфейсом, что и стандартная библиотека HackRF.DLL, только добавлена форма и несколько функций для формирования сигнала и модуляции в него звука из микрофона. Пока реализована только частотная модуляция.

Для установки данного «дополнения» в SDR#, достаточно переименовать HackRF.DLL, находящийся в папке SDRSharp на UHackRF.DLL, и добавить файл HackRF.DLL из данного проекта.

После этого, при запуске SDR# и выборе HackRF, будет открываться дополнительно окно, позволяющее переключать HackRF в режим передачи.

Внешний вид SDR# с дополнением
Внешний вид SDR# с дополнением

Здесь частота передачи может отличаться от частоты приема в пределах полосы приема SDR и ее можно задавать верхним ползунком. Для переключения между приемом и передачей используется клавиша левый ctrl.

 Так как программа не оптимизирована еще, передача с частотой дискретизации в 20 МГц, скорее всего, будет происходить с искажениями. Чтобы разгрузить ЦП, можно установить более низкую частоту дискретизации в приложении SDR#. Минимальную частоту, которую можно выбрать в приложении – 8 MSPS. Однако ничего не мешает вписать и более низкую частоту.

Библиотека реализована в среде Delphi7. За основу были взяты две публикации, описывающие получение звука из микрофона и оболочку библиотеки над HackRF.DLL.

И над первым и над  вторым пришлось немного поработать. Оболочка над DLL-кой не сразу у меня компилировался. Видимо версии Delphi отличались. А потом оказалось, что не все функции, описанные в оболочке, реализованы в файле HackRF.DLL, поставляемый в комплекте с SDR#. С помощью DLL Export Viewer v1.66 получил список функций, описанные в DLL и таким образом подредактировал оболочку, чтобы там были только те функции, которые реализованы в данной DLL-библиотеке.

 Исходный код

Источник: https://habr.com/ru/post/655225/


Интересные статьи

Интересные статьи

Современные криптографические устройства требуют надежной системы генерации и хранения ключей. В этой статье мы рассмотрим одну из наиболее перспективных и рассматриваемых сейчас решений: физически не...
На физическом уровне для передачи информации используются разные технологии. Например, технологии передачи электрических сигналов по проводам, световых импульсов по оптоволокну, звуковых сигналов по в...
В 1958 году немецкий нейропсихолог Клаус Конрад ввел термин «апофения» (от лат. apophene — высказывать суждение, делать явным; термин восходит к текстам религиозных откровений, где оз...
Если в вашей компании хотя бы два сотрудника, отвечающих за работу со сделками в Битрикс24, рано или поздно возникает вопрос распределения лидов между ними.
На сегодняшний день у сервиса «Битрикс24» нет сотен гигабит трафика, нет огромного парка серверов (хотя и существующих, конечно, немало). Но для многих клиентов он является основным инструментом ...