IW3IPD 20m PSK31 QRP transmitter
WinPsk is a program developed by AE4JY (click here to access his web site) to allow PSK31 communications using a PC and an SSB receiver/transmitter. PskCore.dll is a library containing the signal processing engine, and was developed to allow an easy development of other software for PSK31.
For my QRP transmitter, I have decided to use WinPsk and PskCore.dll due to the availability of the source files, which are licensed under the GNU GPL (LGPL for PskCore.dll). I have used WinPsk 2.13 without modifications, and a patched version of PskCore.dll 1.19.
The patch consists in changing the audio output from mono to stereo, and sending to both channels a 16kHz sinusoidal carrier having the envelope of the baseband PSK31 signal. When the baseband signal is positive, one channel (let's say L, but they can be swapped without consequences) outputs the 16kHz carrier modulated by it, while the other is muted. When the baseband signal is negative, the channels are swapped. This allows to reconstruct the original baseband signal with little distortion with the simple circuit used before the mixer: positive detector on one channel, negative detector on the other, combiner.
The modifications to the program are done with the hurry of making the transmitter work, so they are not complete. In particular, saving to .wav files probably does not work (but why should one save the transmitted signal to a .wav file?), and the modifications presently work only on PCs supporting the 48kHz sampling rate: I think this means most or all PCs.
All modifications are inside blocks #ifdef TX_PATCH_STEREO_RV
Click here to download the modified PskCore dll source files
Click here to download the modified PskCore.dll executable file, compiled in release mode