# Drohnen-Erkennung durch akustische Signaturen auf ESP32-S3
Der ESP32-S3 mit dem ICS-43434 I2S-Mikrofon ermöglicht die Erkennung von Quadcoptern für nur 15 $. Der Goertzel-Algorithmus analysiert charakteristische Propellerfrequenzen lokal, ohne Cloud-Dienste. Dies löst die typischen Latenz- und Abhängigkeitsprobleme externer Infrastrukturen, wie sie bei Radars oder serverbasierten ML-Modellen vorkommen.
Quadcopter erzeugen vorhersagbare Geräusche in engen Frequenzbändern. Der Goertzel-Filter extrahiert diese Signale effizient aus dem I2S-Audiostrom und minimiert die Rechenlast. Der ESP32-S3 bewältigt die Echtzeitverarbeitung dank seines Dual-Core-Prozessors und DSP-Instruktionsunterstützung.
So funktioniert der Goertzel-Algorithmus
Der Goertzel-Algorithmus ist eine optimierte DFT für eine einzelne Frequenz. Er benötigt weniger Ressourcen als FFT und eignet sich ideal für eingebettete Systeme. Die rekursive Filterformel:
$$ Q_k = x(n) + 2 \cos(2\pi k / N) \cdot Q_{k-1} - Q_{k-2} $$
Dabei ist $k$ die Zieltemperatur, $N$ die Fenstergröße. Ein Leistungspeak bei $k$ deutet auf eine Drohne hin.
Die ESP32-Implementierung umfasst Audio-Buffering (16 kHz, 16-Bit), Anwendung des Filters auf ein gleitendes Fenster von 1024–4096 Samples. Der Trigger-Schwellwert ist über Kalibrierung einstellbar.
Vergleich mit Alternativen
- Radars: Kosten ab 100 $, hoher Stromverbrauch, erfordern Frequenzzulassungen.
- Cloud ML (Azure/AWS): Netzwerkabhängigkeit, 100–500 ms Latenz, Datenschutzrisiken.
- TensorFlow Lite / ESP32-NN: Erfordern Modelltraining, 50–200 KB RAM, schwieriger zu debuggen.
- Goertzel auf ATtiny85: Läuft auf 8-Bit-MCU mit 8 KB Flash, aber kein I2S – ADC nötig.
Der Goertzel-Algorithmus siegt durch Einfachheit: 1–2 KB Code, <10 % CPU bei 240 MHz.
Praktische Umsetzung und Kalibrierung
Schaltplan: ESP32-S3-WROOM + ICS-43434 (I2S: BCLK=GPIO4, WS=GPIO5, DATA=GPIO6). Versorgung 3,3 V, Verbrauch ~100 mA.
Kalibrierung:
- Aufnahme der Basis-Umgebungsgeräusche (Stadt, Wald).
- Identifizierung der Drohnenfrequenzen (typisch 150–300 Hz für Propeller).
- Schwellwert setzen: power_k > 10 * baseline.
Schutz vor Störungen:
- Schaumstoff-Windschutz am Mikrofon (reduziert Windgeräusche um 20 dB).
- Richtungsakustischer Verstärker (wie historische "Kriegstrompeten").
- Tiefpassfilterung (<100 Hz), um Verkehr auszuschließen.
Erkennungsreichweite: 50–200 m in ruhigen Umgebungen, abhängig von Drohnenleistung und Wind.
Perspektiven für ML-Integration
ESP32-S3 unterstützt ESP-DL und TensorFlow Lite Micro. Ein leichtes CNN (10–50 KB) kann Spektrogramme klassifizieren, um Drohnenarten zu erkennen. Für Mittel- bis Senior-Entwickler ist der einfache Goertzel jedoch ein toller Einstieg: leicht zu prototypen und auf mehrere Frequenzen skalierbar.
Test: SNR-Vergleich bei realen Aufnahmen (DJI Mavic – Peaks bei 180/220 Hz).
Wichtige Erkenntnisse
- Der Goertzel-Algorithmus ermöglicht Echtzeitanalyse auf ESP32 ohne Cloud.
- Kosten < 15 USD, kompatibel mit ATtiny für ultrakompakte Lösungen.
- Umgebungsspezifische Kalibrierung ist essenziell, um Fehlalarme zu reduzieren.
- Reichweite 50–200 m, verbessert durch Richtungsverstärker.
- Zukunft: ESP-NN für Drohnenartenklassifikation.
— Editorial Team
Noch keine Kommentare.