These are from a gmsk mod/demod pair, showing the output of the TX's gaussian filter (blue) overlaid with the output of the RX's fmdemod (red). BT =
0.35.
At 8 samples per symbol, everything looks ok. Red is pretty much right on top of blue, as we'd expect. As I increase samples per symbol, however, something strange happens, shown in plot sequence. The RX's fmdemod output gets successively more "glitchy".
If I (in python) do the same thing that gr_quadrature_demod_cf is doing in C, ie:
def fm_quadrature_demod(re, im, gain): num_c = min(len(re),len(im)) out = [] for i in range(1,num_c):
prod = complex(re[i],im[i])*(complex(re[i-1],im[i-1]).conjugate()) out.append(gain*atan2(prod.imag, prod.real)) return out
the glitches do not exist. This tells me that TX fmmod output is fine. Something is going wonky as gr_quadrature_demod_cf does its work. Any ideas? Is this a problem with the scheduler?
Code attached (incidentally, I tried using the old style flowgraph, without hier_block2 / top_block, glitches were still present).