W8WWV - Exeter - VNA Control Software

Greg Ordy

What is Exeter?

Exeter is a program that is designed to control VNAs (vector network analyzers). The purpose of the control software is to make electrical measurements of a device under test (DUT) at a set of frequency points. The measurements consist of the reflection coefficient or transmission coefficient. Both coefficients are complex numbers. Each coefficient can be converted, by formula, into other useful quantities. For example, the reflection coefficient can be converted into resistance, reactance, inductance, capacitance, SWR, and Q. Examples for the transmission coefficient include gain, phase shift, and group delay.

The most complete VNA design can make reflection and transmission measurements at the same time through the use of two detectors, or a detector multiplexing scheme. The two electrical questions which are being answered are the nature of the signal being reflected from the DUT, and the nature of the signal passing through the DUT. If the direction of the test is reversed, and then repeated, a complete electrical characterization of the DUT is possible. The forward and reverse reflection and transmission coefficients are also known as the S parameters, S11, S21, S22, and S12.

Exeter currently assumes a single fixed hardware detector, which means that the VNA is making reflection or transmission measurements, but not both at the same time. There is also no mechanism for reversing the test direction under program control. As a result, Exeter measures S11 (reflection coefficient) or S21 (transmission coefficient). The DUT test fixture determines whether a reflection or transmission measurement is appropriate. Version 1.18 supports switching between two detectors.

This version of Exeter works with the N2PK VNA.

A collection of measurements based upon a frequency sweep is called a data set. Data sets can be saved to files, and reloaded for examination or comparison. The data set file format is the popular comma separated value format, which means that Exeter data can be easily imported into other programs such as Microsoft Excel.

Exeter uses a number of different tools to present the data in the data set to the user. Each tool is implemented as its own window. A group of tools, including their settings and parameters, defines what is called a configuration, and is stored in a file. A configuration can be thought of as a software test setup.

The data that describes the VNA is contained in a calibration file. The parameters include the parallel port access information and the master clock frequency. A Calibration File can optionally include either reflection or transmission calibration data for some user-defined frequency sweep. The stored calibration data is provided as a convenience feature, simplifying the process of making a measurement. That convenience may come at the expense of accuracy, if there are changes in the test setup between the collection of the calibration data and measuring the DUT.

Beta Software

Exeter is currently what is often referred to as beta software. Some functions and features are missing, and the amount of testing which has been conducted probably allows for an above average number of remaining bugs.  The basic program blocks are present, and the software has been tested for several months, providing useful results.  Given the high degree of experience and savvy in the community of potential users, the value of releasing the software at this point seemed greater than the loss of use if we were to wait several months for more progress to be made.

If you have questions about what's there, bug reports, or, suggestions about extensions and enhancements, please email them to me. One of the reasons behind releasing the software at this point is to use the suggestions from users to drive the completion of the program. Consider this first released version a start, not a finish.

Changes to the program will be recorded on the history page. If you want to know if there is a newer version, or, what bugs were fixed or enhancements made, check the page.

Supported Hardware

Exeter supports the N2PK VNA as described in two papers on the N2PK web site. The published design uses the LTC2410 analog to digital converter (ADC). Some implementations have moved to the LTC2440 ADC in the detector. The 2440 chip offers a set of 10 different ADC conversion rates. The ability to select the conversion rate increases the flexibility of the VNA. The expected hardware connection to the 2440 is presented on another page.

A group which I tend to call the OZ group, led by OZ1DUG, has extended the original 2410-based design to add an external clock to the ADC so as to provide 4 conversion rates. The Exeter software is designed to support the OZ modification, but has yet to be tested, since we do not have access to the hardware. If you have the OZ modification, and use Exeter, you will be the first to do so. Please let us know if there are any problems, and we will work with you to fix any bugs.

The VNA hardware configuration is selected on the VNA Hardware Control dialog, which is part of the Calibration Manager.

The ADC choice will control the population of all list boxes that allow selection of the conversion rate. If you have specified the 2410 ADC (the default), you will only have a single choice in the list box: 7 conversion per second (CPS). If you have specified the 2440 ADC, you will have 10 choices. If you specify the OZ version, you will have 4 choices. Although there is a default set of calibration settings, it's typical that the first thing a user does is create a formal Calibration File.

General Program Architecture

Exeter is organized as a central core surrounded by a number of tools. The core controls the VNA, and executes measurement requests made by the tools. Tool requests are placed in a queue, and are executed in a first-come first-serve order. When Exeter starts, the core dialog window is displayed.

Exeter Main Dialog Window

If you are familiar with the VNA, the fields on this dialog should make perfect sense. They capture the interaction with the VNA. The RF and LO frequency and phase fields show the current state of the DDS oscillators. The ADC sampled input, measured in volts, is shown. The rate field shows the ADC conversion rate for the most recent sample. The Avg. field shows the number of ADC readings which are being averaged together to arrive at the final measurement. All of these fields are read-only, they cannot be edited. They are provided as status indicators, showing the interaction between the program and the VNA. During measurements, these fields contain data which is changing quickly. If you do not want to see the data, the View->Show VNA Data command can be used to hide the VNA data fields.

The frequency units are MHz. This can be changed to KHz with a control on the Edit->Options dialog.

The window title bar contains the name of the Configuration File, followed by the name of the Calibration File. In this example, the configuration name is FilterTest, and the Calibration File name is ICOMCW.

The status bar contains three fields. The left-most field contains the name of the tool which has initiated the current measurements, or Ready, if the VNA is idle. The center field contains the name of the feed system, if one is selected. The right-most field is a status field, which contains a red circle if there has been an error in the communication with the VNA. It is a green circle indicates no error.

The File popup menu is used to select Configuration and Calibration Files, and the folders that contain them.

