- Notifications
You must be signed in to change notification settings - Fork3
Simulation of Digital Communication in Python
License
NotificationsYou must be signed in to change notification settings
pdadial/pyComm
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 bydchutchings of University of Glasgow