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:
(or just install it if there's a package for your linux).
Some useful instructions for compilation are found here:
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.
Tillmann Stübler (2023). 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
Platform CompatibilityWindows macOS Linux
Inspired: SDRplay RSP2 Matlab Toolbox
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!