The Edit popup menu contains command that edit options, settings, execute the Calibration Manager, and display the Feed System Specifications dialog. The properties and parameters that are managed by these dialogs impact all of the tools in a configuration. These can be considered to be global to the particular configuration.

The VNA Settings dialog contains several important timing parameters. Here is a picture of that dialog. These parameters will be used by all measurements made by all tools in the current Configuration File.

VNA Settings Dialog
VNA Settings Dialog

Each time the RF or LO output changes, a setup time period must be allowed to pass before an ADC reading is started. This delay is needed so that a change in the response from the DUT can make it through the filter between the detector and the ADC. The ADC Setup Time parameter is this delay. There are two choices. in Auto mode, Exeter will determine the setup time. In manual mode, you can specify the delay, in milliseconds. This number is typically 10 ms.

The Auto Min Setup Time control is described in the Minimize Setup Time section.

The time interval between the start and end of an ADC conversion ranges from less than 1 millisecond for the fastest 2440 rate to approximately 140 milliseconds for the 7 Hz rate. The hardware interface between the ADC and the computer is based upon polling as opposed to being interrupt driven. In other words, the software must repeatedly poll the ADC to determine if the conversion is complete. This polling consumes all of the CPU, since the program is actively checking the conversion status - over and over again. Since Windows is a multitasking operating system, it would be better for overall system response if some or all of this conversion period could be used by other programs that might be ready to execute. On a modern computer, 140 milliseconds is a long time.

The ADC Sleep Time defines the interval that Exeter will sleep once an ADC conversion is started. The intent is that other programs on the computer (including other parts of Exeter) can make meaningful progress during the ADC conversion time. Of course once another program starts to execute, there is no guarantee that Exeter will regain control right at the end of the sleep period. Setting the sleep time too low may increase the ADC CPS, but the computer may seem more sluggish and less responsive. Setting the sleep time too high may slow down the response time of the VNA, and decrease the ADC CPS. The Auto ADC Sleep Time choice directs Exeter to determine the sleep time. The sleep time is some percentage of the overall conversion time. If you want to manually set the sleep time, a value in milliseconds can be specified.

When the Automatic DDS Power-Down control is checked, Exeter will automatically power down the DDS chips after some time interval of inactivity. The inactivity interval is specified in units of seconds. This option can be useful when operating the VNA from battery power. The two DDS chips consume approximately two-thirds of the power consumed by the VNA, so shutting them down can extend battery life.

There is a strong temptation to speed up the timing of the VNA in order to increase the throughput. At some point, the results will begin to accumulate error due to the insufficient time intervals. If you want to experiment with the timing, it is suggested that you keep a close eye on the stability of the results as you speed up the timing. When you can detect a deviation from expected results, the timing is getting a bit too fast. Timing may be a function of the frequency measurement range, and/or the DUT.


The VNA popup menu includes the VNA Reset command, and the Select Feed System popup. In order for the VNA to make accurate measurements, the two DDS oscillators must run in a synchronized mode which can only be established by commands from the computer. If the DDS chips, due to a power failure, lose that synchronization, then measurements made will be incorrect. Exeter performs a reset each time a measurement sweep is started. The VNA Reset command forces a reset. If a measurement is being made when the VNA Reset is requested, that measurement will be terminated, followed by a reset, followed the restart of the measurement.


The Tools popup menu contains commands which create a new instance of a tool. When a Reflection or Transmission Tool is created, it is given a name. The name can be changed on the tool's Edit->Tool Options dialog. The name is used for several different purposes. It will be placed on the title bar of the window. It will be used in the statusbar of the main dialog window when that tool is actively capturing data. It is used in Data Set Cloning. It is also used to reopen  a closed tool. When a tool is closed the window is removed from the screen, and the window is deleted. The underlying configuration information for that tool is saved. It is possible to reopen the closed tool. See the Close and Exit section.

Close and Exit

Close and Exit are important words in Exeter. Close means to close a single tool window, but the program continues to run. Exit means to exit the program, which will remove all windows as a side-effect. Sometimes, Close is accidentally used in an attempt to exit the program. This leads to the removal of that tool, but now the program continues. It is possible to recover a closed tool.

Exeter maintains information on last 16 closed tools. If you want to reopen a closed tool, use the Tools->Reopen Closed Tool menu command to display a list of closed tool. Select the tool that you would like to reopen. This is the way to keep from losing work in setting up a tool through an accidental Close, when Exit was intended.

Calibration Manager

The Calibration Manager is effectively a program within a program. Its purpose is to create, edit, and manage Calibration Files.  When the Calibration Manager is in use, the VNA cannot be used by other tools. The Edit->Calibration Manager command on the main dialog window menu is used to start the Calibration Manager. The Calibration Manager dialog is shown in the following screen capture.

Calibration Manager
Calibration Manager

The commands are:

  1. New: Create a new calibration data structure. All of the initial values are taken from compiled-in defaults. The data structure is not yet in a file on the computer, since it has not been saved. The Managed Calibration File field is set to <untitled>, indicating a new calibration data structure that has not yet been given a file name.

  2. Edit: Displays the Edit Calibration dialog. The current calibration data structure can then be edited.

  3. Save As: Saves the current calibration data structure to a file.

  4. Open: Open an existing Calibration File, and make its contents the current calibration data structure. The name of the file is placed in the Managed Calibration File field, indicating the source of the current Calibration Manager data.

  5. Open Selected: Open the Calibration File which is specified in the current Configuration File.

  6. Set as Selected: The Managed Calibration File will become the Calibration File which is used by the current configuration when the Calibration Manager closes.

  7. Delete: The Managed Calibration File is deleted from the file system.

Please note that the act of creating or editing a Calibration File in the manager does not, by default, have any impact on the Configuration File. In order for a Configuration File to use a specific Calibration File, you must select that file. There are two ways to perform that selection. You can either use the main dialog window File->Select Calibration File command, or you can use the Set as Selected button while in the Calibration Manager. This second option is provided as a convenience, since it not uncommon that a calibration is created for the purpose of being used in that configuration. But, you must make that selection explicitly, it is not assumed.

