"D" errors after flowgraph runs for some time

I am playing with a slightly modified version of Chris K.'s
channelizer example for NOAA radio stations (my version attached). I’m

The program runs just fine for the first 20-30 minutes on my I7-4710HQ
laptop. System monitor shows typically one core running at about 50%
with the others ranging from idling to 30%. Only a fraction of system
memory is used. The laptop is wired to a USRP2/WBX via GigE switch, and
is showing about 5MIB/s of incoming data when the flowgraph is running.

But after 20-30 minutes I start to get a string of "D"s on the console,
and while the program keeps decoding audio, the signal strength drops by
40dB or more.

When I first started playing with Chris’ example, I also had a string of
"D"s immediately upon startup which I cured by turning on realtime
scheduling. It appears that just moved the problem off into the future.

I am guessing this is some sort of buffer exhaustion or similar problem.
Any suggestions on how to address is?


I think I may have found the problem. The NBFM output rate was 25ksps
while the audio sink was 24ksps. So there was a slow accumulation of
excess samples. That also explains some gaps I saw in the channel
output waterfall.

Adding a rational resampler to the NBFM block output seems to have
cleaned things up. Revised .grc file attached.


Hi John,
sounds like excellent work! Just to point you at a nice tool: If you can
build a recent GNU Radio with control port and performance counters
enabled, you can introspect things like buffer fillage with a GUI, which
can be extremely handy in such cases.

Best regards,