Skip to content

GNU radio Direct Sequence Spread Spectrum blocks

Notifications You must be signed in to change notification settings

kantooon/gr-dsss

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GNU radio Direct Sequence Spread Spectrum blocks with examples

This repository contains two blocks: dsss_encoder_bb and dsss_decoder_cc which can be used to set up a DSSS PSK transceiver (currently only BPSK has been tested to work).

Spreading codes can be specified as bit vectors (C++) or lists (Python). Included are GRC examples for using Barker codes and pseudonoise codes with lengths up to 1024 bits.

The DSSS encoder block takes 8 packed bits into a byte and outputs unpacked bits

  • the original bits spread with the spreading bit sequence. These spread bits can be modulated later and the chip rate will be Bit_rate_In * Spreading_sequence_length.

The DSSS decoder block takes as an input a RRC filtered complex waveform and outputs a correlation value with a mean amplitude of 1 for maximum correlation. The output of the decoder block sample rate is equal with:

input_sample_rate / (spreading_sequence_len * samples_per_symbol)

The DSSS decoder block uses a FIR filter whose length (based on spreading sequence length and the samples per symbol value) will determine what is the maximum sample rate which can be supported.

Screenshot

Installation instructions

Clone this repository then:

cd gr-dsss/
mkdir build/
cd build/
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local ..
make
sudo make install

The blocks will become available in GNU radio companion in (no module specified) / dsss.

Credits

The original author of this GNU radio module is:

Copyright 2014 Eric de Groot

With bug fixes, additions and GRC examples by:

Copyright 2019 Adrian Musceac YO8RZZ

The code is available under the GNU GPLv3 license.

About

GNU radio Direct Sequence Spread Spectrum blocks

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CMake 62.9%
  • C++ 21.1%
  • Python 14.9%
  • C 1.1%