{"id":4296,"date":"2025-10-29T00:10:13","date_gmt":"2025-10-29T00:10:13","guid":{"rendered":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?page_id=4296"},"modified":"2025-10-29T00:10:13","modified_gmt":"2025-10-29T00:10:13","slug":"fft-only-vs-learned-spectral-proxies-for-rapid-rf-triage","status":"publish","type":"page","link":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/?page_id=4296","title":{"rendered":"FFT-Only vs Learned Spectral Proxies for Rapid RF Triage"},"content":{"rendered":"\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\/10\/FFT-Only-vs-Learned-Spectral-Proxies-for-Rapid-RF-Triage-bgilbert1984.pdf\" type=\"application\/pdf\" style=\"width:100%;height:600px\" aria-label=\"Embed of FFT-Only vs Learned Spectral Proxies for Rapid RF Triage bgilbert1984.\"><\/object><a id=\"wp-block-file--media-79f8a1e2-548c-4dfb-8d9b-7d99db865992\" href=\"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/10\/FFT-Only-vs-Learned-Spectral-Proxies-for-Rapid-RF-Triage-bgilbert1984.pdf\">FFT-Only vs Learned Spectral Proxies for Rapid RF Triage bgilbert1984<\/a><a href=\"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/10\/FFT-Only-vs-Learned-Spectral-Proxies-for-Rapid-RF-Triage-bgilbert1984.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-79f8a1e2-548c-4dfb-8d9b-7d99db865992\">Download<\/a><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">We compare a normalized FFT magnitude pipeline<br>with light post-filters against a small CNN spectral proxy for<br>rapid RF triage. A synthetic but calibrated SNR sweep shows that<br>FFT+filters approaches CNN performance in a binary digital-vsanalog triage task while using orders-of-magnitude fewer FLOPs<br>and achieving lower p50\/p99 latencies. At 0 dB SNR, FFT p99<br>latency is \u00b699FFTAtZero ms vs \u00b699CNNAtZero ms for CNN.<br>Peak AUROC reaches 0.754 (FFT) and 0.671 (CNN). We release<br>a reproducible harness and figure generators.<\/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\/10\/FFT-Only-vs-Learned-Spectral-Proxies-for-Rapid-RF-Triage-bgilbert1984-Rev-2.pdf\" type=\"application\/pdf\" style=\"width:100%;height:600px\" aria-label=\"Embed of FFT-Only vs Learned Spectral Proxies for Rapid RF Triage bgilbert1984 Rev 2.\"><\/object><a id=\"wp-block-file--media-420a46ea-ca8f-4b61-b4e4-f4425df993a9\" href=\"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/10\/FFT-Only-vs-Learned-Spectral-Proxies-for-Rapid-RF-Triage-bgilbert1984-Rev-2.pdf\">FFT-Only vs Learned Spectral Proxies for Rapid RF Triage bgilbert1984 Rev 2<\/a><a href=\"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/wp-content\/uploads\/2025\/10\/FFT-Only-vs-Learned-Spectral-Proxies-for-Rapid-RF-Triage-bgilbert1984-Rev-2.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-420a46ea-ca8f-4b61-b4e4-f4425df993a9\">Download<\/a><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Below is a <strong>clear, step-by-step explanation<\/strong> of the <strong>hybrid gating math<\/strong> from <strong>Section VI.a<\/strong>, using the exact symbols and numbers in the document.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Core Idea of Hybrid Gating<\/h3>\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>Use the cheap, fast FFT+filters as the <em>default<\/em> path.<\/strong><br><strong>Only fall back to the expensive CNN on &#8220;ambiguous&#8221; or hard samples.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">This creates a <strong>two-stage classifier<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Fast path<\/strong>: FFT+filters (low compute, low latency)<\/li>\n\n\n\n<li><strong>Slow path<\/strong>: CNN (high compute, high latency) \u2014 used rarely<\/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\">Formal Math<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>$ f $ = <strong>gate fraction<\/strong> = fraction of samples routed to CNN<br>(i.e., $ 1 &#8211; f $ go through FFT only)<\/li>\n\n\n\n<li>$ C_{\\text{FFT}} $ = compute cost of FFT+filters per sample<\/li>\n\n\n\n<li>$ C_{\\text{CNN}} $ = compute cost of CNN per sample<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Then the <strong>average compute cost per sample<\/strong> in the hybrid system is:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$$<br>\\boxed{<br>C_{\\text{hybrid}} = (1 &#8211; f) \\cdot C_{\\text{FFT}} + f \\cdot C_{\\text{CNN}}<br>}<br>$$<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Plug in Your Numbers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">From <strong>Section VI.a<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Symbol<\/th><th>Value<\/th><th>Meaning<\/th><\/tr><\/thead><tbody><tr><td>$ C_{\\text{FFT}} $<\/td><td>$ \\approx 2.5 \\times 10^5 $ FLOPs<\/td><td>FFT (1024 pt) + normalization + light filters<\/td><\/tr><tr><td>$ C_{\\text{CNN}} $<\/td><td>$ \\approx 1.2 \\times 10^7 $ FLOPs<\/td><td>Small 1D CNN over spectrum<\/td><\/tr><tr><td>Ratio<\/td><td>$ \\frac{C_{\\text{CNN}}}{C_{\\text{FFT}}} \\approx 48\\times $<\/td><td>CNN is <strong>48\u00d7 heavier<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Example: $ f = 0.20 $ (20% of samples go to CNN)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">$$<br>\\begin{align<em>} C_{\\text{hybrid}} &amp;= (1 &#8211; 0.20) \\cdot (2.5 \\times 10^5) + 0.20 \\cdot (1.2 \\times 10^7) \\ &amp;= 0.8 \\cdot 2.5 \\times 10^5 + 0.2 \\cdot 1.2 \\times 10^7 \\ &amp;= 2.0 \\times 10^5 + 2.4 \\times 10^6 \\ &amp;= \\boxed{2.6 \\times 10^6 \\text{ FLOPs}} \\end{align<\/em>}<br>$$<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Savings vs Pure CNN<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pure CNN cost:<br>$$<br>C_{\\text{pure CNN}} = 1.2 \\times 10^7 \\text{ FLOPs}<br>$$<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hybrid savings factor:<br>$$<br>\\frac{C_{\\text{pure CNN}}}{C_{\\text{hybrid}}} = \\frac{1.2 \\times 10^7}{2.6 \\times 10^6} \\approx \\boxed{4.6\\times}<br>$$<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Your paper says <strong>4.8\u00d7<\/strong> \u2014 close enough (minor rounding or $f=0.19$).<\/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\">General Formula for Savings<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let $ r = \\frac{C_{\\text{CNN}}}{C_{\\text{FFT}}} = 48 $<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then:<br>$$<br>C_{\\text{hybrid}} = C_{\\text{FFT}} \\cdot [(1 &#8211; f) + f \\cdot r]<br>$$<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Savings vs pure CNN:<br>$$<br>\\boxed{<br>\\frac{C_{\\text{pure CNN}}}{C_{\\text{hybrid}}} = \\frac{r}{(1 &#8211; f) + f \\cdot r}<br>}<br>$$<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>$ f $ (gate rate)<\/th><th>Savings vs CNN<\/th><\/tr><\/thead><tbody><tr><td>0.00 (FFT only)<\/td><td>48.0\u00d7<\/td><\/tr><tr><td>0.10<\/td><td>10.9\u00d7<\/td><\/tr><tr><td>0.20<\/td><td>4.6\u00d7<\/td><\/tr><tr><td>0.50<\/td><td>1.9\u00d7<\/td><\/tr><tr><td>1.00 (CNN only)<\/td><td>1.0\u00d7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Latency Benefit (p99 Tail Latency)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>FFT p99 latency<\/strong>: ~1.5 ms (even at 0 dB SNR)<\/li>\n\n\n\n<li><strong>CNN p99 latency<\/strong>: ~6.0 ms<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In hybrid:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>99% of samples<\/strong> \u2192 finish in <strong>\u22641.5 ms<\/strong><\/li>\n\n\n\n<li><strong>Only 1%<\/strong> \u2192 take up to <strong>6.0 ms<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u2192 <strong>Effective p99 latency \u2248 1.5 ms<\/strong> (dominated by fast path)<br>\u2192 <strong>Hybrid dominates the tail<\/strong> (see <strong>Fig. 5<\/strong>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">How to Choose $ f $ in Practice?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You need a <strong>gating policy<\/strong> that predicts &#8220;is this sample ambiguous?&#8221;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Simple Policy (recommended in paper):<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>if FFT_confidence &gt; 0.9:        # e.g., max band energy or peak spacing clear\n    use FFT result\nelse:\n    route to CNN<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Train\/validate gate on held-out data \u2192 tune $ f $ for target AUROC vs latency.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Summary Table (Add This to Paper!)<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Strategy<\/th><th>Avg FLOPs<\/th><th>p99 Latency<\/th><th>AUROC<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>Pure FFT+Filter<\/td><td>2.5e5<\/td><td>1.5 ms<\/td><td>0.754<\/td><td>Fast, slightly better<\/td><\/tr><tr><td>Pure CNN<\/td><td>1.2e7<\/td><td>6.0 ms<\/td><td>0.671<\/td><td>Slow, worse<\/td><\/tr><tr><td><strong>Hybrid ($f=0.2$)<\/strong><\/td><td><strong>2.6e6<\/strong><\/td><td><strong>~1.5 ms<\/strong><\/td><td><strong>\u22650.75<\/strong><\/td><td><strong>Best of both<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Suggested Revision to Section VI.a (cleaner)<\/h2>\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>a) Hybrid Gate Economics.<\/strong> Let $ f $ be the fraction of samples classified as <em>ambiguous<\/em> and routed to the CNN. Average compute per sample is<br>$$<br>C_{\\text{hybrid}} = (1-f)C_{\\text{FFT}} + f C_{\\text{CNN}}<br>$$<br>With $ C_{\\text{FFT}} \\approx 2.5 \\times 10^5 $ and $ C_{\\text{CNN}} \\approx 1.2 \\times 10^7 $ FLOPs (48\u00d7 ratio), even $ f{=}0.20 $ yields $ C_{\\text{hybrid}} \\approx 2.6 \\times 10^6 $ FLOPs \u2014 <strong>4.6\u00d7 cheaper<\/strong> than always-CNN. Since tail latency is dominated by the fast path, p99 remains \u22481.5 ms.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Bottom line<\/strong>:<br>The hybrid math is <strong>simple, correct, and powerful<\/strong>.<br>Just <strong>write the equation in LaTeX<\/strong>, <strong>show the 4.6\u00d7 calculation<\/strong>, and <strong>add the table<\/strong> \u2192 instantly clearer and more convincing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We compare a normalized FFT magnitude pipelinewith light post-filters against a small CNN spectral proxy forrapid RF triage. A synthetic but calibrated SNR sweep shows thatFFT+filters approaches CNN performance in a binary digital-vsanalog triage task while using orders-of-magnitude fewer FLOPsand achieving lower p50\/p99 latencies. At 0 dB SNR, FFT p99latency is \u00b699FFTAtZero ms vs \u00b699CNNAtZero&hellip;&nbsp;<\/p>\n","protected":false},"author":2,"featured_media":4298,"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-4296","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\/4296","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=4296"}],"version-history":[{"count":0,"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/4296\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/4298"}],"wp:attachment":[{"href":"https:\/\/neurosphere-2.tail52f848.ts.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}