The next screen capture shows the Calibration Manager Edit dialog. This dialog is where all of the action happens.

Calibration Manager Editor
  1. Parallel Port I/O Address: Select the address of the parallel port which is attached to the VNA.

  2. Setup Hardware Control: Display a dialog that allows the selection of the ADC type. Also used to enable the second detector.

  3. Reserve Printer Port: Check this control if the access to VNA should use a printer to insure mutual exclusion.

  4. Name: Select the name of the printer port to reserve.

  5. Master Oscillator Frequency: Specify the master oscillator frequency.

  6. Adjust Frequency: Display a dialog that supports the interactive tweaking of the master oscillator frequency.

  7. Detector Selection: Select the detector which the calibration activity will use, as well as all tools in Configurations that use the Calibration. The Use 2nd choice is only enabled if a second detector is enabled on the VNA Hardware Control dialog (display by clicking the Setup Hardware Control button).

  8. Calibration Type: Select the type of the Calibration File, reflection or transmission.

  9. OSL Standards: 6 different fields which contain the Open, Short, and Load residual parameters. The default values are 50.0 for Rld, and zero for the other five parameters. These parameters are only part of reflection measurement calibration.

  10. Edit Calibration Notes: Each Calibration File has a notes section which can be used to hold a text message.

  11. Include Data: Check this control if you want the Calibration File to include calibration data. When this control is checked, the controls in the group box are enabled. The Start, Stop, Step, Rate, and Avg. controls define the desired calibration capture.

  12. Capture: Display a dialog that supervises the calibration data capture.

  13. View: Display the collected calibration data graphically, to aid in determining if the step size is appropriate. Not yet implemented.

Reflection Tool

A Reflection Tool is created with the Tools->Reflection menu command on the main dialog window. A coniguration can have multiple Reflection Tools open at the same time.

The tool window is divided into two regions, the Trace Manager and the graph area. The Trace Manager is a window which contains a standard treeview control. The treeview control is used to organize all of the data sets that the tool holds. The divider between the two regions can be moved to customize the area division. It is also possible to completely remove the Trace Manager through the View->Trace Manager menu command.

The graph area is organized as a tabbed view window. The Reflection Tool has three views of data. Rectangular, Smith Chart, and Table. The Table is not yet implemented. The views are simply different ways to look at the data sets which are listed in the Trace Manager.

The first step in making a measurement is normally to display the Tool Data Capture Specification dialog to select the parameters of the measurement. Once you have the desired capture parameters, click the Start tool bar button to begin the capture. The capture can be started with the Ctrl+S keyboard command, or with the VNA->Start menu command. If you want to abort a capture, use the Stop command.

There are two ways for a data set to be added to the treeview in the Trace Manager. A data set is created whenever a data capture starts and finishes without error. These data sets are given automatically generated names. These automatically generated names include an incrementing number which can set on the Edit->Tool Options dialog. A data set can also be loaded from a file through the use of the File->Open In this case, the file name becomes the data set name. The file name is assigned when the data is saved. Once a data set is part of the Trace Manager, it must be deleted to be removed. It can be deleted via a menu command, the keyboard, or a context menu. In all of these cases, the data set must be selected first by clicking on the name.

Here is an example Reflection Tool with a single captured data set. The DUT is a length of transmission line terminated with a mismatched load.

Sample Reflection Tool
Sample Reflection Tool

The Rectangular tab has been selected in the graph area, so the rectangular graph is the current view. The data set is named Reflection_159. The data set name is selected (blue box) in the treeview control, and, therefore, the Save As control is enabled. Save As saves what's selected. Within the data set, the Rs (series form resistance) and Xs (series form reactance) data quantities are selected, and are therefore graphed.

The checkmark in front of the data set name enables the display of data within the data set. If we were to click the box, the checkmark would toggle off, and nothing would be graphed from the data set, since the checkmark on the data set is effectively a master enable/disable control. The + sign in front of the data set check box controls the degree to which the treeview item is expanded. There are three settings - no expansion, partial expansion, and full expansion. Click on the + sign to cycle through the expansions. The example is in the partial expansion setting, since we are seeing some, but not all of the possible data which can be derived from the measured reflection coefficient data. The contents of the partial expansion are controlled by the Edit->Trace Options dialog. This dialog also contains the specification of the default display data which is used when a new data set is created.

There are approximately 25 different data quantities which can be derived and graphed from reflection data. If you are using a feed system, the number more than doubles, since each quantity has two locations - at each side of the feed line. The partial expansion feature is intended to keep the contents of the treeview control from always being so very long.

The top of the graph is devoted to an optional title. The right side of the graph is the legend. The bottom of the graph is the frequency axis. The left side of the graph is the Y axis label. Only one data quantity can be labeled at a time. The units on the Y axis are appropriate for the selected data quantity.

Data on an axis (including frequency), can have automatic scaling to the graph, or, fixed scaling. The previous example has automatic scaling. The bounds of the axes come from the data itself. The asterisk character at the end of the axis labels indicates automatic data scaling.

Individual data traces and the graph all have properties, which are managed with dialogs. Here are example trace and graph property dialogs.

Trace Properties Graph Properties
Trace Properties Graph Properties

Trace properties include the ability to set the weight (thickness) of the trace, and it's selected color. Markers can be added.  A marker will be placed at a user-settable data point interval. A number of marker shapes are provided. Arrows show the direction of increasing frequency, and are used on the Smith Chart view.

