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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scikit_comm-0.0.6.tar.gz.
File metadata
- Download URL: scikit_comm-0.0.6.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a693f826db0ec42ba345195384286710ba5e4605244bbea22e7c66eb5907d14
|
|
| MD5 |
665c63fa57e37552faa00f7ceb6016fe
|
|
| BLAKE2b-256 |
3ef240995aa66b2356095599f715543f4c2ada9c076f1fd80d0ea83f10853cac
|
File details
Details for the file scikit_comm-0.0.6-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: scikit_comm-0.0.6-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 327.8 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ec5600db5e2cef580aecdaae63a7ba863e451affbc3d2fe6cfe8ad17922068b
|
|
| MD5 |
020f6643752a9bbf7a886bb208fbb8e9
|
|
| BLAKE2b-256 |
1264c62b180da76330ad4032626c66f119228d9ec945fedc9964123d1053c5f9
|