I made this change:
diff --git a/src/float_to_bits.c b/src/float_to_bits.c index 08fad54..4547ffe 100644 --- a/src/float_to_bits.c +++ b/src/float_to_bits.c @@ -113,7 +113,7 @@ int main(int argc, char **argv) exit(1); } else if (rc == 0) break; - rc = process_sym_fl(0.3f, fl); + rc = process_sym_fl(0.0f, fl); sym_int2bits(rc, bits); //printf("%2d %1u %1u %f\n", rc, bits[0], bits[1], fl); if (opt_verbose)
Which improved decoding rate on correctly tuned captures. I think this 0.3 offset is an oversight that will generally increase BER.
In other news, I have gotten my own GPU (openCL) assisted demodulator working, I am thinking about decoding multiple carriers concurrently with this code, but I think the gnu_radio demodulator has an edge with regards to BER, especially if the offset is set to 0.0f :-)
Cheers, Frank