This project simulates data transmission using various error correction codes and channel models. The main goal is to analyze the performance of different error correction codes over different channel conditions.
project/
│
├── codes/
│ ├── __init__.py
│ ├── bch.py
│ ├── ldpc.py
│ └── reed_solomon.py
│
├── channels/
│ ├── __init__.py
│ ├── bsc.py
│ └── gilbert_elliott.py
│
├── simulation/
│ ├── __init__.py
│ └── simulate.py
│
└── main.py
To install the required dependencies, run:
pip install -r requirements.txtTo run the data transmission simulation, execute the main.py script:
python main.py- BCH Code: Implementation of BCH encoding and decoding.
- LDPC Code: Implementation of LDPC encoding and decoding.
- Reed-Solomon Code: Implementation of Reed-Solomon encoding and decoding.
- BSC Channel: Binary Symmetric Channel model.
- Gilbert-Elliott Channel: Gilbert-Elliott Channel model.
- simulate.py: Manages the interaction between modules, runs simulations, and collects results.
Here is an example of how to use the simulation:
- Get user input for the data to be transmitted.
- Choose the transmission channel (BSC or Gilbert-Elliott).
- Choose the error correction code (Reed-Solomon, Hamming, BCH, or LDPC).
- Encode the data using the chosen error correction code.
- Transmit the encoded data through the chosen channel.
- Decode the received data.
- Analyze the results, including the number of bit errors and the Bit Error Rate (BER).