Graph properties include the title, and the ability to disable the legend. The remainder of the Graph Properties dialog contains settings for all of the possible data quantities, including the frequency. Use the drop-down Axis list to select the desired data quantity. All of the remaining controls on the dialog apply to the axis (data quantity) which is selected. The Manually choose axis range control should be checked if you want to manually set the axis limits. If this box is unchecked, the axis limits will be taken from the data.

Each data quantity can have grid or reference lines. These are dotted gray lines. In the above example, the SWR data quantity, when selected, will have a user-defined reference line at the value of 2.0.

Some data quantities share the same units. For example, the magnitude of the series impedance, series and parallel resistance and reactance are all measured in Ohms. When they are graphed at the same time, there are two choices. In one case, there is a single Ohms axis, and all quantities measured in Ohms are drawn relative to that axis. The other choice is that each quantity is treated independently, and although they are all measured in Ohms, there is no relationship between Ohms for one trace and Ohms for another. Both choices are valid, and the selected choice will depend upon the users preference.

By default, data quantities with the same units will be graphed on a single common axis. This was the case in the previous Rs and Xs graph, and each trace has been drawn to be correct with respect to the Y axis labels.

In the next example, the Rs axis was made independent of all of axes labeled in Ohm. This was done with the Axis is Enabled control. The data is the same as before.

Reflection Tool Example with Independent Traces
Reflection Tool Example with Independent Traces

The Y axis is now exclusively marked for the Rs data. The Xs data is still drawn, but it is being drawn relative to an invisible Y axis label (the single Ohms axis). The Xs data is no longer in the legend, since it's not being graphed against the current Y axis. In addition, the trace itself is drawn in a more washed-out shade of color, as a further indication of the fact that Xs data is plotted against a different Y axis.

One more comment on this example. The treeview item for the data set is now fully expanded, showing all of the possible data which can be graphed. If a feed system was in use, the amount of data would double, and additionally include the loss on the transmission line. In order to distinguish between the two ends of the feed system, an additional level of treeview hierarchy is available.


The next example shows the Smith Chart view of the terminated transmission line. The SWR on the line is a little less than 2. We would expect to see a circle, where circle slightly spirals in due to loss.

Smith Chart Example 1
Smith Chart Example 1

The treeview control for a data set in the Smith Chart view does not allow expansion unless a feed system is present.

It is possible to zoom in on both the rectangular and Smith Chart views. The keyboard/mouse commands are described in the next section. For this example, I zoomed in around the data, and created the following picture.

Smith Chart Example 2
Smith Chart Example 2

Arrows were enabled, and they help show the data as a function of frequency. When zoomed in on the Smith Chart, additional resistance and reactance axis labels are added to help interpret small regions of the graph.

If you hover over a plotted data point on the Smith Chart, a temporal tooltip will be displayed. The frequency of the point is contained within the tip.


The statusbar on the reflection and transmission tools is divided into several fields. Reading from the left, the fields are:

  1. Ready, or the capture status if a capture is in progress.

  2. The data under the mouse cursor. The rectangular graph shows frequency and data. The Smith Chart shows reflection coefficient and impedance.

  3. Man. for manual mode, Auto for automatic mode.

  4. The ADC rate.

  5. The amount of averaging.

  6. A progress indicator that is used during data capture.


Since a given configuration may contain several tools, each tool allows the customization of its window elements in order to save screen space. The window Caption, Menu, Toolbar, and Status Bar can be individually shown or hidden through commands on the tool View menu.

Graph Concepts and Commands

Here are some concepts and commands that apply to the graphs - rectangular and Smith Chart. The use of the terms left click and right click assume a normal mouse button assignment (right handed mouse).

  1. There are two ways to capture the graphic data in a tool. One is to print the graph. The second way is to use the Edit->Copy (Ctrl+C) command, and place a copy of the graph on the system clipboard. From there it can be pasted into documents and graphics programs, and then put into email, or web pages.

  2. A Left button click near a trace selects the trace.

  3. A right click brings up a context menu which includes the Graph Properties command. If the cursor is near a trace, the context menu will include the Trace Properties dialog for that trace.

  4. Clicking the left and right buttons at the same time is called chording. If done near a trace, then that trace is selected for as long as the buttons are down. This is a good way to momentarily highlight a trace and change the Y axis label to be appropriate for the data.

  5. Ctrl+Left button (hold down the Ctrl key) with a single mouse click moves the cursor point to the center of the graph, and zooms the graph by a fixed (and mysterious) amount.

  6. Ctrl+Left button with a drag operation (hold down Ctrl until done) creates a drag rectangle. When the button is released, the graph is zoomed to hold the draw rectangle. On the Smith Chart, it is not possible to change the aspect ratio.

  7. Ctrl+Left button with a drag operation, which is performed over an axis label region and not over the data part of the graph, will zoom just that axis, the other will be unchanged.

  8. Ctrl+Shift+Left button is a zoom out gesture.

  9. Ctrl+Shift+Left double click is zoom to fit.

  10. If the overall window is resized, that implies a zoom to fit operation, unless the Ctrl key is held down, in which case the graph zoom stays the same, even though the window is changing size.

  11. Some of these commands are available on the Graph popup menu on each tool.

Transmission Tool

The Transmission Tool is conceptually similar to the Reflection Tool. The main difference is that the Transmission Tool does not support a Smith Chart view.

Here is an example Transmission Tool graph.

Transmission Tool Example
Transmission Tool Example

The dotted grid lines on the graph are visible because grid lines have been enabled on the Graph Properties dialog for both the Gain Magnitude and Frequency  axes.

Secondary Tools

The secondary tools include an RF Generator, and a Distance to Fault tool. Each of these tools is displayed in a modal dialog window. While a secondary tool is in use, no other tools can access the VNA. These tools, due to their focused purposes, require exclusive use of the VNA.

The RF Generator allows each VNA output to be controlled, including its frequency and phase. The signals can also swept through a frequency range. Note that the sweep time is based upon the computer timing, which is not guaranteed to be accurate.

