Hi, I'm writing an NXDN decoder in GNU Radio and I've realized there are two blocks (Complex Correlate Access Code Tag and Sign Scrambler) in the gr-c4fm module that do exactly what I need, but they're totally undocumented and I am a little new to this environment. My signal chain is currently: LPF -> Quadrature Demod -> Symbol Sync (w/ RRC Filter) -> Frequency Locked Loop -> C4FM Soft Decision -> Quaternary Slicer So I have some questions that I'm hoping Mr. Roe or someone else who's used these blocks could help me with (these are all specific to the gr-c4fm OOT module):
I'm not detecting any bit errors after the first few seconds of fine-tuning, is there a downside to using the hard decision slicer? When I try using the gr-c4fm Complex Correlate Access Code it tags false positives, though the standard access code tag block has been working exactly as it should with the slicer output. How can I eliminate the extra tags? Related, I noticed that the gain on the Soft Decision had a pronounced effect on the Correlate block but I just had it set to 1, which was working for the hard decision slicer. How exactly do I calibrate this gain? It seems like the Sign Scrambler expects as inputs the (-3, -1, 1, 3) symbol values in float format so I assume I would type convert and Map the dibits before giving them to the scrambler. But if I don't use the hard decision and keep the soft decisions, what would be the best way to go from complex form to floats? Thanks! bitwise bill