gnuradio: Best way to sync to simple preamble
After a bunch of searching, I discovered that Daniel Estévez has a block in his gr-satellites module that does exactly what I'm looking for, and even pulls in a few downstream blocks to clean up the flowgraph:
https://github.com/daniestevez/gr-satellites
The key blocks are:
Satellites-&gt;Packet Operators-&gt;Sync and create PDU
Satellites-&gt;Packet Operators-&gt;Sync and create packed PDU
The first is helpful if you have non-mod-8 length payloads, and generates PDUs with unpacked bytes (everything is 0x00 or 0x01) corresponding to your payload bits. The second packs each 8 payload bits into a packed byte (0x00-0xFF).
Previously, it was necessary to route things as follows:
Correlate Access Code -&gt; Repack Bits -&gt; Tagged Stream to PDU
Now, however, the gr-satellites blocks take care of all three operations.
I know the bulk of the gr-satellites module is dedicated to things much more advanced than this, but thanks to Daniel for also providing several nice, general-purpose blocks as well!