The Distance to Fault tool is designed to be used with transmission lines. The tool computes the physical length of a transmission line by making measurements at two different frequencies, and using the reflection coefficient information to compute the length of the cable. Other cable parameters, such as the electrical length, are also computed. The tool includes an auto mode that measures the cable at a number of different frequency pairs, attempting to select the pair with the most accurate answer. NOTE: the tool assumes the use of 50 Ohm transmission line. If you use cables of other characteristic impedance values, there will be errors in the phase information, except at 0 and 180 degrees.


Exeter uses several different file types to hold various bits and pieces of information.

Calibration Files

Calibration files are created by the Calibration Manager. The have a .ecf (Exeter Calibration File) suffix. A Calibration File has three purposes.

  1. Describe the VNA connection and setup, in terms of the parallel port address and the master oscillator frequency.

  2. Define the type of the calibration, either reflection or transmission. If reflection, then the OSL standards residual parameters can be entered.

  3. Optionally hold calibration data for some user-defined frequency span.

Exeter maintains a name in the system registry which defines the folder that holds Calibration Files. Since it is in the system-wide registry, it will be common to all Configuration Files. You are under no obligation to store all Calibration Files in a single folder. This feature is just a convenience so that the Open Calibration File dialog has a useful initial value.

Configuration Files

A configuration is a set of tools, with their associated window and graphing properties. A configuration can be stored in a file, and reopened as needed. Configuration Files have a .ecg (Exeter ConfiGuration) suffix.

Exeter also accepts a command line argument which is the name of a Configuration File. This makes it possible to create a shortcut to Exeter which includes a particular Configuration File name as an argument. When you open that shortcut, you will start Exeter with that Configuration File in use. For a commonly used configuration, this is easier than starting Exeter and then opening a Configuration File once the main dialog window appears.

Configuration Files are automatically saved when the program exits, or when the configuration is changed with the New Configuration or Open Configuration commands. You may also explicitly save the Configuration File at any time. It is possible that an unexpected system crash will leave the Configuration File in an unupdated state.

Configuration Files are useful when you get a number of tool windows all set up on the screen, and you have spent some time adjusting various parameters, and you expect to want to return to that same situation in the future. In that case, you should save the state to a Configuration File with a useful name. You can then immediately return to that state by opening the configuration.

Exeter maintains a name in the system registry which defines the folder that holds Configuration Files. Since it is in the system-wide registry, it will be common to all Configuration Files. You are under no obligation to store all Configuration Files in a single folder. This feature is just a convenience so that the Open Configuration File dialog has a useful initial value.

Data Set Files

A data set file is created by selecting a particular data set in the tool tree view control, and then clicking the Save Data Set As command. The data set files are written in the popular comma separated value (csv) format. Other programs, such as Microsoft Excel, can directly read this format. The contents of the data set files are controlled by the user, through settings on the Edit->Save Data Options dialog. The frequency and reflection or transmission coefficient are always written to the data set file, since this is the data that Exeter uses when the file is opened. Other data quantities, however, are included if selected by the user on the dialog.

As an example, let's say that you wanted to look at the reactance and the capacitance of a data set in a program such as Microsoft Excel. You should bring up the Edit->Save Data Options dialog and enable reactance and capacitance data saving. When you create a data set file, columns for reactance and capacitance will be included in the file. When you open the file in Excel, you will see labeled columns for the frequency, reflection coefficient, reactance, and capacitance.

When a data set is saved or opened, the initial folder is the last folder used to save or open a data set file.

Zplots, by Dan, AC6LA

Dan, AC6LA, has created a program based around Excel called Zplots. This program reads a number of data file formats (including the Exeter .csv files), and creates both rectangular graphs and Smith Chart displays. If you are looking to extend your data analysis capabilities, this is a good program to download. It is available from a page on his web site.

Measurement Options

Although measurements are made from different tool types, they all provide a similar control of the measurement process. Here is a typical dialog which controls the capture settings for a data set.

Typical Tool Data Capture Dialog
Typical Tool Data Capture Dialog

The Display data from Tool is used with Data Cloning.

The Start, Stop, and Step values define the frequency points that will establish the range of the data set. The default units are MHz., but this can be changed to KHz with a setting on the main dialog window Edit->Options dialog.

The VNA Data Collection controls establish the parameters that will be used to capture data and create a data set. Different tools have independent data collection parameters. The rate is the ADC conversion rate. The choices that populate the drop-down list control are a function of the type of detector that is specified in the Calibration File. The 2410 ADC has a single choice, 7 Hz. The Avg. field defines the number of ADC readings that will be made and then averaged to create the final reading.  Averaging improves the signal to noise ratio of the measurement.

The Restart Controls determine when a data set should be created. If the choice is Manual, then the user must click the Start button, which is the same as the Ctrl+S keyboard character, in order to start a measurement sweep. If the choice is Auto, then a new data set will be automatically started after the completion of the previous data set. The delay interval, measured in milliseconds, is the interval between the end of the last data set, and the start of the next.

Always prompt for attached DUT forces a prompt dialog each time a measurement starts. If the tool is in Auto mode, only the first measurement in the sequence will have a prompt. This option is useful when you want to always have a prompt, even when the test setup has not changed. The sense of the Always prompt for attached DUT control is negated if the Shift key is held down when the measurement starts. This is useful when you want to force a prompt, but just for some single measurement (or measurement set if in Auto mode).

The Create a new data set for each capture control determines if a new data set is added to the list of data sets in a tool, or, if the most recent data set should be replaced with the new data. This control is typically used to enable real-time operation, where only the last data set is retained and displayed.

The Perform Tool-Specific Dynamic Calibration control forces the tool to collect calibration data as part of the measurement. If this control is not checked, then the tool will attempt to use the existing calibration data in the Calibration File. If calibration data does not exist, or, it the range of the capture is outside the range of the calibration data, an error will be generated. Tool-specific calibration will occur at the frequency points specified by the Start, Stop, and Step values.

