This project implements a Simple Instantly Decodable Network Coding (S-IDNC) system. It simulates the transmission of packets between a sender and multiple receivers, using network coding techniques to improve efficiency and reliability.
- Packet Creation: Generates a set of packets from source data.
- Receiver Simulation: Simulates multiple receivers with the ability to track received packets.
- Network Coding: Implements S-IDNC to encode and transmit packets efficiently.
- Error Simulation: Simulates packet loss during transmission.
main.c
: The main entry point of the program, orchestrating the packet transmission and reception.Sender.c/h
: Contains functions related to packet creation and encoding.Receiver.c/h
: Contains functions and structures for simulating receivers.Symbol.c/h
: Defines the data structures and functions for handling symbols and packets.
- A C compiler (e.g., GCC)
- CMake for building the project
-
Clone the repository:
git clone https://github.com/yourusername/s-idnc.git cd s-idnc
-
Build the project using CMake:
mkdir build cd build cmake .. make
After building, you can run the program using:
./s-idnc
- Number of Packets: The number of packets per group is fixed at 32.
- Number of Receivers: The default is set to 10, but can be adjusted in
main.c
.
Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License - see the LICENSE file for details.
- This project is inspired by network coding research and aims to provide a simple implementation for educational purposes.