Skip to content

A wireless communication channel model module for simulations.

License

Notifications You must be signed in to change notification settings

jdemel/py-channelmodel

Repository files navigation

DOI Run py-channelmodel tests

py-channelmodel

We need channel models in wireless communications research all the time. This module tries to provide a model with coherence, power delay profiles, Rayleigh fading, frequency selectivity, and MIMO.

Installation

The module is available on py-channelmodel on PyPI. Just run

pip3 install py-channelmodel

Often, it is desirable to use pip3 install --user .... Also, you need Python 3 for this module. Currently, the module is tested on Python 3.7+.

Furthermore, it is also available through conda-forge py-channelmodel. In that case, run

conda install -c conda-forge py-channelmodel

to install the module.

Usage

import channelmodel as channel

channel_factory = channel.ChannelFactory(channel_domain="time",
                                         channel_type="awgn",
                                         effective_rate=1.0)

channel = channel_factory.create(snr_db=3.0)

# use the channel object
tx = np.array([1.+1.j, -1.-1.j]) * np.sqrt(1. / 2.)  # by default SNR is defined with TX energy normalized to 1.!
rx = channel.transmit(tx)

Rationale

The intent of this module is to add a simple set of objects that one instantiates in a simulation. Thus, it should come with minimal dependencies and just provide channel model related operations.

Supported models

Obviously, this module supports AWGN channels. However, it does also support functions related to Rayleigh fading channels, Power Delay Profiles, Channel coherence, Time domain channels, frequency domain channels for multicarrier simulations, etc.

Publications

This module was developed during the research for multiple papers and thus, it is used therein. You may cite this module via DOI.

References

About

A wireless communication channel model module for simulations.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages