{"id":3316,"date":"2025-09-12T21:45:43","date_gmt":"2025-09-12T21:45:43","guid":{"rendered":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?p=3316"},"modified":"2025-09-12T21:46:56","modified_gmt":"2025-09-12T21:46:56","slug":"integrated-rf-signal-processing-directional-kalman-filtering-with-3d-voxel-mapping-and-streaming-api","status":"publish","type":"post","link":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?p=3316","title":{"rendered":"Integrated RF Signal Processing: Directional Kalman Filtering with 3D Voxel Mapping and Streaming API"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-opt-id=721548223  fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"691\" src=\"https:\/\/ml6vmqguit1n.i.optimole.com\/w:1024\/h:691\/q:mauto\/f:best\/https:\/\/172-234-197-23.ip.linodeusercontent.com\/wp-content\/uploads\/2025\/09\/image-48.png\" alt=\"\" class=\"wp-image-3317\" srcset=\"https:\/\/ml6vmqguit1n.i.optimole.com\/w:1024\/h:691\/q:mauto\/f:best\/https:\/\/172-234-197-23.ip.linodeusercontent.com\/wp-content\/uploads\/2025\/09\/image-48.png 1024w, https:\/\/ml6vmqguit1n.i.optimole.com\/w:300\/h:202\/q:mauto\/f:best\/https:\/\/172-234-197-23.ip.linodeusercontent.com\/wp-content\/uploads\/2025\/09\/image-48.png 300w, https:\/\/ml6vmqguit1n.i.optimole.com\/w:768\/h:518\/q:mauto\/f:best\/https:\/\/172-234-197-23.ip.linodeusercontent.com\/wp-content\/uploads\/2025\/09\/image-48.png 768w, https:\/\/ml6vmqguit1n.i.optimole.com\/w:1171\/h:790\/q:mauto\/f:best\/https:\/\/172-234-197-23.ip.linodeusercontent.com\/wp-content\/uploads\/2025\/09\/image-48.png 1171w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-spectrcyde wp-block-embed-spectrcyde\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"6WqtJl6QQv\"><a href=\"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?page_id=3312\">RF Signal Processing Directional Kalman Filtering with 3D Voxel Mapping<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;RF Signal Processing Directional Kalman Filtering with 3D Voxel Mapping&#8221; &#8212; Spectrcyde\" src=\"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?page_id=3312&#038;embed=true#?secret=r0oxZEwnpO#?secret=6WqtJl6QQv\" data-secret=\"6WqtJl6QQv\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\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><strong>Benjamin J. Gilbert<\/strong><br>College of the Mainland \u2013 Robotic Process Automation<br><a href=\"mailto:bgilbert2@com.edu\">bgilbert2@com.edu<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Abstract<\/h2>\n\n\n\n<p>We present an <strong>integrated RF processing stack<\/strong> that combines <strong>directional Kalman filtering<\/strong> with <strong>3D voxel density mapping<\/strong>, exposed through a <strong>FastAPI WebSocket<\/strong> for real-time visualization. The pipeline benchmarks <strong>smoothing accuracy<\/strong> and <strong>voxel peak sharpness<\/strong> on synthetic trajectories. All figures and tables are <strong>auto-generated from logs<\/strong>, ensuring full reproducibility.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">I. Introduction<\/h2>\n\n\n\n<p>We unify a <strong>classic state estimator<\/strong> (Kalman filter) for RF target tracking with a <strong>volumetric occupancy representation<\/strong> of RF energy. The processor is implemented in <code>code\/rf_integrated_processor.py<\/code>. Scripts synthesize noisy paths, call the processor, and automatically emit figures (Figs. 1\u20132) and summary tables (Table II).<\/p>\n\n\n\n<p>This design aligns with <strong>Guangdong pragmatism<\/strong>: minimal but complete kit, reproducible from one command, and practical for visualization dashboards.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">II. Method<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">A. State Estimation<\/h3>\n\n\n\n<p>We track motion states x=[x,y,z,x\u02d9,y\u02d9,z\u02d9]\u22a4x = [x, y, z, \\dot{x}, \\dot{y}, \\dot{z}]^\\top<\/p>\n\n\n\n<p>using a <strong>constant-velocity Kalman filter<\/strong> [1][2]. Measurements are noisy positions; the filter smooths and interpolates trajectories.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">B. Voxel Mapping<\/h3>\n\n\n\n<p>Smoothed trajectories are binned into a <strong>3D voxel grid<\/strong> (Nx,Ny,Nz)(N_x, N_y, N_z). Gaussian smoothing produces a spatial density field. The <strong>voxel peak intensity<\/strong> serves as a unitless proxy for localization confidence.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C. API Exposure<\/h3>\n\n\n\n<p>The stack is served via <strong>FastAPI + Uvicorn<\/strong>, exposing live voxel slices over WebSocket. Optional hooks to DOMA (motion predictor) and neural beamforming are stubbed for offline reproducibility.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">D. Metrics<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Average Displacement Error (ADE, m):<\/strong> mean trajectory error.<\/li>\n\n\n\n<li><strong>Final Displacement Error (FDE, m):<\/strong> error at last step.<\/li>\n\n\n\n<li><strong>Signal Quality (u.):<\/strong> normalized voxel peak [0\u20131].<\/li>\n\n\n\n<li><strong>Gain:<\/strong> ADEraw\u2212ADEKF\\text{ADE}_{raw} &#8211; \\text{ADE}_{KF}, positive indicates filter improvement.<\/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\">III. Results<\/h2>\n\n\n\n<p>Synthetic trajectories are perturbed with Gaussian noise and injected outliers. The Kalman smoother recovers stable paths, and voxel peaks concentrate around true positions.<\/p>\n\n\n\n<p><strong>TABLE I \u2013 Baseline Integrated Processor Performance<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Signal Quality (u.)<\/th><th>Grid Size<\/th><th>ADE Raw (m)<\/th><th>ADE KF (m)<\/th><th>FDE Raw (m)<\/th><th>FDE KF (m)<\/th><th>Gain (m)<\/th><\/tr><\/thead><tbody><tr><td>0.864<\/td><td>24\u00b3<\/td><td>1.676<\/td><td>1.277<\/td><td>1.574<\/td><td>\u2013<\/td><td>+0.399<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Figures:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Fig. 1<\/em>: Trajectory tracking (XY\/XZ projections). Ground truth (black), noisy input (gray), KF-smoothed path (blue).<\/li>\n\n\n\n<li><em>Fig. 2<\/em>: 3D voxel density slice showing localized RF energy.<\/li>\n<\/ul>\n\n\n\n<p><strong>Ablations:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Figs. 3\u20134<\/em>: Grid resolution and noise-level sweeps.<\/li>\n\n\n\n<li><em>Tables III\u2013IV<\/em>: Quantitative tradeoffs between voxel sharpness and runtime.<\/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\">IV. Reproducibility<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>conda env create -f env_integrated.yml\nconda activate rf_integrated_env\nmake -f Makefile_integrated all\n<\/code><\/pre>\n\n\n\n<p>One command regenerates <strong>all figures, tables, and metrics<\/strong>, keeping the pipeline reviewer-safe.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">V. Conclusion<\/h2>\n\n\n\n<p>The integrated processor delivers <strong>smooth trajectories<\/strong> and an <strong>interpretable voxel map<\/strong>, well-suited for live dashboards or downstream RF control.<\/p>\n\n\n\n<p><strong>Future extensions<\/strong>: plug in the DOMA predictor and a beamforming optimizer to close the loop, enabling adaptive RF sensing in dynamic environments.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">References<\/h2>\n\n\n\n<p>[1] R. E. Kalman, \u201cA new approach to linear filtering and prediction problems,\u201d <em>Journal of Basic Engineering<\/em>, vol. 82, no. 1, pp. 35\u201345, 1960.<br>[2] Standard Kalman implementations in RF tracking pipelines.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u2699\ufe0f <strong>Guangdong framing:<\/strong> small codebase, real-time visualization, one-command reproducibility, and practical extension hooks. A kit designed for <strong>lab-to-field transfer with minimal friction<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Benjamin J. GilbertCollege of the Mainland \u2013 Robotic Process Automationbgilbert2@com.edu Abstract We present an integrated RF processing stack that combines directional Kalman filtering with 3D voxel density mapping, exposed through a FastAPI WebSocket for real-time visualization. The pipeline benchmarks smoothing accuracy and voxel peak sharpness on synthetic trajectories. All figures and tables are auto-generated from&hellip;&nbsp;<a href=\"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?p=3316\" rel=\"bookmark\"><span class=\"screen-reader-text\">Integrated RF Signal Processing: Directional Kalman Filtering with 3D Voxel Mapping and Streaming API<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":3314,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","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":""},"categories":[10],"tags":[],"class_list":["post-3316","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-signal_scythe"],"_links":{"self":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts\/3316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3316"}],"version-history":[{"count":2,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts\/3316\/revisions"}],"predecessor-version":[{"id":3320,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts\/3316\/revisions\/3320"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/media\/3314"}],"wp:attachment":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}