patel999jay / gr-uwspr

Low Frequency and Weak Signal Underwater Communications in GNU Radio.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Low Frequency and Weak Signal Underwater Communications in GNU Radio.

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.

Copyright 2019 Michel Barbeau, Carleton University.

Author: Michel Barbeau

Version: February 22, 2019


Latest build on GNURadio 3.8, updated by Jay Patel on June 26, 2020.

Installing

git clone https://github.com/patel999jay/gr-uwspr.git

Note : This is just fork of the original repo : https://github.com/michelbarbeau/gr-uwspr . Please refer the same for more details.

Building

cd gr-uwspr

mkdir build

cd build

cmake -DENABLE_DOXYGEN=OFF -DGNURADIO_ALL_INCLUDE_DIRS=/usr/include/gnuradio/swig ../

make

make test 

ctest

GRC

  • YAML instead of XML

gr-utils

  • gr_modtool now vastly improved

Removed

project scope
  • Modules gr-comedi, gr-fcd and gr-wxgui are gone.

gr-digital

  • python-based packet_encoder and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we’re removing it
cd ..

gr_modtool makeyaml c2file_source_impl

gr_modtool makeyaml c2file_source_impl

gr_modtool makeyaml FDR

gr_modtool makeyaml sliding_window_stream_to_pdu_impl

gr_modtool makeyaml sync_and_demodulate_impl

gr_modtool makeyaml WSPR_unpacker_impl

make

sudo make install

sudo ldconfig

Running

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".

c2ToAudioSink Example

(2) Within GNU Radio companion, load and run the flowgraph "examples/c2ToWaveFile".

c2ToWaveFile Example

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".

AudioSourceDecode Example

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.

WaveFilePlusNoiseDecode Example

Note: Paths to local files in "Wav File Source" blocks must be updated according to your local installation.

Watch the following demo on Youtube.

Demo

About

Low Frequency and Weak Signal Underwater Communications in GNU Radio.


Languages

Language:C++ 50.0%Language:CMake 37.2%Language:C 8.6%Language:Python 4.2%