DEMODULATING BPSK31 WITH OPAMPS and 555S
BPSK31 is an very popular mode for amateur radio operators; it’s efficient and has a narrow bandwidth and can be implemented with a computer sound card or an Arduino. just like it says on the tin, it’s phase shift keying, and a proper implementation uses a phase detection circuit or something similar. [Craig] thought it would be fun to build an analog BPSK31 demodulator and hit upon the idea of doing this with amplitude demodulation. No, this isn’t the way you’re meant to do it, but it works.
Data is transmitted by means of BPSK31 with a phase shift of 180 degrees being a binary 0, and no phase shift being a binary 1. [Craig]’s circuit uses an op-amp and a pair of diodes to do a full wave rectification of the signal, which generally makes a binary 1 logic high, and binary 0 logic low.
This rectified signal is then fed into a comparator, making the output go high when the signal is above 2V, and low when the signal is below 1V. That’s all you need to do to get bits out of the signal, all [Craig] had to do after that was figure out a way to sample it.
A 555 set up in astable mode running at 31.25 Hz supplies the clock, synchronized with the signal by connecting the comparator’s output to the 555 activate input. The timer clock ends up being slightly slower, but thanks to the varicode character set, the maximum number of binary ones the circuit will see is nine; whenever the activate sees a zero, the timer’s activate is reset, re-synchronizing the receiver’s clock.
Yes, it’s a hack, and no, this isn’t how you’re meant to receive PSK. It does, however, work, and you can thank [Craig] for that.