{"id":576,"date":"2026-03-20T13:48:14","date_gmt":"2026-03-20T13:48:14","guid":{"rendered":"https:\/\/www.bob-easton.com\/n4ree\/?p=576"},"modified":"2026-03-20T13:48:16","modified_gmt":"2026-03-20T13:48:16","slug":"antenna-a-b-testing-part-2-enlist-ai","status":"publish","type":"post","link":"https:\/\/www.bob-easton.com\/n4ree\/2026\/03\/20\/antenna-a-b-testing-part-2-enlist-ai\/","title":{"rendered":"Antenna A\/B testing &#8211; part 2, enlist AI"},"content":{"rendered":"\n<p>There&#8217;s a new technology in town.  Let&#8217;s persuade ChatGPT or GROK to do the grunge work.  That&#8217;s what robots are for.  Right?!<\/p>\n\n\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile\"><div class=\"wp-block-media-text__content\">\n<p><a href=\"https:\/\/www.bob-easton.com\/n4ree\/2026\/03\/19\/antenna-a-b-testing-part-1-concept\/\">Part 1<\/a> describes the concept of using WSPR testing of 2 antennas for an A\/B comparison. We left off at the point of having a large spreadsheet in hand that needs to be separated, every other line representing one antenna or the other. Doing that manually is a &#8220;Royal PITA.&#8221; Been there, done that.<\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><a href=\"https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/AB-Antenna-test-setup-1-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/AB-Antenna-test-setup-1-1024x768.jpg\" alt=\"\" class=\"wp-image-583 size-full\" srcset=\"https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/AB-Antenna-test-setup-1-1024x768.jpg 1024w, https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/AB-Antenna-test-setup-1-300x225.jpg 300w, https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/AB-Antenna-test-setup-1-768x576.jpg 768w, https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/AB-Antenna-test-setup-1-1536x1152.jpg 1536w, https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/AB-Antenna-test-setup-1-2048x1536.jpg 2048w, https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/AB-Antenna-test-setup-1-702x526.jpg 702w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Lord Callum McCormick <a href=\"https:\/\/www.youtube.com\/watch?v=c845_k48EjI\">demonstrated<\/a> how he uses AI to do the tedious work and to produce wonderful comparison charts.  Basically, he asked ChatGPT to separate results stored in a spreadsheet and do various calculations on the two sets of results.  Callum was seeking which antenna is &#8220;better.&#8221;  But, better at what?  Well, that&#8217;s why we want various calculations; number of stations that heard us, number of times they heard us, distance,  and signal strength, etc.<\/p>\n\n\n\n<p>Callum used ChatGPT.  I stole his prompt and did the same with Grok.  It&#8217;s fascinating watching the AI machine, collect the information, learn about how WSPR works, build a program to separate various data and do calculations.  It tells you what it is doing as it goes along, and then shows the results you asked for.  <strong>Be aware:<\/strong> one has to be precise in what we ask for.  Some report that AI can sometimes give you more than you expect.  Adherents of the AI industry describe these adventures into uncharted, unspecified, territory as &#8220;hallucinations.&#8221;  My antennas are mysterious enough without hallucinations.  Just give me only what I asked for.  Thank you. <\/p>\n\n\n\n<p>Callum specifies the prompt he used in his video.  I copied it and modified it a bit for my own interests, omitting his RX analysis.  I simplified the process to need only 2 log file uploads.  We arrive at very similar results.  Since I use most of my antennas enough to have a feel for them, these tests confirm and solidify what I know about them.  They also give me a quick way to compare a newly built antenna with one of my long time favorites.  It quickly eliminates the &#8220;Is it the antenna, or today&#8217;s propagation?&#8221; question.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Process:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Set up both antennas<\/li>\n\n\n\n<li>Connect them to an A\/B switch<\/li>\n\n\n\n<li>Set up the WSPR transmitter and use a PC to control the transmitter. Set the callsign, grid square, and band for the test.<\/li>\n\n\n\n<li>Start running.  <\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile\"><div class=\"wp-block-media-text__content\">\n<p>Notice the little red light when the device is transmitting.<\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><a href=\"https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/wspr-control-panel.png\"><img loading=\"lazy\" decoding=\"async\" width=\"833\" height=\"584\" src=\"https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/wspr-control-panel.png\" alt=\"\" class=\"wp-image-584 size-full\" srcset=\"https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/wspr-control-panel.png 833w, https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/wspr-control-panel-300x210.png 300w, https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/wspr-control-panel-768x538.png 768w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/a><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Watch the WSPR Transmitter control screen and every time the little red light shuts off, switch the A\/B switch.  Missing this will spoil the results.<\/li>\n\n\n\n<li>Continue for as long as you please.  I like to go through 6-8 cycles for each antenna<\/li>\n\n\n\n<li>Collect the results from wsprnet.org.  My preference is to sweep the data into a spreadsheet.  Name that spreadsheet <strong>Transmit log.xlsx<\/strong><\/li>\n\n\n\n<li>Create another spreadsheet named <strong>Time slots.xlst<\/strong><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile\"><div class=\"wp-block-media-text__content\">\n<p>This file has 2 columns.  In one timestamps increment at 2 minute intervals the other column shows an antenna identifier for each timestamp.<\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"281\" height=\"227\" src=\"https:\/\/www.bob-easton.com\/n4ree\/wp-content\/uploads\/2026\/03\/pic-of-timeslots-log.png\" alt=\"\" class=\"wp-image-586 size-full\"\/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fetch the prompt from the bottom of this post.  NOTE WELL: Edit at least the line which specifies the label for the report.<\/li>\n\n\n\n<li>Upload the A\/B prompt and the two spreadsheets to <a href=\"https:\/\/grok.com\/\">Grok<\/a>.<\/li>\n\n\n\n<li>Sit back and watch it work.<\/li>\n<\/ul>\n\n\n\n<p>Below is part of what Grok reported. I&#8217;ll explain this particular test in the next post. Or, you can go <a href=\"https:\/\/grok.com\/share\/c2hhcmQtNA_60623f43-96d3-46bc-8edf-097abcc70e81?rid=0ff14e77-c6f3-4c37-845d-4b4a21d6a78d\">here<\/a> to see all of what Grok prepared.  Note that at the top of the Grok report you can see the actual prompt I used (feel free to steal for yourself) and the data files.  Next post: more detail about this particular comparison.<\/p>\n\n\n\n<p>72 de N4REE, Bob<\/p>\n\n\n\n<p class=\"has-text-align-center\">===== Below is PART of the results from Grok =====<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Overall Statistics<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Metric<\/th><th>POTAPerformer (PERFormer)<\/th><th>EFHW<\/th><\/tr><\/thead><tbody><tr><td>Total number of reports<\/td><td>384<\/td><td>236<\/td><\/tr><tr><td>Number of unique reporters<\/td><td>128<\/td><td>95<\/td><\/tr><tr><td>Median SNR<\/td><td>-17<\/td><td>-18<\/td><\/tr><tr><td>Median distance (km)<\/td><td>1551<\/td><td>1498<\/td><\/tr><tr><td>Maximum distance (km)<\/td><td>6599<\/td><td>3949<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Distance Bucket Analysis<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Bucket<\/th><th>POTAPerformer (PERFormer)<br>Count \/ Median SNR<\/th><th>EFHW<br>Count \/ Median SNR<\/th><\/tr><\/thead><tbody><tr><td>Short haul (0\u20132000 km)<\/td><td>321 \/ -15<\/td><td>204 \/ -17<\/td><\/tr><tr><td>Medium haul (2000\u20134000 km)<\/td><td>62 \/ -18<\/td><td>32 \/ -19.5<\/td><\/tr><tr><td>Long haul (&gt;4000 km)<\/td><td>1 \/ -26<\/td><td>0 \/ null<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Observations on Antenna Behavior<\/h2>\n\n\n\n<p>Based strictly on the provided data, the POTAPerformer (PERFormer) generated 63% more total reports and engaged 35% more unique reporters than the EFHW, indicating broader overall reception during the test periods. It also achieved a slightly higher median SNR across all distances (-17 vs. -18) and a marginally higher median distance (1551 km vs. 1498 km), suggesting more consistent signal strength and reach under the tested conditions.<\/p>\n\n\n\n<p>In short-haul distances, the POTAPerformer received&#8230;.  (See more at <a href=\"https:\/\/grok.com\/share\/c2hhcmQtNA_60623f43-96d3-46bc-8edf-097abcc70e81?rid=0ff14e77-c6f3-4c37-845d-4b4a21d6a78d\">the GROK report link<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Grok A\/B Prompt<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>I have conducted a controlled A\/B antenna comparison using WSPR only.\nBoth antennas were tested: at the same station on the same band at the same power within clearly defined time windows.\nNothing else was changed.\nFind two files attached.\nBoth files are in Excel format.\n1 The Timeslots Log in UTC notes which antenna was in use and exactly what time.\n2 The Transmit log downloaded from WSPRnet in UTC.\nThe logs are accurate and in clear two-minute chunks \u2013 there is no need to be concerned about the times. \nMy timeslot log includes the antenna label for every 2-minute WSPR slot. \n\nYour tasks: \nLabel this report \"A\/B EFHW vs. POTAPerformer - 20m\"\nIdentify which antenna was in use for each transmit period.\nFor each antenna, calculate:\n- total number of reports\n- number of unique reporters\n- median SNR (not maximum)\n- median distance\n- maximum distance\n\nGroup TX results into distance buckets:\n- short haul (0\u20132000 km)\n- medium haul (2000\u20134000 km)\n- long haul (&#91;greater than] 4000 km)\n\nFor each bucket, show report count and median SNR. \nFor each antenna, calculate:\n- total decode count\n- median distance (if available)\n- maximum distance\n\nOutput requirements: Present results in clear tables.\nDo not declare a single winner.\nExplain what each antenna appears to be better suited for - based on the data.\nFocus on differences in behavior, coverage, and application rather than preference or opinion.\nBase conclusions strictly on the data provided, not on predicted behavior.\nExplain how you calculated the results.\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s a new technology in town. Let&#8217;s persuade ChatGPT or GROK to do the grunge work. That&#8217;s what robots are for. Right?! Part 1 describes the concept of using WSPR testing of 2 antennas for an A\/B comparison. We left off at the point of having a large spreadsheet in hand that needs to be [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[3],"tags":[],"class_list":{"0":"post-576","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-antennas","7":"entry"},"featured_image_src":null,"featured_image_src_square":null,"author_info":{"display_name":"Bob Easton","author_link":"https:\/\/www.bob-easton.com\/n4ree\/author\/n4ree\/"},"_links":{"self":[{"href":"https:\/\/www.bob-easton.com\/n4ree\/wp-json\/wp\/v2\/posts\/576","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bob-easton.com\/n4ree\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bob-easton.com\/n4ree\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bob-easton.com\/n4ree\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bob-easton.com\/n4ree\/wp-json\/wp\/v2\/comments?post=576"}],"version-history":[{"count":9,"href":"https:\/\/www.bob-easton.com\/n4ree\/wp-json\/wp\/v2\/posts\/576\/revisions"}],"predecessor-version":[{"id":589,"href":"https:\/\/www.bob-easton.com\/n4ree\/wp-json\/wp\/v2\/posts\/576\/revisions\/589"}],"wp:attachment":[{"href":"https:\/\/www.bob-easton.com\/n4ree\/wp-json\/wp\/v2\/media?parent=576"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bob-easton.com\/n4ree\/wp-json\/wp\/v2\/categories?post=576"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bob-easton.com\/n4ree\/wp-json\/wp\/v2\/tags?post=576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}