See the Wiki section of this repository for a list of related papers and MATLAB Live Scripts explaining some of the details of the software design.
git clone https://github.com/michelbarbeau/gr-uwspr
cd gr-uwspr
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig
Sender: To run a sender, a file in the ".c2" format must be generated first. The program "wprsim" is used to generate that file, for example:
./wsprsim VE3EMB.c2 "VE3EMB FN25 30"
This program is available in directory "examples".
The source code of "wsprsim" is available here: http://physics.princeton.edu/pulsar/K1JT/wspr.html
The program "wsprsim" generates an audio file in the ".c2" format, named "VE3EMB.c2" in this example. It has in-phase and quadrature signals.
For playing that file, there are two options.
(1) Within GNU Radio companion, load and run the flowgraph "examples/c2ToAudioSink.grc".
(2) Within GNU Radio companion, load and run the flowgraph "examples/c2ToWaveFile".
This program converts the ".c2" format into a audio file in the ".wav" format, at 12,000 samples per second. The baseband signal (in the ".c2" file ) is translated to center frequency 1,500 Hz. The output file "test.wav" can be played with any audio player. There is no need to have GNU Radio on the system on which it is played.
Receiver: To run a receiver, load and run the flowgraph "examples/AudioSourceDecode.grc".
Closed-loop simulation: A closed-loop simulation is implemented in the flowgraph "examples/WaveFilePlusNoiseDecode.grc". It connects a sender and a noise source to a receiver.
Note: Paths to local files in "Wav File Source" blocks must be updated according to your local installation.
Watch the following demo on Youtube.