Komm¶
Welcome to Komm’s documentation page!
Komm is an open-source library for Python 3 providing tools for analysis and simulation of analog and digital communication systems. This project is inspired by—but is not meant to be compatible with—the MATLAB® Communications System Toolbox™. Other sources of inspiration include GNU Radio, CommPy, and SageMath. Komm is licensed under the GNU General Public License v3.0.
For installation instructions and source code, please check the project’s development page at GitHub.
This software is still under development. Contributions are very welcome!
Algebra¶
Binary polynomial. |
|
Binary polynomial fraction. |
|
Finite field with binary characteristic. |
|
Rational polynomial. |
|
Rational polynomial fraction. |
Channels¶
Additive white gaussian noise (AWGN) channel. |
|
Discrete memoryless channel (DMC). |
|
Binary symmetric channel (BSC). |
|
Binary erasure channel (BEC). |
Error control¶
Block coding¶
General binary linear block code. |
|
Hamming code. |
|
Simplex (maximum-length) code. |
|
Binary Golay code. |
|
Repetition code. |
|
Single parity check code. |
|
Cordaro–Wagner code. |
|
Reed–Muller code. |
|
General binary cyclic code. |
|
Bose–Chaudhuri–Hocquenghem (BCH) code. |
Convolutional coding¶
Binary convolutional code. |
|
Convolutional stream encoder. |
|
Convolutional stream decoder using Viterbi algorithm. |
|
Terminated convolutional code. |
Finite-state machine¶
Finite-state machine (Mealy machine). |
Modulation¶
Real modulation schemes¶
General real modulation scheme. |
|
Pulse-amplitude modulation (PAM). |
Complex modulation schemes¶
General complex modulation scheme. |
|
Amplitude-shift keying (ASK) modulation. |
|
Phase-shift keying (PSK) modulation. |
|
Amplitude- and phase-shift keying (APSK) modulation. |
|
Quadratude-amplitude modulation (QAM). |
Pulse formatting¶
Pulses¶
Rectangular pulse. |
|
Manchester pulse. |
|
Sinc pulse. |
|
Raised cosine pulse. |
|
Root raised cosine pulse. |
|
Gaussian pulse. |
Filtering¶
Transmit filter. |
|
Receive filter [Not implemented yet]. |
Quantization¶
General scalar quantizer. |
|
Lloyd–Max scalar quantizer [Not implemented yet]. |
|
Uniform scalar quantizer. |
Sequences¶
Binary sequences¶
General binary sequence. |
|
Barker sequence. |
|
Walsh–Hadamard sequence. |
|
Linear-feedback shift register (LFSR) sequence. |
|
Gold sequence [Not implemented yet]. |
|
Kasami sequence [Not implemented yet]. |
Other sequences¶
Zadoff–Chu sequence [Not implemented yet]. |
Source coding¶
Sources¶
Discrete memoryless source (DMS). |
Lossless coding¶
Binary (prefix-free) fixed-to-variable length code. |
|
Huffman code. |
|
Binary (prefix-free) variable-to-fixed length code. |
|
Tunstall code. |
Utilities¶
Converts a bit array to its integer representation. |
|
Converts an integer to its bit array representation. |
|
Packs a given integer array. |
|
Unpacks a given bit array. |
|
Computes the gaussian Q-function. |
|
Computes the inverse gaussian Q-function. |
|
Computes the entropy of a random variable with a given pmf. |