[Hackrf-dev] HackRF_sweep

Sebastiaan van Pelt sebastiaanvanpelt at me.com
Mon Sep 25 18:04:15 EDT 2017


Good evening,

I have got a question with regards to hackrf_sweep but I will give some background information first, which will hopefully help with answering my questions. 

I am currently working on a project that involves the design of a SDR that can send and receive a file (txt) and has a cognitive element. I'm using two hackRF's and have successfully sent files two-way, using GFSK transmitters produced in GNU Radio. This has been done through the use of a shell script to send 5 files on 5 different frequencies within 10 secs. To overcome the issue of the radio being stuck in transmit, every Python file iteration is followed by running the hackrf_info to get the radio ready for the next transmission. I am aware that some users have used hackrf_spiflash -R but this didn't work for me as the resource was busy every time this command was executed. 

I'm now on to the stage (actually the first thing that needs to be performed) where I want to scan or sweep a part of the spectrum to find "white space" and have the transmitter use this found space to transmit a file. To assure that the receiver is aware what frequency to listen on I will implement a control channel via which I will send the found frequency and switch accordingly. This is were it gets tricky:

I'm currently scanning from 2.4 GHz to 2.42 GHz as I found that 20 MHz is the minimum requirement and if set to less, hackrf_sweep will do this anyway. I would like to scan the full ISM range from 2.4 to 2.5 GHz dividing it in a 100 channels but realize this is quite a daunting task. 

Here are the actual problems I run into:

1. Can the default sampling rate of 20 MHz be adjusted using the hackrf_sweep command? If I were to set this to lets say 5 MHz would the sweep still be interleaved?

2. What is the effect of the samples per seconds, and the multiples of 16384? How does changing this value affect the output in the CSV file? I haven't got the maximum value here with me but for some reason this is not a multiple of 16384, as stated when using hackrf_sweep -h.

3. I need the CSV output to analyze where the white space is but but because of the interleaving the data is spread out through the document.  Does anyone have some suggestions on how to either sort this data (I've looked at the flattening.py file found on github but cannot get it to work) or suggest a way that hackrf_sweep can output the sweep in a more convenient way. I understand what dB columns correspond to what frequency but find it hard to implement this in a script with my very limited python knowledge. 

I appreciate this is quite a lengthy question but any help one any of these questions would be great!

Seb


More information about the HackRF-dev mailing list