Fast Frequency Sweeps for Impedance Measurements

When characterising a device or material as a function of frequency, the resulting spectrum may change with time as the environment or material itself evolves. This time evolution can be captured by taking sequential frequency sweeps with the LabOne Sweeper Module on the MFIA or MFLI. Each sweep requires 20 ms per point, so a typical sweep of 500 points will require 10 seconds at the fastest. This is a convenient and reliable way to track the time evolution of your sample, and is easy to set up with LabOne.

However, for cases where even faster sweeps are required it is possible to configure LabOne so that you can acquire sweeps at a sub-second rate. In this blog post, you will learn how to set up a 1024 point sweep which is updated in just 300 ms as shown in Figure 1.

Figure 1: Gif capturing a realtime view of the DAQ Module showing a 1024 point sweep of the impedance phase measured over a frequency range of 50 kHz to 500 kHz. The sweep is updated every 300 ms.


You will need…

To set up such fast sweeps, we exploit the advanced flexibility of LabOne, and its many modules. Here are the modules you will need:


6 steps to fast sweeps:

  1. Produce a square voltage pulse using the Threshold Unit.
  2. Route to the Aux Module and scale.
  3. Feed this pulse into the PID module and outpoint a frequency ramp.
  4. Adjust the PID to modify the frequency sweep rate, display in Plotter module.
  5. Open the DIO Module and configure the trigger signal.
  6. Open the DAQ Module and trigger to acquire fast sweeps.


Those steps in more detail:

Step 1: The Threshold unit is a powerful tool which can make fast outputs based on the received inputs. Here, we configure this module to produce square voltage pulses (as described in more detail in this blog post). Figure 2 shows the configuration in more detail, note that only threshold unit 1 is used (the uppermost line).

Figure 2: Screenshot of the Threshold Unit, showing the configuration for square voltage pulses. Click on the figure to zoom.

Step 2: Using the Aux module, we select “TU Output Value” as our output signal on channel 1 and scale and offset until the output at “aux output 1” is a square pulse from +1 V to -1 V , centred around 0 V (use the Plotter Module to monitor Aux Out 1).  Figure 3 shows the configured LabOne Aux Module.

Figure 3: Screenshot of the Aux module, showing the configuration to scale the pulses to +1 V to -1V. Click on the figure to zoom.

Step 3: Open up the PID/PLL Module and select as an input “Aux in 1” and as an output “Oscillator Frequency 1”.  The frequency sweep range can also be defined here, in this case a centre frequency of 500 kHz, with lower and upper limits of -450 kHz and 500 kHz respectively. This corresponds to a frequency sweep starting at 50 kHz to 1 MHz. The sweep rate can be adjusted with the I value, and the P and D should be left at zero. Once set up, enable the PID. The annotated set up is shown in Figure 4.

Figure 4: Screenshot of the PID/PLL Module, with annotations. Click on the figure to see the full settings.

Step 4: Use the Plotter Module to display the frequency sweep and adjust the PID parameters to tune the sweep rate according to your experimental requirements.

Figure 5: Screenshot of the Plotter Module, showing the oscillator frequency ramp from 50 kHz to 500 kHz with a period of 300 ms (brown trace) and the square pulse used to define the period and for triggering (purple trace). Click on the figure to zoom.

Step 5: As triggering needs to be precise, we use the internal digital trigger to avoid any analog delay. Open the DIO Module as show in Figure 6. Set Trigger out 1 to be “Threshold 1”. This will be used to precisely trigger each sweep/shot.

Figure 6: Screenshot of the DIO Module, showing the Trigger Out 1 configured to be the output of Threshold Unit channel 1. Click on the figure to zoom.

Step 6: Now in the Data Acquisition Module, set the Trigger Signal to be “Demod 1 Trig Out 1” and chose either postive or negative edge as a trigger. Then add the desired traces to the vertical axis group in the control sub-tab, and don’t forget to add “Demod 1 Sample Frequency”, as this will include information on the frequency in each sweep. Now click on Run/stop and your sweeps should appear and update every period as defined by your initial voltage pulse period. Use the columns field in the “Grid” subtab to define the length of the sweep. Once you have optimised your parameters, you should see shots in the Data Acquisition Module which correspond to the desired frequency sweeps, as show in Figure 1.


Sanity check
In order to check that the sweeps seen in Figure 1 match those done by the Sweeper Module, we sweep the sample over the same frequency range as in Figure 1 (50 kHz to 500 kHz). The position and amplitude of the features in the Sweeper can also be observed in the Figure 1, demonstrating a high level of fidelity despite the high sweep rate.

Figure 7: Screenshot of the Sweeper Module, showing a sweep taken from the same sample over the same frequency range as in Figure 1 (50 kHz to 500 kHz). The position and amplitude of the features in the Sweeper can also be observed in the Figure 1, demonstrating a high level of fidelity despite the high sweep rate. Click on the figure to zoom.

To enable a more detailed comparison, we place a zoomed section of the Sweeper Module data next to that of the DAQ Module in Figure 8. We see a good match, and much of the salient details are well captured. However the amplitude of the phase is not fully resolved, as is some finer structure such as the shoulder on the left flank of the main peak. This confirms that measuring faster has a cost in resolution.

Figure 8: Comparison of Sweeper Module data on the left and DAQ Module data on the right, taken over the same frequency range (260 kHz to 292 kHz), the salient features match well, but some fine structure is not capture. Click on the figure to zoom.


Some Caveats to keep in mind:

    1. The MF-PID option is required (get in touch for a trial version).
    2. The x-axis of the resulting sweep is in timebase (ms) rather than frequency. It requires an addition step in post processing to convert this.
    3. No input range changes are possible during these fast sweeps, so the current and voltage inputs need to be fixed and autoranging disabled.
    4. The measurement bandwidth is fixed over the complete fast sweep, in contrast  to standard sweeper where the bandwidth is automatically optimised based on the frequency.
    5. There is no settling time delay built into each data point, which will reduce the accuracy compared with using the sweeper module.
    6. For reactive DUTs, the RC response time of the DUT will give rise to an a delay in the frequency hence a further inaccuracy compared with using the Sweeper module.


About the DUT

The device under test (DUT) used in the blog post was a simple piezoelectric buzzer (TDK PS1550L40N). These devices exhibit several phase resonances, making them ideal test samples for impedance sweeps.


Figure 8: Screenshot of the Sweeper Module, showing a sweep taken from the test DUT over the same frequency range as in Figure 1 (50 kHz to 525 kHz). The capacitance and phase are shown in green and orange respectively. Click on the figure to zoom.


In this blog post, you have seen how to set up fast frequency sweeps using the MF-PID option for times when the Sweeper module is not fast enough your your experimental needs. This technique pushes the limits of the MFIA or MFLI, and therefore please consider the list of caveats above. The Sweeper Module will always be the best choice for accuracy, but this technique will be very useful for characterising the time evolution of the response of a device or material over a range of frequencies. Please get in touch for more details, we’ll be happy to hear how you intend to use this measurement technique.


Thanks to Jan Šedivý for proposing this technique and to Meng Li for your help in optimising the implementation


Related Blogs

An alternative method of fast frequency response measurement without sweeping can be implemented using the UHF-AWG and UHF-DIG options, read more in this blog post here.