I am having trouble to synchronize on a frequency hopping pattern between an emitter Tx
and a receiver Rx
. More precisely, the communication between Tx
and Rx
uses frequency hopping spread spectrum (FHSS
) in the 2.4GHz - 2.485GHz ISM band, and I would like another Rx
to be able to synchronize on the Tx
.
To do so, I thought of cutting the entire bandwidth in a set of smaller ones and, if the energy contained in one of the smaller bands is greater than the mean of the energy of all the bands, it means I have a signal in that band and that I have to use that frequency. Using GNU Radio (3.8.3.1)
, a LimeSDR is connected to a polyphase filter bank
(where each filter is a low-pass one) block, each of the outputs connected to a Stream to Vector
block, a Complex to Mag Squared
block, a threshold
block, and finally some sinks to see the result. So far, I could not achieve satisfying results, and was wondering if
- the proposed method made sense ?
- it was possible to have a "dynamic" threshold to adapt to noisy environments and put the computed mean energy as threshold ?
- I use the
polyphase filter bank
block correctly ?
Here is a link to the code using the LimeSDR, and here is a code using a perdiodic band sweeper used to see if what I am trying makes sense.
Thank you and have a nice day, Alex.