Detekce dronů podle akustických signatur na ESP32-S3
ESP32-S3 s mikrofónem ICS-43434 I2S umožňuje detekovat kvadrokoptéry za 15 dolarů. Algoritmus Goertzel analyzuje charakteristické frekvence vrtulí lokálně, bez cloudových služeb. To řeší problémy se zpožděním a závislostí na externí infrastruktuře, typické pro radary nebo modely ML na serverech.
Kvadrokoptéry generují předvídatelný šum v úzkých frekvenčních pásmech. Filtr Goertzel efektivně extrahuje tyto signály z audio proudu I2S a minimalizuje výpočty. ESP32-S3 zvládá zpracování v reálném čase díky dvoujádrovému procesoru a podpoře DSP instrukcí.
Princip fungování algoritmu Goertzel
Algoritmus Goertzel je optimalizovaná DFT pro jednu frekvenci. Vyžaduje méně zdrojů než FFT, je ideální pro embedded systémy. Formule rekurentního filtru:
$$ Q_k = x(n) + 2 \cos(2\pi k / N) \cdot Q_{k-1} - Q_{k-2} $$
Kde $k$ je cílová frekvence, $N$ velikost okna. Špička výkonu signálu na $k$ ukazuje na přítomnost dronu.
Na ESP32 implementace zahrnuje buferování audia (16 kHz, 16 bit), aplikaci filtru na posunuté okně 1024–4096 vzorků. Prah spuštění se nastavuje kalibrací.
Srovnání s alternativami
- Radary: Cena od 100 dolarů, vysoká spotřeba energie, vyžadují licenci na frekvence.
- Cloudový ML (Azure/AWS): Závislost na síti, zpoždění 100–500 ms, rizika soukromí dat.
- TensorFlow Lite / ESP32-NN: Vyžadují trénink modelu, 50–200 kB RAM, složitější ladění.
- Goertzel na ATtiny85: Funguje na 8bitovém MCU s 8 kB flash, ale bez I2S – potřebný ADC.
Algoritmus Goertzel vítězí v jednoduchosti: 1–2 kB kódu, <10 % CPU na 240 MHz.
Praktická implementace a kalibrace
Schema: ESP32-S3-WROOM + ICS-43434 (I2S: BCLK=GPIO4, WS=GPIO5, DATA=GPIO6). Napájení 3,3 V, spotřeba ~100 mA.
Kalibrace:
- Nahrat baseline šum prostředí (město, les).
- Zaznamenat frekvence dronů (typicky 150–300 Hz pro vrtule).
- Nastavit práh: power_k > 10 * baseline.
Ochrana před rušením:
- Pěnová krytka na mikrofon (snižuje vítr o 20 dB).
- Směrový akustický zesilovač (jako v historických „vojenských trubkách“).
- Filtrace nízkých frekvencí (<100 Hz) pro vyloučení dopravy.
Dosah detekce: 50–200 m v tichém prostředí, závisí na výkonu dronu a větru.
Perspektivy integrace ML
ESP32-S3 podporuje ESP-DL a TensorFlow Lite Micro. Lehká CNN (10–50 kB) může klasifikovat spektrogramy a rozpoznávat typy dronů. Nicméně pro středně/pokročilé vývojáře je základní Goertzel výchozí bod: snadno prototypovat, škálovat na více frekvencí.
Testování: Porovnejte SNR na reálných záznamech (DJI Mavic – špičky na 180/220 Hz).
Co je důležité
- Algoritmus Goertzel zajišťuje analýzu v reálném čase na ESP32 bez cloudu.
- Cena <15 USD, kompatibilní s ATtiny pro ultra-kompaktní řešení.
- Kalibrace podle prostředí je nutná pro snížení falešných poplachů.
- Dosah 50–200 m, zlepšuje se směrovými zesilovači.
- Perspektiva: ESP-NN pro klasifikaci typů dronů.
— Editorial Team
Zatím žádné komentáře.