{"id":3177,"date":"2025-09-08T02:03:04","date_gmt":"2025-09-08T02:03:04","guid":{"rendered":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?page_id=3177"},"modified":"2025-09-08T02:03:04","modified_gmt":"2025-09-08T02:03:04","slug":"rf-based-casualty-cues-from-opportunistic-sensors-3","status":"publish","type":"page","link":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/?page_id=3177","title":{"rendered":"RF-Based Casualty Cues from Opportunistic Sensors"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A simulation-first toolkit for detection, uncertainty, and geolocation\u2014without medical claims<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>By Benjamin J. Gilbert (Spectrcyde RF Quantum SCYTHE)<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>TL;DR.<\/strong> We built a fully reproducible, simulation-driven pipeline that uses opportunistic RF sensors\u2014Wi-Fi CSI, BLE RSSI, and UWB\u2014to detect casualty-relevant motion cues, quantify uncertainty, and estimate location via TDoA. It\u2019s engineered for <strong>algorithm development and stress-testing<\/strong>, not diagnosis. Code and paper auto-generate figures, tables, and metrics with a single build. Calibration (temperature scaling) and deep ensembles make probabilities honest; robust detectors (micro-Doppler + hysteresis) keep false alarms in check.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"945\" src=\"http:\/\/172-234-197-23.ip.linodeusercontent.com\/wp-content\/uploads\/2025\/08\/image-9-1024x945.png\" alt=\"\" class=\"wp-image-2692\" srcset=\"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/08\/image-9-1024x945.png 1024w, https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/08\/image-9-300x277.png 300w, https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/08\/image-9-768x709.png 768w, https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/08\/image-9.png 1111w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Why this matters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Emergencies often unfold where dedicated medical sensors aren\u2019t present\u2014but commodity radios are. Modern buildings, factories, and campuses are soaked in Wi-Fi, BLE, and growing UWB footprints. If we can <strong>safely<\/strong> harvest motion-level cues (e.g., consistent micro-Doppler from movement vs. prolonged stillness), we can help responders <strong>triage faster<\/strong>, cue cameras <em>without streaming video<\/em>, and <strong>geolocate<\/strong> priority events. The catch: <strong>no overreach<\/strong>\u2014this is not a medical device, and we keep it that way.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What we built<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Physics-informed simulation<\/strong> of Wi-Fi CSI, BLE RSSI, and UWB CIRs across thousands of synthetic scenarios (layout, occlusion, motion regimes).<\/li>\n\n\n\n<li><strong>Robust detectors<\/strong> combining <strong>robust z-scores + hysteresis<\/strong> with a <strong>micro-Doppler<\/strong> energy track (0.3\u20132 Hz band).<\/li>\n\n\n\n<li>A tiny <strong>1D CNN ensemble<\/strong> (ResNet-style) with <strong>focal loss<\/strong> (for class imbalance) and <strong>temperature scaling<\/strong> (for calibrated probabilities).<\/li>\n\n\n\n<li>A <strong>ZeroMQ hub<\/strong> that fuses multi-station event onsets into a <strong>TDoA heatmap<\/strong> and publishes live geolocation updates.<\/li>\n\n\n\n<li>A one-command build that <strong>auto-generates<\/strong> all figures, tables, and LaTeX for the paper.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83e\uddef <strong>Scope &amp; ethics:<\/strong> This is a <strong>simulation-based development toolkit<\/strong>, not a clinical system. It <strong>does not<\/strong> detect blood or diagnose anything. The goal is to benchmark algorithms and quantify uncertainty\u2014safely\u2014before any real-world data collection.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">How it works (high-level)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1) Signals \u2192 features<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Wi-Fi CSI:<\/strong> phase-based micro-Doppler spectrograms + subcarrier coherence.<\/li>\n\n\n\n<li><strong>BLE RSSI:<\/strong> robust trend\/slope features with MAD-based z-scores.<\/li>\n\n\n\n<li><strong>UWB CIR:<\/strong> path-energy dynamics and delay-spread changes.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2) Two complementary detectors<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Rule-based:<\/strong> robust z-score + <strong>hysteresis<\/strong> + min-duration gating (crushes flicker).<\/li>\n\n\n\n<li><strong>Learned baseline:<\/strong> 1D ResNet-style CNN ensemble over short windows; <strong>focal loss<\/strong> (\u03b1\u22480.25, \u03b3\u22482) handles class imbalance; <strong>temperature scaling<\/strong> yields calibrated probabilities (good ECE\/Brier).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3) Calibrated uncertainty<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We calibrate on a held-out split, report <strong>ECE\/Brier<\/strong>, and select thresholds from <strong>PR-optimal<\/strong> operating points. Deep ensembles expose <strong>epistemic<\/strong> uncertainty that you can use to <strong>down-weight<\/strong> sketchy stations.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4) Geolocation: TDoA<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When three or more stations report <strong>event onsets<\/strong>, the hub performs a fast grid search in a local ENU frame to produce a <strong>TDoA heatmap<\/strong> and <strong>best point<\/strong>. Outputs stream on PUB\/SUB so dashboards can update in real time.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What we see in simulation<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <strong>micro-Doppler feature<\/strong> lifts F1 by about <strong>~10\u201312%<\/strong> over plain energy detectors in motion-heavy scenarios.<\/li>\n\n\n\n<li><strong>Calibration holds<\/strong>: ensembles + temperature scaling deliver <strong>low ECE<\/strong> and sensible reliability curves.<\/li>\n\n\n\n<li><strong>Latency<\/strong> is dominated by <strong>window length and hysteresis<\/strong>, not neural compute (forward pass is ~sub-millisecond; wall-clock detection latency typically reflects 1\u20133 s aggregation).<\/li>\n\n\n\n<li><strong>Geolocation<\/strong> accuracy is timing-bound: ~<strong>300 m per 1 ms<\/strong> sync error\u2014so GPSDO\/NTP discipline matters.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Important:<\/strong> All metrics reflect <strong>synthetic validation<\/strong>. They show how the stack behaves, where it breaks, and how to tune thresholds\u2014<strong>not<\/strong> field performance.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Figures<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><em>(Swap in your generated assets; filenames match the build.)<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Micro-Doppler waterfall<\/strong><br><code>figures\/micro_doppler.png<\/code><br><em>Clear separation between stillness and motion bands (0.3\u20132 Hz).<\/em><\/li>\n\n\n\n<li><strong>UWB CIR evolution<\/strong><br><code>figures\/uwb_waterfall.png<\/code><br><em>Delay-spread\/energy shifts during movement and occlusion.<\/em><\/li>\n\n\n\n<li><strong>Precision\u2013Recall (ensemble)<\/strong><br><code>figures\/pr_curve.png<\/code><br><em>Operating point chosen by PR-optimal threshold (\u03c4*).<\/em><\/li>\n\n\n\n<li><strong>TDoA heatmap<\/strong><br><code>figures\/tdoa_live.png<\/code><br><em>Log-error surface with best point in a \u00b16 km ENU window.<\/em><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Reproducibility (one command)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Everything\u2014figures, tables, metrics, and PDFs\u2014builds from source.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># create environment (example)\nconda env create -f env.yml\nconda activate blood_env\n\n# generate figures + metrics + LaTeX tables\nmake all\n\n# optional: run the live geolocation demo\nmake geo-hub         # terminal 1 (starts ZeroMQ hub)\nmake geo-demo        # terminal 2 (sends 3-station test)\n# -&gt; figures\/tdoa_live.png and metrics\/tdoa_last.json appear\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Where this goes next<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Data realism.<\/strong> Plug in <em>limited<\/em>, controlled real captures (with IRB\/ethics) to validate timing and false-alarm behavior.<\/li>\n\n\n\n<li><strong>Sensor diversity.<\/strong> Add door sensors, simple acoustic footfall, or mmWave FMCW (public datasets exist) for harder fusion tests.<\/li>\n\n\n\n<li><strong>Outlier-robust geolocation.<\/strong> Weight TDoA by <strong>(1\u2013UQ)<\/strong> and add <strong>RANSAC<\/strong> over station subsets to survive bad clocks and adversarial noise.<\/li>\n\n\n\n<li><strong>Edge deployment.<\/strong> The 1D path is light enough for phones and small gateways. We\u2019ll benchmark ARM-class devices next.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Does this detect \u201cbloodshed\u201d?<\/strong><br>No. It detects <strong>motion-level cues<\/strong> (e.g., prolonged stillness vs. activity) from RF side-channels. It\u2019s explicitly <strong>non-medical<\/strong> and <strong>simulation-only<\/strong> in this release.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What about privacy?<\/strong><br>We avoid cameras and process low-resolution RF summaries. The pipeline is designed to operate on <strong>local gateways<\/strong>; only event metadata needs to leave the site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Can I use my own floorplans and APs?<\/strong><br>Yes\u2014drop them into the simulator, regenerate, and the same build produces new figures\/tables.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Want to collaborate?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We\u2019re looking for partners (public safety, campus ops, industrial safety) who can provide <strong>timing-disciplined multi-station data<\/strong> in controlled exercises. If that\u2019s you, let\u2019s talk.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">(Optional) Front-matter for static sites<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Hugo<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\ntitle: \"RF-Based Casualty Cues from Opportunistic Sensors\"\nsubtitle: \"Simulation-first detection, uncertainty, and TDoA geolocation\"\ndate: 2025-09-07\nauthor: \"Benjamin J. Gilbert\"\ntags: &#91;\"RF sensing\",\"Wi-Fi CSI\",\"BLE\",\"UWB\",\"uncertainty\",\"TDoA\",\"simulation\"]\nimages: &#91;\"figures\/micro_doppler.png\"]\ndraft: false\n---\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Jekyll<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\nlayout: post\ntitle: \"RF-Based Casualty Cues from Opportunistic Sensors\"\ndescription: \"A reproducible, simulation-first pipeline for RF motion cues, calibrated uncertainty, and TDoA geolocation.\"\ndate: 2025-09-07\nauthor: Benjamin J. Gilbert\ntags: &#91;rf, wifi, ble, uwb, uncertainty, geolocation]\nimage: \/figures\/micro_doppler.png\n---\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Social copy (pick one)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>X\/\ud835\udd4f:<\/strong><br>\u201cNew post: a simulation-first pipeline for opportunistic RF sensing (Wi-Fi\/BLE\/UWB) that detects motion-level casualty cues, quantifies uncertainty, and geolocates via TDoA\u2014no medical claims, just reproducible tooling. \ud83d\ude91\ud83d\udcf6\ud83e\uddea\u201d<\/li>\n\n\n\n<li><strong>LinkedIn:<\/strong><br>\u201cWe released a reproducible RF sensing toolkit that uses Wi-Fi CSI \/ BLE \/ UWB to detect motion-level casualty cues and estimate location with TDoA. Calibrated uncertainty, deep ensembles, and a one-command build make it reviewer-friendly and safe. Learn more \ud83d\udc47\u201d<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div data-wp-interactive=\"core\/file\" class=\"wp-block-file\"><object data-wp-bind--hidden=\"!state.hasPdfPreview\" hidden class=\"wp-block-file__embed\" data=\"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/09\/RF-Based-Casualty-Cues-from-Opportunistic-Sensors-Benjamin-J-Gilbert-CoM-Edu-1.pdf\" type=\"application\/pdf\" style=\"width:100%;height:600px\" aria-label=\"Embed of RF-Based Casualty Cues from Opportunistic Sensors - Benjamin J Gilbert CoM Edu.\"><\/object><a id=\"wp-block-file--media-14d23bca-c75d-4185-85cc-643219c4e702\" href=\"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/09\/RF-Based-Casualty-Cues-from-Opportunistic-Sensors-Benjamin-J-Gilbert-CoM-Edu-1.pdf\">RF-Based Casualty Cues from Opportunistic Sensors &#8211; Benjamin J Gilbert CoM Edu<\/a><a href=\"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/09\/RF-Based-Casualty-Cues-from-Opportunistic-Sensors-Benjamin-J-Gilbert-CoM-Edu-1.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-14d23bca-c75d-4185-85cc-643219c4e702\">Download<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>A simulation-first toolkit for detection, uncertainty, and geolocation\u2014without medical claims By Benjamin J. Gilbert (Spectrcyde RF Quantum SCYTHE) TL;DR. We built a fully reproducible, simulation-driven pipeline that uses opportunistic RF sensors\u2014Wi-Fi CSI, BLE RSSI, and UWB\u2014to detect casualty-relevant motion cues, quantify uncertainty, and estimate location via TDoA. It\u2019s engineered for algorithm development and stress-testing, not&hellip;&nbsp;<\/p>\n","protected":false},"author":2,"featured_media":2576,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"class_list":["post-3177","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/3177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3177"}],"version-history":[{"count":0,"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/3177\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/2576"}],"wp:attachment":[{"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}