Python 802.11ad (WiGig) component definitions, including:
- Constellation mapper
- Constellation demapper (optimal, sub-optimal, and decision threshold algorithms)
- LDPC encoder
- LDPC decoder (min-sum and sum-product algorithms)
- Scrambler / descrambler
- AWGN channel (noise based on desired EbNo input value)
Numba JIT was used where possible to reduce execution times.
pip3 install .
Unit tests are included to verify the conformity of individual components.
The following commands will attempt to run the package contained withing this directory (not an installed instance).
python3 -m unittest discover -s Tests/ -p '*TestCase.py'
- Go to
Run > Edit Configurations
- Click Add new configuration (+)
- Navigate and click
Python tests > Unittests
- Select target folder (script path):
Tests
or any of its subdirectories - Enter Pattern
*TestCase.py
- Run
For more configuration options, view PyCharm docs on unit testing.
Go to Run > Edit Configurations > Python tests > [test name]
and add the Pattern *TestCase.py
Go to CTRL + ALT + S > Tools > Python Integrated Tools
and select Unittests
as the Default test runner
In Run > Edit Configurations > Environment
check the Working directory is the project base.
- Add an empty
__init__.py
file to each directory that contains a TestCase on the same or on a lower level. - Each file containing a TestCase needs to end with
TestCase.py