NEXUS v4.3.0 – Methodendokumentation
NEXUS v4.3.0 – Methodendokumentation: Hardware, Sensorik & Dämpfungsberechnung
Projektstatus: Validierungsphase (Januar - Oktober 2026)
Autor: Jochen Roth
Letzte Aktualisierung: 7. Februar 2026
DOI: [wird nach Zenodo-Upload ergänzt]
1. Projektziel
Das NEXUS-System (Network for Environmental eXtreme-precision Ultrasonic Sampling) ist ein mobiles Monitoring-System zur Erfassung von Mikroklima-Parametern für die bioakustische Fledermausforschung.
Kernziel: Berechnung des frequenzabhängigen atmosphärischen Dämpfungskoeffizienten α (Alpha) nach ISO 9613-1, um die tatsächliche Quelllautstärke und Reichweite von Fledermausrufen unter realen Bedingungen zu bestimmen.
2. Hardware-Spezifikationen
2.1 Steuereinheit
Mikrocontroller: Seeed XIAO ESP32S3
- Prozessor: Dual-Core Xtensa LX7, 240 MHz
- RAM: 512 KB SRAM, 8 MB PSRAM
- Flash: 8 MB
- Konnektivität: WLAN 802.11b/g/n (2.4 GHz), Bluetooth 5.0
- Betriebsspannung: 3.3V (USB-C, 5V Eingang)
Begründung der Wahl:
Kompakte Bauform (21×17,5 mm), integriertes WLAN für lokales Daten-Streaming, ausreichend Rechenleistung für ISO-Berechnungen in Echtzeit.
2.2 Umweltsensorik
BME680 (Bosch Sensortec)
Schnittstelle: I²C (0x76 oder 0x77)
Messparameter & Genauigkeit:
| Parameter | Messbereich | Genauigkeit | Auflösung |
|---|---|---|---|
| Temperatur | -40°C bis +85°C | ±0,5°C (0–65°C) | 0,01°C |
| Luftfeuchtigkeit | 0–100% rH | ±3% rH (20–80%) | 0,008% rH |
| Luftdruck | 300–1100 hPa | ±0,6 hPa (0–65°C) | 0,18 Pa |
| VOC (Gas) | 0–500 IAQ | Qualitativ | - |
Montage: Thermisch entkoppelt, ca. 12 cm Luftlinie diagonal vom XIAO entfernt (aktuell in Tupper-Dose für Witterungsschutz, siehe Hardware-Dokumentation). Verhindert Prozessorwärme-Einfluss auf Temperatur- und Feuchtemessung.
Messzyklen: Alle 8 Sekunden (fest)
VOC-Stabilisierung: 25–30 Minuten nach Systemstart erforderlich
AIR530 GPS-Modul
Schnittstelle: UART (9600 Baud)
Funktion: Präzise Zeitstempel (UTC) und Standortdaten (WGS84)
Genauigkeit: ±2,5 m CEP (Circular Error Probable)
Kaltstart: <35 Sekunden
Warmstart: <1 Sekunde
Nutzung: GPS-Zeit wird für Daten-Synchronisation mit TeensyBat-Aufnahmen verwendet. Koordinaten werden NICHT veröffentlicht (Habitatschutz).
Sparkfun Weather Meter Kit (SEN-15901)
Komponenten:
- Windgeschwindigkeit: Reed-Schalter-Anemometer (0,8–70 m/s)
- Windrichtung: Potentiometer-basiert (8 Hauptrichtungen)
- Niederschlag: Kippwaage (0,2794 mm pro Impuls)
Schnittstelle: Digitale/analoge GPIO-Pins
Zweck: Erfassung von Windeinfluss auf Rufausbreitung und Niederschlag (Fledermausaktivität bei Regen = 0).
Wichtig: Wind-Daten sind NUR bei stationären Messungen valide (siehe Abschnitt 4.2)!
2.3 Energieversorgung
Akku: 10.000 mAh LiPo Powerbank (USB-A zu USB-C)
Laufzeit: >72 Stunden (bei 240 MHz Dauerbetrieb)
Keep-Alive-Trick: Prozessor läuft bewusst mit voller Taktung, um Powerbank-Abschaltung zu verhindern (keine Auswirkung auf BME680-Messungen durch thermische Entkopplung).
2.4 Datenausgabe & Speicherung
Lokales Interface: WLAN Access Point "NEXUS_Base" (192.168.4.1)
- HTML-Dashboard mit Echtzeit-Grafiken (Chart.js)
- Parameter: Temperatur, Feuchte, Druck, α-Koeffizient (20, 40, 55, 80, 110 kHz)
Logging: microSD-Karte (CSV-Format, siehe Abschnitt 4)
Geplant: LoRaWAN-Modul für Fernübertragung (ab Phase 2)
3. Berechnungsgrundlagen
3.1 Atmosphärische Dämpfung nach ISO 9613-1
Die Schallabsorption in der Atmosphäre wird berechnet nach:
α = (1,84 × 10⁻¹¹ × (p/p₀)⁻¹ × (T/T₀)^0,5 × f²) + χ
Wobei:
- α = Dämpfungskoeffizient [dB/m]
- p = Luftdruck [hPa]
- p₀ = Referenzdruck (1013,25 hPa)
- T = Absolute Temperatur [K]
- T₀ = Referenztemperatur (293,15 K = 20°C)
- f = Frequenz [kHz]
- χ = Molekulare Absorption (O₂ und N₂, temperatur- & feuchteabhängig)
Relevanz für Fledermausrufe:
Bei 110 kHz (typisch für Rhinolophus hipposideros) kann α zwischen 0,8 dB/m (kalt/trocken) und 2,5 dB/m (warm/feucht) variieren. Bei einer Distanz von 10 Metern bedeutet das einen Intensitätsverlust von 8–25 dB!
3.2 Implementierung im NEXUS
Die Berechnung erfolgt live auf dem ESP32S3:
- BME680 liefert Temperatur (°C), Feuchte (%), Druck (hPa)
- Umrechnung in absolute Temperatur (K)
- Berechnung von α für 20, 40, 55, 80, 110 kHz
- Ausgabe auf Display & Webinterface in dB/m
Code-Sprache: C++ (Arduino Framework)
Rechenzeit: <5 ms pro Zyklus
4. Datenformat & Struktur
4.1 CSV-Logging (microSD)
Dateiname: DD-MM-YY-N.csv (z.B. 03-02-26-1.csv)
Spaltenstruktur:
Date, Time, Lat, Lon, Alt, Sats, HDOP, Temp_C, Hum, DewPoint, Pres_hPa, Gas_kOhm, Cloud, Wind_Avg_ms, Wind_Gust_ms, Wind_Dir, Wind_Dir_deg, Rain_mm, Mode, a20k, a40k, a55k, a80k, a110k
Spaltenbeschreibung:
| Spalte | Einheit | Beschreibung |
|---|---|---|
| Date | DD.MM.YYYY | Datum der Messung |
| Time | HH:MM:SS | Uhrzeit (Lokalzeit) |
| Lat | Dezimalgrad | Breitengrad (WGS84), "NoFix" wenn kein GPS-Signal |
| Lon | Dezimalgrad | Längengrad (WGS84), "NoFix" wenn kein GPS-Signal |
| Alt | m ü. NN | Höhe über Normalnull |
| Sats | Anzahl | Anzahl empfangener GPS-Satelliten (0 = kein Fix) |
| HDOP | - | Horizontal Dilution of Precision (GPS-Genauigkeit, <2 = gut) |
| Temp_C | °C | Lufttemperatur (BME680) |
| Hum | % rH | Relative Luftfeuchtigkeit (BME680) |
| DewPoint | °C | Taupunkt (berechnet aus Temp + Humidity) |
| Pres_hPa | hPa | Luftdruck (BME680) |
| Gas_kOhm | kΩ | VOC-Sensor Rohdaten (BME680, benötigt 25-30 Min Stabilisierung) |
| Cloud | Okta (0-8) | Bewölkungsgrad (manuelle Eingabe vor Start): 0 = wolkenlos, 8 = vollständig bedeckt |
| Wind_Avg_ms | m/s | Durchschnittliche Windgeschwindigkeit (nur bei Mode=Stationär valide!) |
| Wind_Gust_ms | m/s | Windböen (nur bei Mode=Stationär valide!) |
| Wind_Dir | Text | Windrichtung (N, NE, E, SE, S, SW, W, NW, ---) |
| Wind_Dir_deg | ° | Windrichtung in Grad (0-360) |
| Rain_mm | mm | Niederschlag (kumulativ seit Systemstart) |
| Mode | Text | Mobil = Transektbegehung (Wind-Daten NICHT valide) Stationär = Festes Setup (Wind-Daten valide) |
| a20k | dB/m | Atmosphärische Dämpfung bei 20 kHz (ISO 9613-1) |
| a40k | dB/m | Atmosphärische Dämpfung bei 40 kHz |
| a55k | dB/m | Atmosphärische Dämpfung bei 55 kHz |
| a80k | dB/m | Atmosphärische Dämpfung bei 80 kHz |
| a110k | dB/m | Atmosphärische Dämpfung bei 110 kHz |
Beispiel-Zeile (mit GPS-Fix):
03.02.2026,15:00:30,51.720558,8.760098,112.3,12,1.0,9.45,45.23,-1.83,988.92,8.43,8,0.0,0.0,---,0.0,0.0,Mobil,0.4536,0.7429,0.9917,1.5468,2.4686
Abtastrate: 8 Sekunden (fest)
4.2 Besonderheiten der Datenerfassung
GPS-Status
- "NoFix": Kein GPS-Signal (z.B. in Gebäuden, unter dichtem Baumbestand)
- Gültiger Fix: Mindestens 4 Satelliten erforderlich (Sats ≥ 4)
- HDOP < 2: Gute Genauigkeit (<5m horizontaler Fehler)
Messmodus-Abhängige Datenqualität
| Parameter | Mode = Mobil | Mode = Stationär |
|---|---|---|
| Temperatur, Feuchte, Druck | ✅ Valide | ✅ Valide |
| α-Koeffizienten (a20k-a110k) | ✅ Valide | ✅ Valide |
| GPS-Position | ✅ Valide (Transekt-Track) | ✅ Valide (feste Position) |
| Wind (Geschw. + Richtung) | ❌ NICHT valide (Eigengeschwindigkeit verfälscht Messung) | ✅ Valide |
| Niederschlag | ✅ Valide | ✅ Valide |
| Bewölkung (Cloud) | ✅ Valide (manuelle Eingabe vor Start) | ✅ Valide |
Wichtig: Bei der Auswertung von Transektdaten (Mode=Mobil) dürfen Windgeschwindigkeit und Windrichtung NICHT zur Interpretation der Fledermausaktivität herangezogen werden!
4.3 Frequenzauswahl für α-Berechnung
Die fünf berechneten Frequenzen decken das biologisch relevante Spektrum deutscher Fledermausarten ab:
- 20 kHz: Niedrigfrequente Arten (Nyctalus noctula, Großer Abendsegler)
- 40 kHz: Myotis-Arten, Plecotus-Arten
- 55 kHz: Eptesicus serotinus (Breitflügelfledermaus)
- 80 kHz: Pipistrellus nathusii (Rauhautfledermaus)
- 110 kHz: Rhinolophus hipposideros (Kleine Hufeisennase)
5. Kalibrierung & Qualitätssicherung
5.1 Sensor-Kalibrierung
BME680:
- Werkseitig kalibriert (Bosch Sensortec)
- Validierung gegen DWD-Wetterstation Paderborn-Lippstadt (EDLP)
- Abweichung Temperatur: <0,3°C
- Abweichung Luftdruck: <0,5 hPa
GPS-Zeitstempel:
- Synchronisation mit NTP-Server (pool.ntp.org) bei WLAN-Verfügbarkeit
- Genauigkeit: <1 Sekunde
5.2 Bekannte Limitierungen
| Aspekt | Limitation | Auswirkung |
|---|---|---|
| Windmessung | 8 Richtungen (nicht 360°) | Grobe Richtungsangabe |
| Wind bei Transekt | Eigengeschwindigkeit verfälscht Messung | Wind-Daten nur bei Mode=Stationär valide |
| GPS-Fix | Verzögerung bei Baumbedeckung | Keine Koordinaten bei dichten Habitaten |
| Temperaturgradienten | Sensor misst Punkt, nicht Raum | Mikroklima-Varianz innerhalb 1 m möglich |
| VOC-Sensor | Nicht kalibriert für spezifische Gase | Nur qualitative Luftqualität |
| Gehäuse | Provisorisches Setup (Tupper-Dose) | Keine Auswirkung auf Messgenauigkeit, finale Gehäuselösung in Entwicklung |
6. Feldeinsatz-Protokoll
6.1 Standard-Deployment
Setup-Konfiguration:
- Rig-Höhe: 200 cm (NEXUS-Plattform auf Stativ)
- Wetterstation: 240 cm über Boden
- Freie Sicht: GPS-Modul (AIR530) benötigt Himmelssicht
- Gehäuse: Tupper-Dose (witterungsgeschützt, belüftet)
Vorlauf: 30 Minuten Stabilisierungsphase
- GPS-Fix: Typisch 2–5 Minuten
- BME680 Gas-Sensor: Benötigt 25–30 Minuten für stabile VOC-Baseline
- Grund: GPS-Zeitstempel müssen mit TeensyBat-Aufnahmen synchronisiert werden (Genauigkeit <1s erforderlich)
Laufzeit: Mindestens 2 Stunden (typisch: Abenddämmerung bis Mitternacht)
Begleit-Hardware:
- TeensyBat (Rufaufnahme)
- TOPDON TS004 (Thermalkamera)
6.2 Datenvalidierung
- Cross-Check mit DWD-Daten (Temperatur, Druck)
- Plausibilitätsprüfung: α steigt mit Frequenz
- Ausreißer-Detektion: Werte außerhalb physikalisch möglicher Bereiche werden markiert
6.3 Pre-Deployment Checkliste
T-30 Min (Systemstart):
- ☐ Powerbank angeschlossen (Ladezustand >80%)
- ☐ NEXUS_Base WLAN prüfen (192.168.4.1 erreichbar?)
- ☐ GPS-LED blinkt (Satellitensuche aktiv)
- ☐ BME680 liefert erste Werte (auch wenn VOC noch instabil)
- ☐ Bewölkungsgrad (Cloud) eingegeben (0-8 Okta)
- ☐ Messmodus gewählt (Mobil / Stationär)
T-5 Min (Validierung):
- ☐ GPS-Fix vorhanden (Lat/Lon stabil)
- ☐ BME680 VOC-Wert stabilisiert (<10% Schwankung über 2 Min)
- ☐ Temperatur/Feuchte/Druck plausibel
- ☐ Wetterstation: Wind/Regen funktionsfähig (bei Stationär-Modus)
- ☐ TeensyBat GPS-Sync bestätigt
T-0 (Start Rufaufnahme):
- ☐ Beide Systeme (NEXUS + TeensyBat) laufen synchron
- ☐ CSV-Logging aktiv (microSD-Schreibzugriff prüfen)
7. Weiterführende Analysen
Die NEXUS-Daten werden kombiniert mit:
- BatDetect2-Klassifizierung (KI-basierte Artbestimmung)
- Spektrogramm-Analyse (Ruffrequenz, Rufstruktur)
- Thermalkamera-Validierung (Sichtbestätigung der Tiere)
Ziel: Rekonstruktion der ursprünglichen Rufintensität unter Berücksichtigung der atmosphärischen Dämpfung.
8. Datenpublikation & Reproduzierbarkeit
Zenodo-Upload (geplant: Oktober 2026):
- Rohdaten (CSV)
- Hardware-Schemata
- Firmware (GitHub-Link)
- Diese Methodendokumentation
Open Science:
Alle Daten werden unter CC-BY 4.0 Lizenz veröffentlicht. Nachbau des Systems ist ausdrücklich erwünscht!
9. Literatur & Standards
- ISO 9613-1:1993 – Acoustics — Attenuation of sound during propagation outdoors — Part 1: Calculation of the absorption of sound by the atmosphere
- BME680 Datasheet – Bosch Sensortec (Rev. 1.1, 2023)
- Seeed XIAO ESP32S3 Specs – Seeed Studio Wiki
- BatDetect2 – Mac Aodha et al. (2022), GitHub: macaodha/batdetect2
10. Kontakt & Projektinformationen
Blog: paderbats.blogspot.com
Daten: zenodo.org (DOI folgt nach Upload)
Beobachtungen: observation.org/users/821691
Kontakt: [Kontaktformular im Blog]
Version: 4.3.0
Letzte Änderung: 7. Februar 2026
Status: Validierungsphase, Pre-Feldsaison
Lizenz: CC-BY 4.0 (nach Publikation)

Kommentare
Kommentar veröffentlichen