-
Notifications
You must be signed in to change notification settings - Fork 405
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SX126x] LR-FHSS support #1228
[SX126x] LR-FHSS support #1228
Conversation
https://github.com/jumanamirza/LR-FHSS-receiver Have you already seen this? |
@c3podaniel no, I haven't seen that project (thanks for pointing me to it!), however, I'm not sure how I would use it. From what I can tell it works with recorded data, but it does not specify how they are recorded. |
This is the paper behind the project. https://dl.acm.org/doi/10.1145/3694971 |
@c3podaniel that is actually a pretty good paper, thanks - shame the repository itself doesn't link to it. I'll take a look, maybe this could be a way to validate this PR. |
The used SDR is a casual €2200, wow. Thought I'd maybe get an SDR after all, but definitely not that one! 😆 |
After some modifications, I was able to run the LR-FHSS-Receiver project in Octave. I also figured out how to record the data in a format the project expects, with the following simple GNUradio flowgraph: With that, I was able to decode the headers, so at least those are being constructed, encoded and sent correctly:
However, when decoding the payload, the receiver unfortuantely uses
The B210 is a total overkill for this, you should be able to do this with a cheap RTL-SDR dongle ;) They used just 500 kSps sampling rate for the EU868 data rates - B210 can go up to 56 MSps. My HackRF One actually can't even go down to 500 kSps, hence the resampler in my flowgraph above. |
With help from @StevenCellist, we were able to validate decoding of the recorded data in Matlab (after fixing a bug in the payload CRC calculation) - the string
There are still likely some corner cases in other configurations (e.g. hop sequence seed for US hopping grid), but I'm confident enough in this feature to merge this now. @c3podaniel Thanks again for pointing me to that project and paper! |
This pull request adds support for LR-FHSS transmission from the SX126x module.
It is currently only verified by comparison of the transmitted signal to one sent from LR1110. The frequency hopping and packet length seems to match, however, it is not possible to test the encoding this way. A proper test would involve a LR-FHSS-capable LoRaWAN gateway.