Skip to content

Latest commit

 

History

History
40 lines (28 loc) · 1.62 KB

MANIFEST.md

File metadata and controls

40 lines (28 loc) · 1.62 KB

gr-bbc

Use Baird Bahn and Collins' algorithm (BBC) to encode and decode signals

tags:

  • secure communications
  • codec
  • bbc

author:

copyright_owner:

dependencies:

  • gnuradio (>= 3.10.0)

repo: https://github.com/xeno00/gr-bbc
stable_release: HEAD


This project implements Baird, Bahn, and Collins' BBC codec in GNURaduio See the GRCon22 events page for background information and use-case explanation. If you want, watch our GRCon22 presentation, here.

The BBC algorithm assumes an asymmetric Z channel, where a mark (bit with value 1) can be added, but cannot be removed. Naturally, OOK is a straightforward implementation for such a channel.

These blocks conduct BBC encoding/decoding before physical-layer transmission/reception.

  • bbc_encoder encodes a byte message by hashing substrings and placing marks in a psuedo-random location within the codeword
  • bbc_decoder reverses the process by using an iterative substring reconstruction process

Some examples of use-cases for BBC are included, - bbc_gr_base.grc: demonstrates encoding/decoding to reproduce an encoded message. The most basic use case. - bbc_gr_ook.grc: Combines bbc_gr_base.grc with OOK modulation for TX/RX testing - bbc_gr_ook_fhss.grc: Simulates a low-bandwidth BBC-encoded OOK signal that triggers a frequency hop for another signal