Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

HackRF-SDR-Tx

Добавление возможности передачи в SDR# с HackRF one

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

HackRF-SDR-Tx

Добавление возможности передачи в SDR# с HackRF one 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 из данного проекта. Не забудьте добавить еще и HackRFTX.INI в ту же папку. После этого, при запуске SDR# и выборе HackRF, будет открываться дополнительно окно, позволяющее переключать HackRF в режим передачи. Снимок Частота передачи может отличаться от частоты приема в пределах полосы приема SDR и ее можно задавать верхним ползунком. Для переключения между приемом и передачей используется клавиша левый ctrl. Так как программа не оптимизирована еще, передача с частотой дискретизации в 20 МГц, скорее всего, будет происходить с искажениями. Чтобы разгрузить ЦП, можно установить более низкую частоту дискретизации в приложении SDR#. Минимальную частоту, которую можно выбрать в приложении – 8 MSPS. Однако ничего не мешает вписать и более низкую частоту. Библиотека реализована в среде Delphi7. За основу были взяты две публикации, описывающие получение звука из микрофона https://www.cyberforum.ru/delphi-multimedia/thread2458104-page2.html и оболочку библиотеки над HackRF.DLL https://github.com/almontasser/HackrfApi-Delphii И над первым и над вторым пришлось немного поработать. Оболочка над DLL-кой не сразу у меня компилировался. Видимо версии Delphi отличались. А потом оказалось, что не все функции, описанные в оболочке, реализованы в файле HackRF.DLL, поставляемый в комплекте с SDR#. С помощью DLL Export Viewer v1.66 получил список функций, описанные в DLL и таким образом подредактировал оболочку, чтобы там были только те функции, которые реализованы в данной DLL-библиотеке. Вопросы, замечания и предложения можно присылать на почту: berartvlad@mail.ru