Fitting Equivalent Circuits to Impedance Data

Typical resonator equivalent circuit

Impedance analyzers like the HP 4194 allow you to model an equivalent circuit to impedance data you measure.  This is often used to determine equivalent component values for a common resonator model such as the circuit shown at left.  Scan the impedance of your resonator around its resonant point, and the 4194 calculates the model components and shows you how close the model is to your measured data.

This is very useful for characterizing resonators, actual components with parasitics, and so forth.  But the 4194 only provides you with five common models, and it doesn’t include things like skin effect (where wire or inductor resistance increases proportional to the square root of frequency).  Wouldn’t it be great to be able to model arbitrary circuits and even include things like skin effect?

Here is a utility which does just that.  It’s called Zfit, and it looks like this:


Segment of transmission line
Segment of transmission line

This example is the result of fitting measurement data from 3 m of twisted pair transmission line mis-terminated in 49.9 ohms to a custom model consisting of six segments as shown to the right.  The red and blue are the measured impedance points and the black lines are the impedance of the model which Zfit found.  You can see the model matches the data almost exactly.  Each segment of the model contains multiple parallel R-L branches (as shown at right) to model skin effect in a SPICE transient simulation.

You can draw a weighting curve to cause Zfit to fit more closely to the data in some regions and not others. You can also draw your own piecewise-linear impedance curves for Zfit to model.  Models are easy to define and modify for whatever circuit you want to fit to your data, and you can include mathematical factors such as a \sqrt{f} dependency for skin-effect resistance.  You can lock or set model parameters to compare to different data sets.

Zfit is a Python 3.4 application and requires you to install Python (free).  You’ll need to make minor modifications to Python scripts, but hardly any knowledge of Python is required to create a wide variety of equivalent circuit models.  Please download Zfit 1.1 with complete installation and operating instructions from here.  You can also find a utility to capture HP 4194 impedance data suitable for input to Zfit from here (jump to the end of the post).  Please take a look at ZfitHelp.pdf for more information, and let me know how you use Zfit.  Have fun!