If the calibration data in the Calibration File is used in the creation of a data set, the frequency points need not match between the sweep points and the points in the file. The Calibration File data will be interpolated to create calibration data between actual points. This, of course, can compromise accuracy. If you wish to save data in a Calibration File, it may make sense to sweep the entire VNA range with relatively close points, since this data might be used over and over again in many different measurements. I'm speaking of reflection data here, not transmission, since that tends to be very specific to the DUT.  Even if it takes 30 minutes to generate the calibration data, the resulting file can be used for many future measurements. This approach allows the VNA to be used as a form of antenna analyzer, since it it always ready to make reflection measurements across its range, without having to perform calibration.

Once tool-specific calibration is complete, and so long as the Start, Stop, and Step values do not change, the dynamic calibration data will be reused in subsequent measurements. Click the Reset button to discard dynamic data.

Whenever the required VNA setup (reflection open, reflection short, reflection load, transmission open, transmission through, DUT) changes, you will be prompted to attach the required device. The prompt dialog is:

Prompt Dialog
Prompt Dialog

The dialog describes the device that is expected. Click OK when the setup is ready. This dialog also shows a real-time update of the quadrature readings. The numbers are the measured voltages. The stream of readings has the LO phase shifted by 90 degrees on alternating readings. These two readings are considered to be the real (Re) and imaginary (Im) components of the measured coefficient. The voltage range is -1.25 to +1.25 volts. The progress bars (or thermometers),  show the voltage graphically. The limits are -1.25 volts on the left, and +1.25 volts on the right. This information, especially the progress bars, has been helpful in detecting poor connections in the test fixture. Excessive noise or loose connections will show up as erratic movement in the blue bars.

Minimize Setup Time

The Minimize Setup Time control changes the way in which data is collected. The alternative method has the potential for an increased data collection rate over the standard method. This improves the real-time response of the VNA. It is also possible to reduce data accuracy if this alternative is abused.

The standard data collection method has the following steps.

  1. The RF and LO outputs are set to the next frequency, with a zero degree phase shift.

  2. The setup time interval is allowed to pass.

  3. An ADC conversion is made, and the result is recorded. If averaging is being used, a set of conversions are made, and then averaged before recording.

  4. The LO output is shifted by 90 degrees.

  5. The setup time interval is allowed to pass.

  6. An ADC conversion is made, and the result is recorded. If averaging is being used, a set of conversions are made, and then averaged before recording.

  7. Move to the next frequency point (back to step 1).

This process is repeated for each frequency point.

The setup time intervals in steps 2 and 5 must be the full setup period, since the RF and LO phase was shifted by 90 degrees between the two readings. The ADC result may change significantly between these two readings, and a larger voltage swing will take longer to pass through the filter before the ADC.

The alternative, or minimized method has the following steps.

  1. The RF and LO outputs are set to the first frequency, with a zero degree phase shift.

  2. The setup time interval is allowed to pass.

  3. An ADC conversion is made, and the result is recorded.  If averaging is being used, a set of conversions are made, and then averaged before recording.

  4. Both the RF and LO outputs are set to the next frequency.

  5. A second time interval (the minimized setup time) is allowed to pass.

  6. Return to step 3, so long as there are more frequency points in the sweep.

  7. Return the RF and LO outputs to the first frequency, this time with a 90 degree phase shift.

  8. Repeat the measurements at all frequency points.

In the standard case, the LO phase is shifted before moving to the next frequency. In the alternative method, all frequency points are measured with a zero degree phase shift, then repeated with the 90 degree phase shift.

It has been observed that in the case of closely-spaced frequency points, the data at either the zero degree or 90 degree phase shift tends to change slowly from point to point. This means that the time that it takes to pass through the filter is reduced. So long as the data is changing slowly, it is not necessary to wait as long as when the phase of the LO output changes by 90 degrees, which might cause a large change in ADC data. We have found that in the case of typical reflection measurements, with closely-spaced frequency points, the minimized setup time can be as low as 2 milliseconds.

If you choose to experiment with this mode, be aware of the trade-off between accuracy and data collection performance.

Real-Time Measurements

When using a faster ADC conversion rate, it is possible to move towards real-time measurements, where the update of the screen is happening quickly enough to allow the screen to be redrawn with new data several times a second. Here are some hints on real-time measurements. These comments reference the previous Typical Tool Data Capture Dialog.

Real-time operation may demand having the 2440 ADC. This chip supports 10 different conversion rates, from 7 Hz to over 3500 Hz.

When making real-time measurements, it is usually a good idea to turn off the Create a new data set for each capture control. If this control is checked, you will generate a new data set for each measurement, and that can amount to a lot of data.

It may be worthwhile to experiment with the Minimize Setup Time function since it can potentially improve the data collection rate of the VNA.

In real-time measurements, some amount of accuracy may be traded for faster response. Sometimes it is helpful to begin the measurement session with a set of ADC data collection parameters that provide a highly accurate result. In other words, reduce the ADC rate and use more averaging. Save this data set, and keep it visible on the window, even when making real-time measurements. The first data serves as a baseline measurement that can aid in evaluating the real-time response.

Data Set Cloning

In some situations, it may be desirable to have multiple data views of a single measurement sweep. It is certainly possible to duplicate the capture specification in more than one tool, and have each tool operate independently of the others and in parallel. The downside of this approach is that at least twice as much VNA bandwidth is being consumed as is necessary. Of course if you need separate ADC rate or averaging parameters, then the captures must be separate, even if they are similar.

Assuming that it is acceptable to share all aspects of a data set, it is possible to collect data once, and share it among any number of tools. This is called data cloning, since a data set is copied from one tool, and presented to others. Data sets are copied as they are created after a measurement completes.

