Skip to content

Contributing Antenna Data

Jared Dunbar edited this page Oct 24, 2025 · 1 revision

If you would like to contribute antenna data to the mod for more accurate simulation of a particular antenna, there is a way to import real-world data!

These instructions assume that you own the following tools:

  • NanoVNA (Vector Network Analyzer)
  • A computer with the NanoVNASaver software installed
  • A free USB port and cable to connect the NanoVNA to your computer
  • An antenna that can be connected to the NanoVNA (potentially via various adapters)
  • Calibration tools (these may have come with your NanoVNA)
    • An open circuit end
    • A short circuit end
    • A 50 ohm dummy load end

About the data collected

As an overall goal of the project, we want to capture two things:

  1. Data in the 50kHz to 900MHz range.
  2. Data in the operating range +/- 100% of that range (so if you have an antenna for 2m operation at 144MHz to 148MHz, you provide data from 140MHz to 152 MHz, to provide buffer on the edges. If the antenna is a dual/tri/quad bander, you would provide one capture for each contiguous band.

These are so that we can come to the following design goals:

  1. A wide bandwidth (50kHz to 900MHz) for a fully zoomed out VNA that shows the overall behavior of the antenna
  2. A narrow bandwidth (200% of the antenna's intended bandwidth) which displays how the antenna works in the intended band and also some small portion of context around it.
  3. The more accurate data is also used for antenna SWR calculations for the radio operation in-game. If the SWR is over a certain value, we may overheat/destroy the radio if it's used improperly to simulate real mechanics. When adjusting the tuning of the radio, these can also be used to calculate the losses from the tuner.

The final uploaded artifacts of a successful antenna measurement include:

  1. A 50kHz to 900MHz sweep contained in a .p1s file
  2. Sweeps with a buffer on the edge of each of the operating bands of the antenna. For example, if you own a 2m antenna, measure from 140 to 152 MHz which gives a 4MHz bandwidth on the edge of the 4MHz wide (144-148) 2m band.
  3. (Optional) Create the antenna profile json file which is used by the game (an intermediate format of the combined data)

Note All .p1s files are expected to have the following header:

# HZ S RI R 50

If your hardware outputs a different format, you will need to figure out how to convert it.

How to collect

Note: You may need to tap <- BACK after some steps; experiment with the interface until you feel comfortable with it.

  1. Plug your NanoVNA into your computer.
  2. Find the antenna you would like to measure and determine what adapters/cables you may need. Note: Please use as few connectors and cables as possible between the antenna element and the NanoVNA.
  3. Select the STIMULUS option, select START, and enter the starting frequency, then select STOP and enter the stopping frequency. This will depend on which of the sweeps you are collecting.
  4. Complete the calibration procedure for the NanoVNA for the provided stimulus range. Please keep as much as the same cabling between the three test results as possible.
  5. Leave the end of your cable open, and if you have an open cap, attach it to the end of your antenna feed (or as close as you can). Press CALIBRATE, then CALIBRATE again, then OPEN. Wait for the device to take the measurement.
  6. Connect the short to the end of your antenna feed and tap SHORT
  7. Connect the 50 ohm load to the end of your antenna feed and tap LOAD
  8. Tap DONE IN RAM
  9. In the software, connect to the device using the appropriate serial port. Then, make sure that the sweep range in the top left of the UI matches the information displayed on the NanoVNA screen (type in the correct values if they are not correct) and then click Sweep. Data will show up in the graphs to the right.
  10. If you are happy with the data, select Files... in the lower right, and then under export select Save 1-Port file (S1P).
  11. Repeat for other sweeps as noted in the data collection section above. You will need to re-stimulate and re-calibrate for the new range.

What to do with the .s1p files

Now that you have some S1P files from your NanoVNA, you can send them to us one of two ways:

  1. Make a pull request and add them to docs/measurements/<your antenna name>/
  2. Send them in Discord and ping a developer.

Notes about the NanoVNA data collection

It's worth noting that the NanoVNA collects 101 points during the calibration and another 101 points during the sweep. This means that the calibration for a particular sweep range will not cover calibration for different sweep ranges due to the lack of precision in that range. With 101 data points, the largest measurement mode grabs around 10MHz segments of the antenna data. This is relatively crude. With collecting the space around the band more directly, we can get a more accurate SWR/Smith chart for the areas of true interest to the player. It is possible to capture data logramithically which can be a benefit as this allows lower frequencies to store more data about them and store less about the higher frequencies, so that HF bands are not largely 10 buckets. If you would like, you can go ahead and provide us with this data, or other more accurate formats of data (such as stiching several 1MHz wide passes together into one file) that allows for more accurate data points.

Clone this wiki locally