Skip to content

A Python-based project simulating wireless data transmission using visual signals, where black and white monitor screens represent binary data, captured by a camera to calculate the Bit Error Rate (BER).

License

Notifications You must be signed in to change notification settings

MateusjsSilva/optical-wireless-transmission

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Optical Wireless Transmission Simulation

Description

This project simulates an optical wireless communication system where one monitor transmits binary data using colors (black as 0 and white as 1), and a camera captures the transmitted information. The captured data is analyzed to calculate the Bit Error Rate (BER), which reflects the accuracy of the transmission.

The project involves:

  • Capturing frames from a camera.
  • Detecting the predominant color (black or white).
  • Simulating the transmission of bits using visual signals.
  • Calculating the Bit Error Rate (BER) for performance evaluation.

Folder Structure

  • src/camera.py: Captures frames from the camera and detects colors.
  • src/utils.py: Contains utility functions, including the BER calculation.
  • src/main.py: Main script to execute the transmission simulation and print results.

Getting Started

  1. Clone the repository:

    git clone git@github.com:MateusjsSilva/optical-wireless-transmission.git
    cd optical-wireless-transmission
  2. Create a virtual environment:

    python -m venv venv
  3. Activate the virtual environment:

    • On Windows:
      venv\Scripts\activate
    • On macOS/Linux:
      source venv/bin/activate
  4. Install the required Python packages:

    pip install -r requirements.txt

Usage

Running the Simulation

To start the simulation, run the following command:

python receiver/src/main.py
python sender/src/main.py

Contribution

Feel free to open issues or submit pull requests. All contributions are welcome!

License

This project is licensed under the Apache License - see the LICENSE file for details.

About

A Python-based project simulating wireless data transmission using visual signals, where black and white monitor screens represent binary data, captured by a camera to calculate the Bit Error Rate (BER).

Topics

Resources

License

Stars

Watchers

Forks

Languages