Skip to main content

Routines to simulate communication systems

Project description

scikit-comm: simulation toolbox for communication systems

This python package contains a collection of DSP routines and algorithms to perform numerical simulations on simple communication systems. Its functionality is divided into transmitter, channel, and receiver subsystems and - at its current state - contains very limited functionalities.

This project was initially started by Lutz Molle and Markus Nölle at the University of Applied Sciences (HTW), Berlin.

Installation

Installation via pip

The current stable version of this package can be installed via pip using the following command

pip install scikit-comm

Installation from GitLab repository

Further, the current development status can be installed by cloing the repository and installing locally via pip using the following commands

git clone https://gitlab.com/htw-ikt-noelle/scikit-comm.git
cd scikit-comm

and then either regular install with

python -m pip install ./

or install in "editable" mode with

python -m pip install -e ./

Sources of information

The documentation can be found at Readthedocs, while the code is hosted at GitLab.

General overview and first steps

The 'signal' object

The 'signal' object can be seen as the 'heart of the toolbox'. It contains all information to describe a modulated data signal. The object can consist of multiple 'dimensions', while each dimension represents in general a two dimensional (or complex) data signal. The structure looks as follows:

def Signal:    
  self.n_dims
  self.samples
  self.center_frequency
  self.sample_rate
  self.bits
  self.symbols
  self.symbol_rate
  self.modulation_info
  self.constellation

Many modules and methods take this signal object as input or output variables. Others in contrast take only a subset of the signal attributes (e.g. the sampled signal (sig.samples)) as input or output.

Package structure

Besides the signal object, there are multiple other modules avaialable, which provide different functionalities for the simulation of a communication system:

Module Description
skcomm.channel basic function to emulate a transmission channel
skcomm.filters method to filter a discrete signal
skcomm.instrument_control methods to communicate with laboratory equipment
skcomm.pre_distortion methods to perform identification and pre-distortion of linear systems
skcomm.rx receiver (dsp) subfunctions
skcomm.tx transmitter (dsp) subfuntions
skcomm.utils utility functions (mostly used by other methods)
skcomm.visualizers methods to visualize the data signal

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scikit_comm-0.1.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scikit_comm-0.1.0-py3-none-any.whl (128.0 kB view details)

Uploaded Python 3

File details

Details for the file scikit_comm-0.1.0.tar.gz.

File metadata

  • Download URL: scikit_comm-0.1.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for scikit_comm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3065a3ac4b2bee0fdda6cee62a6192322983eff949374457b3af7165cd2fde5e
MD5 7652a15c298119042f0caba0e925b5c3
BLAKE2b-256 67b0731e8cb4391a0a3411bb89d6a4f87b6f9db025eca1c01710373380a7b7f0

See more details on using hashes here.

File details

Details for the file scikit_comm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: scikit_comm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 128.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for scikit_comm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccde08935ad7fc35fad9e704e05c2f0dbdb4f72b5e7b232ed3bfe0d5b9eb4873
MD5 f3a3f7c33344f3c88421ff9870e0788d
BLAKE2b-256 9e7457ea5a1a749afc8a7ea11884ec72b4a8c5769031c4318aaca2a8cf2f9a7d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page