Ruangan punya sidik jari
Ruangan kosong menghasilkan tanda tangan CSI yang stabil — tidak konstan (radio selalu berkedip), tapi mantap secara statistik. Deteksi karenanya adalah tarian dua langkah:
- Pelajari ruangan kosong (baseline).
- Ukur jarak darinya (skor anomali).
Langkah 1: baseline
Tangkap CSI ruangan kosong selama beberapa menit sampai hari dan simpan, per subcarrier, rata-rata dan sebarannya (deviasi standar). Armada produksi menjaga baseline tetap segar dengan exponential moving average — data lama memudar, drift lingkungan pelan (suhu, kursi yang berpindah) terserap alih-alih membunyikan alarm selamanya.
Langkah 2: skor
Untuk setiap frame baru, hitung z-score per subcarrier: berapa deviasi standar dari baseline? Gabungkan lintas subcarrier (rata-rata z-score absolut adalah awal yang baik). Lalu:
- Skor tinggi terus-menerus → sesuatu berubah di ruang.
- Skor berosilasi di 0,2–0,5 Hz → napas.
- Ayunan ritmis besar → orang berjalan.
Perang melawan alarm palsu
Setiap deployment nyata melawan tiga musuh yang sama:
- Perpindahan kanal WiFi — router melompat kanal dan seluruh tanda tangan bergeser. Deteksi lompatan tebing itu dan baseline ulang alih-alih alarm.
- Hujan, kipas, HVAC — gerakan mekanis periodik tampak hidup. Mesh multi-node membedakan: kipas membelokkan satu jalur, orang berjalan membelokkan jalur berurutan.
- Baseline macet — kalau perangkat reboot ke ruangan yang sudah berubah, baseline-nya bohong. Sentinel produksi kami otomatis baseline ulang saat skor mentok 10 menit; curi ide itu.
Batas yang jujur
CSI memberitahumu kehadiran, gerakan, ritme, kira-kira di mana (dengan mesh). Ia tidak memberitahu siapa, dan performa tembus dinding tergantung konstruksi. Rancang janji produkmu di sekitar apa yang benar-benar diberikan fisika.