Digital communication simulation in Python.
-
- Transmission and reception over a noisy (AWGN) channel with signal-to-noise ratio from 0 to 9dB.
- Parity test at the receiver: if the received data is different from parity setting at the transmitter do an automatic-repeat-request and retransmit the word.
- Determine bit error rate.
- Plot I-Q constellation diagram.
-
-
Simulation over a noisy channel using QPSK.
-
Determine bit error rate.
-
Coding and decoding using (n,k) BCH codes.
m n k t 3 7 4 1 4 15 5 3 5 31 6 7 6 63 16 11 -
Coding and decoding using convolutional code using soft(or)hard decoding.
-
-
- BPSK modulation/demodulation.
- Carrier Recovery using Costas Loop.
- Implement differential coding to deal with any ambiguity in the recovered data.
pip install komm
Anaconda enviroment recommended
git clone https://github.com/pdadial/pyComm.git
-
- Run sim_mod.py specifing one of the modulation schemes:
BPSK
,QPSK
,4-QAM
,16-QAM
,256-QAM
python sim_mod.py --scheme QPSK
- Run sim_mod.py specifing one of the modulation schemes:
-
- Run bch_codes.py specifing
-m
and-t
values for corresponding (n,k) BCH code.
python bch_codes.py -m 3 -t 1
- Run conv_codes.py specifing decoding decision method (soft/hard).
python conv_codes.py -d soft
- Run bch_codes.py specifing
This project was part of the course Digital Communication, taught by dchutchings of University of Glasgow