Run tests


This package aims to provide some usefull tools to manipulate digital communication blocks in Julia. Currently, the package support the following elements

  • Bit manipulation
    • Generation of random binary sequence
    • Conversion between binary sequences and octal sequences
    • Non Return to Zero Inverted (NRZI) encoding and decoding
  • Modulation // demodulation
    • Quadrature Amplitude Modulation (QAM) with 4-QAM (QPSK), 16-QAM, 64-QAM and 256-QAM.
    • Hard demapper for the x-QAM formats
    • Max log Soft demapper for the x-QAM formats
  • Single carrier pulses shapes
    • Raised Cosine pulse shape
    • Square root raised Cosine pulse shape
  • Multicarrier Waveform generation and decoding
    • Support of multicarrier Waveforms: OFDM, UF-OFDM, WOLA, BF-OFDM


The package can be installed with the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and run:

pkg> add DigitalComm

Or, equivalently, via the Pkg API:

julia> import Pkg; Pkg.add("DigitalComm")


  • STABLEdocumentation of the most recently tagged version.


  • v1.2 : Adding NRZ encoding and decoding scheme