PSK31 Modulator
Page last updated
08 Nov 2010, by
Chris ZL2CCO.
2
replies
Overview
PSK31 is a digital mode used in amateur radio for two way communications. Here is a summary of what PSK31 is (from the official web site http://aintel.bi.ehu.es/psk31.html):
- PSK31 is a new digital mode designed by Peter G3PLX that betters SLOWBPSK, an idea and implementation of Pawel SP9VRC
- Based on the RTTY mode of operation,
- useful for live keyboard to keyboard QSO that works at 31.25 bauds,
- that uses varicode character coding that gives 50wpm,
- easy to use and monitor,
- that give very good copy under low Eb/No numbers and is thus suitable for QRP,
- that instead of using FSK or on/off keying uses BPSK or QPSK with a Viterbi decoder,
- uses advanced DSP and narrow band (31 Hz!!) techniques.
So, why would you spend most of a Sunday coding and debugging a mode that goes only 31.25 bauds! Well here is my reasons:
- It is one way to become familiar with mbed.
- It is really cool seeing your messages popping up on the laptop when you get it right.
- I do not need higher rates for my intended applications - beacon, remote monitoring, etc.
- It gives me an opportunity to play around with the idea of controlling radio beacons remotely!
- It is also a test bed for other ideas I would like to test.
Current Status
I have reinvented the wheel and developed the modulator algorithm from scratch based on the information available from Moe AE4JY's site,
here. The algorithm works well, with the exception of some splattering on the frequency spectrum which I still need to address. I have tested the algorithm using
fldigi and it works.
In hindsight, reinventing the wheel was a mistake and I should have just migrated the existing open code available on the Web. This will be a future challenge when I attempt a PSK31 demodulator.
Hardware
The PSK31 modulator uses the D/A converter on the mbed board to produce a PSK31 modulated message at 500Hz. The signal was fed into my sound card and decoded using fldigi. Very simple. However, I will need to improve this with buffer/isolation circuitry (possibly one reason for the spectrum splattering).
Software
The algorithm uses the Ticker object to provide the timing requirements of PSK31 and lookup tables to generate the carrier signal. Currently, it transmit a fix message.
Next steps for this project
Chris, are you still working on this project?
I would be very interested do decode PSK31 signals with the mbed.
vy 73 de Hermann AJ4ZS / DL8MCP
Chris, are you still working on this project?
I would be very interested do decode PSK31 signals with the mbed.
vy 73 de Hermann AJ4ZS / DL8MCP
Hi Hermanne,
Me too:-) I have done the coding side successfully and tested this by direct connection to the laptop, but not the decoding of PSK31. The coding need further improvement to minimise clicking, otherwise it works.
If you are interested in PSK31 on the mbed, I would recommend you consider migrating one of the many existing code to the mbed platform. It may be easier. I will probably come back to this later this year.
73 Chris zl2cco
You need to log in to post a comment
Chris, are you still working on this project?
I would be very interested do decode PSK31 signals with the mbed.
vy 73 de Hermann AJ4ZS / DL8MCP