Cloning is enabled by a setting on the Tool Data Capture Specification dialog. The Display data from Tool radio button must be set. In addition, the edit control associated with the radio button must contain the name of the tool that will provide the cloned data set. By default, the edit control is initialized with the default name of the tool type, either Reflection* or Transmission*. The name is case-sensitive. It is not an error if the name specified does not match an existing tool name. In that case the tool will simply never be provided with a cloned data set, since a matching name source does not exist. A Reflection Tool can only send data to another Reflection Tool. A Transmission Tool can only send data to another Transmission Tool. The name of a tool is shown on its title bar. The name can be changed on the Edit->Tool Options dialog. The default name of the first Reflection Tool is Reflection. The default name of the first Transmission Tool is Transmission.

The asterisk (*) character at the end of the tool name is a wildcard matching character, and matches zero or more characters, without concern for the actual characters.

A cloned data set tool can accept data sets from more than one source tool. All of the source tools should have the same name, which is the name specified in the cloned data set tool. A source tool can send data sets to more than one cloned tool.

When cloning is enabled in a tool, both the Start and Stop commands will be disabled. A cloned window simply receives data when another tool (or tools) completes a measurement sweep. The cloned window no longer starts or stops anything on its own. Only one level of data set forwarding is allowed. When a tool receives a cloned data set, it can not pass it on to another tool.

A cloned data set tool displays no more than one data set from a source tool. After the first cloned data set is created, future data sets from the same source tool will replace the previous data sets from that source tool.

Cloning can be useful in many situations. As an example, you can view a single data capture both on the Smith Chart, and as a rectangular graph. Have one tool perform the capture, and then the other tool receives a cloned copy of the data set from the first. As you recapture data, both tools will follow the new data.

Another example is when you need to view the concatenation of more than one data set on one tool. Let's say that you wanted to sweep two frequency ranges that do not overlap on one graph. You could set up two tools, each performing a capture of a range. Make sure that both tools have the same name. Create a third tool, and change its capture parameters to accept data sets from that single name, which actually implies two source tools. Each source tool feeds the third tool with data sets, and it draws them on a single graph.

Feed Systems

Exeter supports the concept of a feed system. A feed system is an extension of the reference plane through a section of homogeneous transmission line. The reference plane is the physical point where calibration of the VNA takes place. Measurements of a DUT should take place at the reference plane, since that is the point where the calibration is valid. In some cases, it is not convenient to place the DUT at the reference plane. The classic example is an antenna, which might be sitting on top of a tower. In this case, a feed system, which is described as a cable type and cable length, can be used.

The feed system is useful for reflection measurements, but not transmission measurements.

The VNA will measure the reflection coefficient at the reference plane, which is also the input end of the feed system. The reflection coefficient will be transformed, by formula, to the load end of the feed system. The use of a feed system causes a second set of data quantities to come into existence. This is the data at the load end of the feed system. The data at the input end is also available - after all, that's the reference plane. The transformation is made with a lossy transmission line model. This should improve the accuracy of the feed system transformation, and also provides yet another data quantity, which is the loss on the transmission line.

A feed system is a property of a Configuration File. If defined and enabled, it will be used in all reflection measurements made with that file. In other words, all tools in that configuration will assume and use the feed system.

Errors in the feed system electrical properties, or the specified length, will increase errors in the transformed data. If the highest accuracy is desired, then it will probably be necessary to run tests on the transmission line itself in order to characterize it as precisely as possible.

Since the feed system is common to all tools, the commands to control the feed system are located on the main dialog window. Use the Edit->Feed Systems command to specify a feed system. Use the VNA->Select Feed System to select a feed system (or no feed system). When a feed system is being used, its name will appear in the middle field of the Status Bar.

Two Detectors

Version 1.18 of the software supports two detectors following a basic use model. Each Calibration File specifies the use of either the first or second detector. All tools in Configuration Files that use that Calibration File will use the specified detector. It is not possible in version 1.18 to use more than one detector in a Configuration (unless you manually change the underlying Calibration).

In order to use a second detector, begin by enabling the second detector on the VNA Hardware Control dialog. Display this dialog by clicking the Setup Hardware Control button on the Edit Calibration dialog.

Here is a screen capture of the VNA Hardware Control dialog window.

VNA Hardware Control Dialog
VNA Hardware Control Dialog

If your wish to allow the use of the second detector, check the Second Detector check box. When this control is checked, the second detector hardware choices will be enabled. Note that the OZ detector is not allowed as a choice for the second detector, since that particular interconnection has not been specified in any hardware roadmap.

Once the second detector is enabled, then the Detector Selection controls on the Edit Calibration dialog will be enabled. Use these controls to select either the first or second detector. With this initial two detector support, a single Calibration File holds either reflection or transmission data, but not both.

The timing parameters on the VNA Settings dialog will be used by the selected detector. If you intend on thinking of the detectors as slow and fast, and if each has different timing parameters, then you will want to set the data on the dialog appropriately. The VNA Settings are saved in Configuration Files, not Calibration Files. In this case, Configuration as well as Calibration Files will be detector-specific.

The main dialog window group box ADC label will reflect the most recently used detector. It begins with the text ADC. Once a measurement is made, it will then be changed to either ADC #1, or, ADC #2.

Version 1.23

After a number of years, we have an update, version 1.23. This section explains most of the changes. You can also consult the History page and the Download section below.

The program was modified to export GCSV format files. This is a particular version of the standard CSV format that can be imported into the LBDXView program. This makes it easier to compare measured antenna data to modeled data.  To export GCSV files, select a single data set in the Reflection Tool. Then, using the command menu, select File->Export. On the Export Exeter Data Set File dialog, select LBDXView GCSV Files from the drop down list of file types.

