Skip to content

Latest commit

 

History

History
65 lines (42 loc) · 3.93 KB

README.md

File metadata and controls

65 lines (42 loc) · 3.93 KB

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