image thumbnail

hackRF toolbox with spectrum analyzer

version 1.0.0.0 (6.09 KB) by Tillmann Stübler
MATLAB interface for the hackRF

1.6K Downloads

Updated 21 Feb 2016

View License

This submission is an interface to use the hackRF (a radio receiver/transmitter) directly in MATLAB. It gives you buffered receive and transmit functionality and you can control parameters like frequency, gain, sample rate, receiver and transmitter gain. It is nothing more than a convenient gateway to the hackrflib. It avoids writing the samples to temporary files and then calling hackrf_transfer.
Also, there is a small graphical app "panorama" which is a simple but useful spectrum analyzer. You can interactively tune the hackRF by panning and zooming into the spectrum display. This tool requires the DSP toolbox.

First prerequisite is to compile the hackrf library which is available here:
https://github.com/mossmann/hackrf
(or just install it if there's a package for your linux).
Some useful instructions for compilation are found here:
https://mborgerson.com/getting-started-with-the-hackrf-one-on-ubuntu-14-04

Then, you need to compile the MEX gateway function by just calling the make script.
To get access to the hackrf device, create an instance of the hackrf class. This object will make calls to the MEX function and it will offer intuitive control over the hackrf radio. For receiving/transmitting signals, you need to provide appropriate callback functions to process the complex samples.

Be aware that while using the hackrf within MATLAB, unplugging it will kill MATLAB instantly (At least that's the case on my computer). To be safe, only unplug it AFTER closing MATLAB.

There was another MATLAB/Simulink interface for the hackrf somewhere in the internet. Unfortunately, I was unable to compile it, so i just made my own one.

Cite As

Tillmann Stübler (2021). hackRF toolbox with spectrum analyzer (https://www.mathworks.com/matlabcentral/fileexchange/55537-hackrf-toolbox-with-spectrum-analyzer), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired: SDRplay RSP2 Matlab Toolbox

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!