I have a flow graph implementing a modem working at 9600 baud DBPSK
using a funcube dongle source block. After some experimentation I have
managed to get the demodulator to work but it isn’t quite right. It
works fine for a while a minute or two, then the bit error rate
increases markedly. Restarting the flow graph fixes this. Some type of
sampling problem perhaps but there are no error messages.
The second strange feature is the bandwidths all need to be set to
double the expected 2PI/100 figure before the DBPSK block will output
anything sensible. I must be doing something really silly but I can’t
see what it is.
The demodulator works thus - a frequency translating filter offsets by
20kHz to avoid the FCD DC spike. This together with offsetting the LO
20kHz in the opposite direction puts the wanted signal in baseband at a
sample rate of 96kb/s. A low pass filter with a decimation of 5 and a
cut-off of 5.2kHz selects the wanted DBPSK signal which feeds into the
DPSK demodulator block (BPSK and 2 samples/symbol). That produces a byte
stream containing the data.
To get it to work I need bandwidths of 0.125 rather than 0.063. Why?
I expected a decimation of 10 originally but I can see why it is 5 if
there are 2 samples per symbol. 9600 x5x2 = 96000kb/s. I also tries more
samples per symbol but I don’t see how that benefits and the only choice
would be 10.