Giter VIP home page Giter VIP logo

gr-uwspr's Introduction

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

Installing

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

Building

cd gr-uwspr

mkdir build

cd build

cmake ../

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

gr-uwspr's People

Contributors

michelbarbeau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gr-uwspr's Issues

not able to compile with GNURadio 3.7

Hi,

I am trying to build gr-uwspr module with GNURadio 3.7 on Ubuntu 16, but could not be able to build it. Here is Error Snippet.

jay@jay-Inspiron-5459:~/gr-uwspr/build$ sudo make
[sudo] password for jay: 
Scanning dependencies of target gnuradio-uwspr
[  3%] Building CXX object lib/CMakeFiles/gnuradio-uwspr.dir/helpers.cc.o
[  6%] Building CXX object lib/CMakeFiles/gnuradio-uwspr.dir/c2file_source_impl.cc.o
[ 10%] Building CXX object lib/CMakeFiles/gnuradio-uwspr.dir/Fano.cc.o
[ 13%] Building C object lib/CMakeFiles/gnuradio-uwspr.dir/tab.c.o
[ 17%] Building CXX object lib/CMakeFiles/gnuradio-uwspr.dir/WSPR_unpacker_impl.cc.o
[ 20%] Building CXX object lib/CMakeFiles/gnuradio-uwspr.dir/sync_and_demodulate_impl.cc.o
[ 24%] Building CXX object lib/CMakeFiles/gnuradio-uwspr.dir/slm.cc.o
/home/jay/gr-uwspr/lib/slm.cc: In member function ‘float gr::uwspr::SLM::slmFrequencyDrift(gr::uwspr::mode_nonlinear, float, float)’:
/home/jay/gr-uwspr/lib/slm.cc:60:10: error: ‘abs’ was not declared in this scope
          );
          ^
lib/CMakeFiles/-uwspr.dir/build.make:206: recipe for target 'lib/CMakeFiles/gnuradio-uwspr.dir/slm.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-uwspr.dir/slm.cc.o] Error 1
CMakeFiles/Makefile2:135: recipe for target 'lib/CMakeFiles/gnuradio-uwspr.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-uwspr.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

Can you please point me in the right direction ?

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.