projecthorus / wenet

Wenet ("The Swift One") - Transmit and Receive code for the Project Horus High-Speed Imagery Payload.
GNU General Public License v3.0
89 stars 9 forks source link

Choice of sync word (0xABCDEF01) #9

Closed scd31 closed 6 months ago

scd31 commented 7 months ago

Hello,

I am curious about the choice of the sync word (0xABCDEF01) for this project. My understanding is different sync words have different autocorrelation abilities and so theoretically an optimal sync word could behave slightly better. I am vaguely familiar with barker codes, and although they are too short for this project and I'm not even sure if any of this matters for FSK instead of PSK. Perhaps it provides a slight coding gain for coherent demodulators but makes no difference to incoherent demodulators?

Speaking more generally, is there a way to evaluate how good a specific sync word is for FSK?

darksidelemm commented 7 months ago

I don't think there was much thought put into the sync word choice here. Sure, there are going to be sync words that have better auto-correlation properties, but in this case all it'll really do is maybe slightly reduce the number of false-positive frame detections. More false positives means more times the decoder has to run the LDPC decoding and CRC checking to check if that detected frame is valid.

At the bit rates we're working at, it probably doesn't make much difference in performance.

scd31 commented 7 months ago

Thanks very much. My reason for asking is because I'm using the same sync word for CATS: https://cats.radio

If it just increases the false positive rate slightly it's probably not worth thinking about. Thanks!

darksidelemm commented 6 months ago

No problems - I've had a look at your project, and it certainly looks promising! I still have some intentions to expand my Horus Binary modem ( https://github.com/projecthorus/horusdemodlib/wiki ) to support some more arbitrary packet sizes for this kind of application too - your CATS protocol might be appropriate for that.