High Performance, Low Cost…

Impedance Measurement

Resistance measures the ability of a circuit element to resist the flow of current. An ideal resistor obeys Ohm's law at all voltages/currents, has the same resistance at all frequencies and for an applied AC signal, the voltage and current are exactly in-phase.

Impedance is a generalisation of resistance when applied to a more complex circuit element. While still describing the ability of the element to resist the flow of current, it is a useful measure in cases where the above properties no longer hold.

To determine impedance one typically applies an AC waveform across the element under test and measures the current response. The resulting AC current signal can then be analysed as a sum of sinusoidal functions.
The Analog Devices AD5933 chip is a complete impedance converter solution on a chip. It has an on-board programmable frequency generator and DAC to generate the excitation waveform, and a current amplifier and a 12 bit 1MSPS ADC to digitize the current. An on-board digital signal processing engine takes the digital Fourier Transform (DFT) of the resulting signal. The data returned by the DFT allows the magnitude and phase of the impedance to be determined at each frequency, and an impedance plot vs frequency can be measured by sweeping the frequency.

The impedance measurement range of the AD5933 is from 100Ω to 10MΩ at frequencies up to 100 kHz, with frequency resolution better than 0.1Hz. The accuracy of these impedance measurements from 1 kHz to 100 kHz is claimed in AD’s literature to be 0.5%.

The Impedance Analyzer described here interfaces an AD5933 to a P8X32A Propeller chip on a credit card-sized PCB, with a GUI to run the analyser via a USB connection provided by a customised LabVIEWTM front panel.

The user has full control over the frequency sweep settings (start, increment and # of increments ), as well as over a number of additional parameters relating to the excitation waveform and the current measurement.

The AD5933’s block diagram is shown at left. The on-chip DDS and DAC applies a sinusoidal waveform at the Vout pin to an unknown impedance Z(w). The op-amp in the bottom right of the block diagram is configured as a transimpedance (current) amplifier whose gain is set by an external feedback resistor RFB; this measures the current response at Vin. A 12 bit ADC digitizes this response, after which the signal is processed by a DFT engine.

In order to make reliable impedance measurements one must calibrate the system. This is described in the following section.

Impedance Calibration

On-board the impedance analyzer are two DG508 analog switches, visible in the middle of the PCB. Each DG508 selects one out of a set of 8 common resistor values (330, 1k, 3.3k, 10k, 33k, 100k, 330k and 1M). The first of these sets the conversion gain of the AD5933’s current amplifier - RFB in the above block diagram. The second DG508 selects a resistor for gain calibration.

To calibrate the instrument a jumper is placed on the two pin header JP1 and the header on JP2 is moved to the right hand position (pins 2-3 connected). This jumper placement puts the known resistance value between the Vout and Vin pins of the AD5933. Gain calibration is performed by choosing the same resistor value on each DG508, and then determining a magnitude value from the real and imaginary register values returned by the AD5933. These values are used to determine the gain factor via a procedure that is described in the AD5933 datasheet and summarised below.

Here, the sample calculation assumes a calibration impedance of 200k, with the same value for the current-to-voltage gain resistor RFB. (n.b. This resistor value is not actually present on this PCB but is merely to illustrate the method of calculation). Measurement conditions are PGA gain = x1, output excitation voltage = 2V (pk-pk) and calibration frequency = 30 kHz.

Typical results after conversion might be : Real reg = F064 hex = -3996 decimal, and Imag reg = 227E = 8830 decimal, resulting in Magnitude = SQRT((-3996)2+(8830)2) = 9692.106.

The all-important gain factor for this RFB value then becomes (1/(Impedance*Magnitude) = 1/(200000*9692.106) = 515.819e-12 = 5.15819e-10.

Prior to using the impedance analyzer PCB for measurements, this same gain calculation must be performed for each pair of 8 resistor values and the gain factors then entered into a table in the LabVIEWTM instrument panel. During the calibration, text fields allow setting both the calibration impedance and the feedback Rf values (numbers 0-7) and an additional text field Rf allows entry of the resistor value actually being used so that the gain can be calculated and displayed (cal. gain factor field).

Once calibrated in this manner, the instrument is ready for impedance measurements.

Measurement of an Unknown Impedance

To measure an unknown impedance, JP1 is removed and JP2 is placed in the left position (pins 1-2 connected). At each frequency during a frequency sweep the DFT magnitude is computed as SQRT(realval2+imagval2). To convert this magnitude into an impedance, we need to take the reciprocal of the product of it and the gain factor measured for that gain resistor setting.

For example, suppose we measure the following values for a nominal 510k impedance at 30 kHz : Real reg = FA3F = -1473 decimal and Imag reg = 0DB3 = 3507 decimal.

In this case the magnitude is SQRT((-1473)2+(3507)2) = 3802.863, and the measured impedance is 1/(Gain factor*Magnitude) = 1/(515.819e-12*3802.863) = 509.8k.

A screen capture of the LabVIEWTM front panel during operation is shown below. Here, the user can set the peak-to-peak excitation voltage, the PGA gain and the feedback resistor value Rf, as well as control the sweep settings (start frequency, frequency interval and # of frequencies). Also visible on the front panel are the set of 8 gain factors that have been pre-determined as described above.

The AD5933 data sheet should be consulted as to recommendations for how to set the various parameters to obtain optimum performance from the chip. Analog Devices application note AN-1252 also contains useful information about using the AD5933.

Test Results

In the experiment shown here, the excitation waveform is being applied to a circuit element consisting of a 4.3kΩ resistor in series with a parallel combination of a 0.01 μF capacitor and a 22 μH inductor - i.e. R (C || L). A 200 point frequency sweep has been performed, starting at 25 kHz and scanning up to 45 kHz in steps of 100 Hz. The blue trace at right shows the measured impedance as a function of frequency; a resonance is clearly seen at 33.6 kHz. The resonance frequency shifts down if either the capacitance or the inductance are increased.


Impedance measurements are useful in a number of fields, but particularly in materials, electrochemical analysis and corrosion studies. One interesting medical application described in AD’s literature is the use of impedance measurements in studying blood coagulation. Formation of blood clots can be prevented by administering an anti-coagulant drug such as heparin; during the clotting process impedance changes take place as the conductivity of a blood sample changes. For more information, visit

AD9834 Waveform Generator

The impedance analyzer board can also be populated with an AD9834 direct digital synthesiser (DDS) chip at U9. The AD9834 is located immediately to the right of the mini-DIN connector, just below and to the right of the AD5933.

If installed, the AD9834 allows generation of both sine and triangular wave outputs at frequencies up to 50 MHz, with sub-Hz frequency resolution.

Its two outputs are brought out to pins 3 and 4 of the min-DIN connector; separate on-chip frequency and phase registers are available for independent control of each these waveforms.

Impedance Analyzer External Connections

This PCB has two on-board connectors. The USB connector provides PC connectivity and a mini-DIN6 connector brings out the two connections (Vout and Vin) to the unknown impedance to be measured. The PCB also has an AD9834 chip on-board - see the box at left for a brief description of this.

Details of the mini-DIN6 pinout are shown below.
AD5933 Vin
AD5933 Vout
Waveform channel A
Waveform channel B