Beautiful HP 4194A Plots and Data

The Hewlett Packard 4194A is a workhorse impedance analyzer, still considered the gold standard by many and in wide use worldwide.  It is an autobalancing bridge, which provides remarkable wide range and accuracy, from 100 Hz to 100 MHz. I've had a 4194 for many years and get much use out of it, measuring transformer characteristics, ultrasound transducer impedance, cable characteristics, components, etc., but I've never liked the display format.  Here's the standard screen output, as rendered by an .hpgl to plot utility:
Raw HP 4194A plot
Pretty ugly, isn't it?  It's hard to get your bearings -- where are the axis and tick mark labels?  Min, max, center, and span are not very helpful.  You only see data for one marker at a time, even though two are displayed.  Only the log grid lines for magnitude are shown; the phase trace has no horizontal grid lines at all.  Also, the traces are jagged and ratty-looking (aliased).

Wouldn't you prefer seeing something like this instead?

4194Plot typical output

Ah, that's better!  You can immediately see marker values, and get a quick sense of the range and scale of both the plots and the frequency range.  Helpful colored grid lines guide the eye to the major tick marks on all axes.  Units are shown in engineering units for all axes.  Axis major tick marks are placed sensibly and scaled nicely, and the traces are smooth and anti-aliased.

This comes from a Visual Studio C# app I wrote called 4194Plot, in conjunction with Veusz plotting software, free from Jeremy Sanders.  I'm making 4194Plot available here for anyone who wants it, including the source code.  Here are a few more examples (click to see full resolution):

4194Plot reads data, markers, and units directly from the 4194 via GPIB, and plots are generated by Veusz in a variety of formats suitable for including in reports and publications.  You will need a GPIB to USB interface compatible with the National Instruments GPIB-USB-HS, but all the software you need is free.  I have installed it on two different Windows 10 computers. 


Download and install National Instruments NI-488-2 (GPIB) drivers, if you don't already have them from LabView or another NI installation.  Drivers are available here.  They are available at no charge as long as you don't specify support for an NI product.  Do select ".NET Framework 4.5" and "C/C++ Support".  The settings at right worked for me.

Download and install the Veusz plotting software from here. I have version 1.21.

Create a folder for your plot processing and put these files in it. When you double-click on 4194Plot.vsz there Veusz should start and display a default plot.

Download 4194Plot from here.  Unzip the file and run setup.exe.  When you do this, 4194Plot will start up and look like this, but the Output File field will be blank.  Click Select Output File and point to the 4194VeuszInput.txt file you installed in your plot processing folder above.


Connect your 4194 GPIB port to your plotting computer with a GPIB-USB-HS compatible interface and turn it on. Specify the board number (typically 0) and GPIB address of your 4194 to 4194Plot.  Now when you click Capture Data, a few seconds later the current 4194 display will be copied to 4194VeuszInput.txt and ready for Veusz.


Here's the normal sequence for creating plots using 4194Plot and Veusz:

  1. Start 4194Plot (e.g. from a desktop shortcut).
  2. 4194Plot remembers the GPIB information and output file you specified last time.  All you need to do is click Capture Data.
  3. When the data is captured, double click on 4194Plot.vsz in your plot processing folder.  Veusz will start and display the data just captured.  Select File / Export to produce a graphics file of the plot.
  4. For subsequent plots, leave Veusz open and do the following: in 4194Plot click Capture Data, in Veusz right-click on 4194VeuszData.txt in the right side column, Reload, Close, and File / Export again.

You will need to occasionally make some display modifications in Veusz, like selecting log axes, enabling/disabling marker or trace display, or if you want specific axis limits.  This is done in the left-side column.  Click on an object (like x axis), and the properties of that object are shown below.  You can select things like log display and min/max limits easily here.  The graph object has some notes on general operation.  When you click on an object it is highlighted in the plot display, so you can see what it is you're modifying.  You can completely customize your plot outputs by fiddling with the Veusz object properties here, too, if you want. If you want the entire Visual Studio 13 C# project for 4194Plot, including source, the latest version is available here.


4194Plot doesn't display gain/phase measurements.

4194Plot won't capture the dual traces which result from calculating Equiv Ckt on the 4194.  Please see below for a link to Zfit, a better alternative to this.

Please let me know if you find 4194Plot helpful, and what systems it's working on.  Good luck and happy plotting!


Data Acquisition (added 27 Dec 2014)

I've just updated this utility to include the capability to read raw impedance data suitable for input to Zfit, the impedance equivalent circuit utility found here.  Please download and install 4194Plot v1.1 from here, and you will have all the plotting capabilities described above plus impedance data downloading.  The full project is available here, also.