A dialog named Copy Data Set with New Zo was added. This dialog only applies to individual reflection data sets. It can be displayed when a single data set is selected in the Trace View. Use either the File->Copy Data Set with new Zo commnad, or, right click over the data set name to display a context menu with the same command. The intent of this dialog is to create a new data set based upon an existing data set. The new data set has its complex reflection coefficient adjusted to be correct for a different Zo. Although the VNA hardware is a 50 Ohm system, it's not uncommon to measure data from a device that is targeted for a different system. Note that I am speaking about reflection data, not transmission data. For example, the impedance of an antenna system might be 75 as opposed to 50 Ohms. Assuming a perfect match of 75 Ohms, a 50 Ohm system would report the SWR as being 1.5 (75/50). Since the perspective is centered around 75 Ohms, it would be nice to be able to view quantities such as SWR with a 75 Ohm system impedance. The SWR would then be reported as 1.0, which is correct for a 75 Ohm system. This dialog creates a new data set with a new Zo. This is done by noting the new Zo value, and then converting the reflection coefficient to the new Zo. For quantities based upon impedance, nothing displayed will change. For example, a measured impedance of 12 + j34 Ohms is the same no matter what the system Zo is. Only quantities based up the reflection coefficient with reference to a Zo (such as SWR) will change.

To better support this new feature, the Zo of a data set is now being reported on several dialogs and windows. The Smith Chart view is also aware of the Zo setting, and will report the Zo in use on the status bar. This means it is now possible to renormalize the Smith Chart in Exeter.

The next dialog added is named Compute Derived Data Set. This dialog applies to reflection data. Display the dialog using the File->Compute Derived Data Set command, or, off of the context menu over the Trace View.

This dialog lets you pick two data sets from the existing list of data sets in the Trace View. A new data set will be computed based upon the data in those two sets. The function defining the new data is determined from a drop down list on the dialog. The current choices include:


System Requirements

Exeter has been tested on Windows 98, Windows 2000, and Windows XP.  Performance (clock speed) of the CPU is not critical. Exeter will require a single parallel port (printer port), which is used to connect the VNA to the computer.

If you are going to use Exeter on Windows NT, 2000, or XP, it is necessary to use additional software which enables I/O instruction access for Exeter. By default, these operating systems do not allow programs direct access to the parallel port hardware. That access is is required since the VNA connects via a printer (parallel) port. Many packages exist which manipulate the access permissions of programs. One that we use is named Userport 1.0. It seems to work well, and is free.

The current Exeter self-extracting download file is approximately  825 Kilobytes. The download program is executed to perform the Exeter installation. Total installed disk space consumed is approximately one Megabyte.

Exeter help information is viewed through the HTML Help viewer.

Software Download

Through this section you can download the current version of Exeter.

When you download Exeter, you are actually downloading a self-extracting compressed archive file onto your computer. The downloaded file name is a combination of the program name (Exeter) and the program major version number.  In order to install Exeter, you must execute the downloaded file. The install program is in the form of the common installation wizard. You will be asked several questions that will customize the installation for your computer.

One of the installed programs is the Exeter uninstall program. You should use this program to remove Exeter from your computer. The uninstaller will remove all Exeter files, and remove Exeter-specific entries from the system registry. The uninstall program will also be available from the Add/Remove Programs applet on the Control Panel. Data files that you create (Calibration, Configuration, and Data set files) will not be removed.

Although Exeter includes an uninstall program, you are responsible for the downloaded self-extracting installation wizard file. In other words, the uninstall program does not remove the downloaded file (it removes the installed files). After Exeter is installed, the downloaded file may be manually deleted.


Finally, the software. The following table contains the Exeter major releases, in reverse chronological order (most recent is first).


Release Date

Description (Size)

Download File


History Information


Dec. 25, 2005

Version 1  (820 KBytes)


Download Now!


1.23 Dec. 3, 2010 Version 1 (904 KBytes) Exeter1_23.exe Download Now! View

Additional installation and operation information can be found in the on-line documentation (next subsection).

NOTE: Because it was so long between the last two releases, we have left both (the newest and the previous) download files. The install program program on the newest version has an unfixed bug that causes it to not understand that it has updated the version. So, it will always report the 1.20 previous version. In other words, use the installer and ignore what it reports for the existing version.

Exeter Documentation On-Line

Documentation for Exeter is currently being developed. If you click on Help buttons in the program, or other help request actions (such as using the question mark  located on the title bar on a dialog), you will either bring up the standard help viewer at a non-existent page, or, get no response at all.

Gary O'Neil, N3GO, put together a quick start guide for Exeter. This document has been used by several beta testers, and it helps the new user get going. Gary was the first beta tester of Exeter, and he has been invaluable in helping find bugs and suggesting new features and functions.

Problems, Questions, Comments?

If you have problems, questions, or comments (concerning this software), please contact me via email, at Exeter@seed-solutions.com.

License and Legal Notices

Exeter was developed by, and is owned by Seed Solutions, Inc. Copyright ,  2005, Seed Solutions, Inc. All rights reserved. No warranty of any kind is made as to performance, or fitness of use in any application. Your use of this software is your agreement with these terms. You agree to hold Seed Solutions, Inc. free from responsibility for any damages that may or may not be associated with the installation or operation of the program.

This software may be redistributed in original form. No fee may be charged for redistribution without the prior and specific written consent of Seed Solutions. Inc. This software is licensed for personal and non-commercial use only, and is subject to the export laws and regulations as defined by the State Department of the United States of America, and other applicable regulatory agencies.

Windows, Windows 98 Windows 2000, Windows XP, Excel, are either registered trademarks or trademarks of Microsoft Corporation. Other product and company names mentioned on this site may be the trademarks of their respective owners.

Back to my Software Page

Last update: Monday, January 24, 2011 11:00:24 AM
Back to my Home Page