It might also help to look at the FHSS utilities from Sandia Labs, which has a burst detector and FSK demodulator. https://github.com/sandialabs/gr-fhss_utils
For a more application specific implementation, gr-smartmeters is built on FHSS_utils. The developer has some fantastic tutorial videos explaining the approach, the protocol, the decoding and also walks through burst detection to frame decode/crc check. https://github.com/BitBangingBytes/gr-smart_meters https://wiki.recessim.com/view/Gr-smart_meters_Setup_Guide <end transmission> > On Jul 10, 2022, at 08:16, Johannes Demel <de...@ant.uni-bremen.de> wrote: > > Hi Peter, > > since you're looking at a signal with less than 10MHz bandwidth around > 910MHz, you might have hardware available that is able to capture the whole > bandwidth. This should be a good starting point. > > Besides, the best approach to solve your challenge depends on more parameters. > > Questions that I'd consider first: > Do you need to process all 6 bands in parallel? > Are all signal sources synchronized? Do they come from the same source? > How large are the guard bands? > How large is the time gap between every sequential hop in a subband? > Do the subbands depend on each other in some way? > Is there a preamble to sync to? > Do you intend to change block parameters at runtime? > > It might be interesting to use polyphase filters to divide your ~10MHz signal > into 6 subbands first. Then use a polyphase filter to separate your channels. > Or use the Xlating FIR for your subbands. I'd play around and observe the > effects of each approach. > You might want to use a polyphase filter for all your 6 * 60 channels. > > Cheers > Johannes > >> On 10.07.22 12:18, Peter Lambrechtsen wrote: >> Hello, >> Excuse my ignorance as I am fairly new to gnuradio but I am trying to figure >> out how best to capture a data stream that is in the ISM band that also has >> frequency hopping. >> Channel spacing of 25kHz >> It has two data bit rates of 62.5bps and 500bps >> Starting at 910.5Mhz and going up to 919.975 and in there it has 6 sub bands >> of 60 channels it hops between sequentially between the frequencies in the >> sub band every 0.4s >> I'm wondering what the best approach would be to capture the data and figure >> out when the timing frame was to determine which was the initial frame as >> then it should be able to follow the sequential hopping. >> Still trying to work on the blocks to capture all the traffic as I haven't >> figured that out yet as I am just working off the specification and trying >> to understand the Frequency Xlating FIR Filter to at least capture one FSK >> stream to make sure it is sane what I should be receiving, then move to the >> frequency hopping. >> Thanks, Peter >