This seems like a bug, but I want to check first that I’m not having
unreasonable expectations. I’m using GNU Radio 3.7.2.
If the amplitude of the input to quadrature_demod_cf is less than about
10^(-2.23), then the output samples are zero instead of the demodulated
Since such an exponent is well within the range for (complex)
single-float samples, this seems like a problem with the arithmetic used
I noticed it because my analog FM receiver would produce complete
silence instead of static, despite not having any squelch enabled;
unfortunately, it also produces silence on weak signals that would
otherwise be intelligible. I have a notion that this did not occur in
older GNU Radio versions (e.g. 3.6) but I’m not in a good position to
test exactly where the problem might have been introduced.
I’ve attached a GRC flowgraph for experimenting with the behavior, and a
screenshot of what the demodulated output looks like just at the
threshold of failure (the signal is 200 samples per cycle).