Sign in
Ctrl K


SpeckleCn2Profiler revolutionizes satellite communication, combining SCIDAR and AI. By accurately estimating turbulence strength and refining signals, it ensures reliable performance in any environment. Dive into our repository and join the quest to transform optical links.

139 commits | Last commit 2 days ago

What speckcn2 can do for you

Python application test Coverage PyPI - Python Version PyPI FAIR checklist badge

MALES banner MALES banner


Improving Satellite Communications with SCIDAR and Machine Learning

Graphical abstract


Optical satellite communications is a growing research field with bright commercial perspectives. One of the challenges for optical links through the atmosphere is turbulence, which is also apparent by the twinkling of stars. The reduction of the quality can be calculated, but it needs the turbulence strength over the path the optical beam is running. Estimation of the turbulence strength is done at astronomic sites, but not at rural or urban sites. To be able to do this, a simple instrument is required. We want to propose to use a single star Scintillation Detection and Ranging (SCIDAR), which is an instrument that can estimate the turbulence strength, based on the observation of a single star. Here, reliable signal processing of the received images of the star is most challenging. We propose to solve this by Machine Learning.

Project Goals

The primary objectives of this project are:

  1. Turbulence Strength Estimation: Develop a robust algorithm using Machine Learning to estimate turbulence strength based on SCIDAR data.

  2. Signal Processing Enhancement: Implement advanced signal processing techniques to improve the accuracy and reliability of turbulence strength calculations.

  3. Adaptability to Various Sites: Ensure the proposed solution is versatile enough to be deployed in diverse environments, including rural and urban locations.

Repository Contents

This repository contains:

  • Machine Learning Models: Implementation of machine learning models tailored for turbulence strength estimation from SCIDAR data.

  • Signal Processing Algorithms: Advanced signal processing algorithms aimed at enhancing the quality of received star images.

  • Dataset: Sample datasets for training and testing the machine learning models.

  • Documentation: In-depth documentation explaining the methodology, algorithms used, and guidelines for using the code.

Getting Started

To get started with the project, follow these steps:

  1. Install the package:
    python -m pip install git+

while the above command works, speckcn2 will be available on pypi as soon as its dependencies get updated.

  1. Explore the Code: Dive into the codebase to understand the implementation details and customize it according to your needs.

Contribution Guidelines

We welcome contributions to improve and expand the capabilities of this project. If you have ideas, bug fixes, or enhancements, please submit a pull request. Check out our Contributing Guidelines to get started with development.


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

Logo of speckcn2
No keywords available
Programming languages
  • Python 98%
  • Nix 2%
Not specified
</>Source code

Related projects


Machine Learning for Single Star Scidar

Updated 1 month ago
In progress