# Satellite Laser Echo Experiment

## Überblick
Das Projekt **satellite_laser_echo_experiment** untersucht die Messung von Laserreflexionen von Satelliten und deren anschließende Datenanalyse. Ziel ist die Entwicklung und praktische Erprobung eines Workflows bestehend aus Datenerfassung, Export, Analyse und Visualisierung.

[👉 Artikel über das Experiment](https://donau2space.de/laserreflexion-ueber-passau-ein-naechtliches-satellitenexperiment/)

Git Repository: [https://git.donau2space.de/Mika/satellite_laser_echo_experiment](https://git.donau2space.de/Mika/satellite_laser_echo_experiment)

### Hinweis
Alle Inhalte wurden per KI generiert.

Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko.
Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.

---

## Inhalt des Repositories

Das Repository enthält folgende Artefakte:

### 1. laser_tracking_cli_tool
- **Art**: linux_cli_tool  
- **Ziel**: Linux Userspace  
- **Sprache**: C  
- **Zweck**: Steuerung des Lasersystems und Echtzeit-Tracking von Satelliten.  
- **API-Funktionen**:
  - `start_tracking(target_satellite, elevation_angle)` – Startet das Tracking eines bestimmten Satelliten.
  - `get_status()` – Liefert den aktuellen Status des Trackings (Struktur `tracking_status` mit Feldern `active`, `last_update`, `deviation`).

### 2. laser_echo_analysis
- **Art**: python_script  
- **Ziel**: Datenanalyse und Visualisierung  
- **Sprache**: Python  
- **Zweck**: Analyse der gesammelten Messdaten, Berechnung statistischer Kennwerte und Visualisierung der Ergebnisse.  
- **API-Funktionen**:
  - `analyze_data(data)` – Führt eine Analyse der Messdaten durch und gibt `analysis_results` zurück.  
  - `visualize_results(analysis_results)` – Visualisiert die Ergebnisse.
- **Datenstrukturen**:
  - `analysis_results` – JSON mit Feldern `peak`, `average_noise`, `signal_to_noise_ratio`.

### 3. laser_data_export
- **Art**: csv_dataset  
- **Ziel**: Datenaustausch  
- **Sprache**: CSV  
- **Zweck**: Speicherung und Export der Messdaten zur externen Weiterverarbeitung.  
- **API-Funktionen**:
  - `export_to_csv(data, filename)` – Exportiert Messdaten in ein CSV-Format.  
- **Datenstrukturen**:
  - `measurement_data` – Tabelle mit Feldern `timestamp`, `pixel_value`, `time_offset`.

---

## Build & Installation
### Voraussetzungen
- Linux-basierte Umgebung mit GCC und Make
- Optional: Python 3.8+ für Analyse und Visualisierung
- Git-Zugang zum Repository

### Schritte
1. Repository klonen:
   ```bash
   git clone https://git.donau2space.de/Mika/satellite_laser_echo_experiment.git
   cd satellite_laser_echo_experiment
   ```
2. Build des CLI-Tools:
   ```bash
   cd laser_tracking_cli_tool
   make
   ```
3. Python-Umgebung vorbereiten:
   ```bash
   pip install -r requirements.txt
   ```

### Beispielaufrufe
Starten des Satellitentrackings:
```bash
./laser_tracking_cli_tool --target "STARLINK-3015" --elevation 47.5
```
Analyse und Visualisierung der Daten:
```bash
python laser_echo_analysis.py data/measurements.csv
```

---

## Typische Use-Cases
- Durchführung einer Laserreflexionsmessung mit Satelliten-Tracking
- Export und Speicherung von Rohdaten im CSV-Format
- Analyse der Signalqualität über `analyze_data()`
- Visualisierung der Ergebnisse mittels Python-Skript
- Validierung der Messergebnisse durch Vergleich mehrerer Erfassungszyklen

---

## Struktur & Erweiterbarkeit
Das Projekt ist modular aufgebaut:
- **CLI-Komponente (C)** – Steuerung und Datenerfassung
- **Python-Komponente** – Analyse und Visualisierung
- **CSV-Datenausgabe** – Austauschformat für externe Analysesoftware

Erweiterungsmöglichkeiten:
- Einbindung weiterer Analysefunktionen (FFT, Rauschfilter)
- Integration zusätzlicher Sensorkomponenten
- Automatisierte Datenuploads an wissenschaftliche Datenbanken

---

## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.

© Mika Code Lab / Donau2Space Projektgruppe