Jump to content
  • 0

Impedance Analyzer with AD3


kirgro

Question

Hello,

I have a couple questions regarding the ability to measure impedances with the AD3. I am currently using the FDwfAnalogImpedance set of functions and achieving ~360Hz sample rate. However, for my application I would like to get much higher than this. I feel like this should be able to go higher, as my current test is driving the measurement at 330kHz, period set to 2 and amplitude set to 1V. So if only 2 periods are being used, should the device be able to do up to around 115kHz? I know that in practice it would likely be less than this, but if it was possible to achieve sample rates in the ~10kHz range that would be ideal. With that in mind, my questions are:

  1. What is the maximum possible sample rate that can be achieved with the WF SDK?
  2. What settings to I need to get the maximum sample rate?
  3. Is the impedance calculation happening on device, or within the SDK running on my computer?

Thank you in advance for your help!

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Hi @kirgro

The latest version software version lets you adjust the number of samples also for the impedance analyzer functions and the data processing is improved.
In earlier versions (now only by default) it used up to 32ki samples, limited by the device buffer size, like with AD3 1st configuration 16ki samples/channel.

The period option only specifies the minimum number periods. The ADC sample rate set to about: samples x frequency / period, limited to maximum supported by the device (like 100MHz or 125MHz). This basically applies to lower signals frequencies.
At high signal frequencies the ADC rate is at maximum so it will capture more periods. So, earlier (by default) for 330kHz it captured 16ki samples at 100MHz, a span of 163.84us or ~54 periods.

1,2. With AD2,3 and low number of samples (like 128 samples * 16bit * 2 channels =  512Bytes or up to about 8 times this which fits in one usb microframe) I've measured above 3000 captures / second, see AnalogIn_Wps.py example.
Now the impedance analyzer function can reach similar rate.

Note that the number of samples influences the measurement accuracy ! 
It depends on your requirements, but usually at least 8 periods should be captured, like 4096 samples for 330kHz signal, ~13 periods.

See the newly added AnalogImpedance_Average.py, which sets FDwfAnalogInBufferSizeSet to 1024 samples:

image.png

3. The data processing is performed on the computer, in the dwf library.

Link to comment
Share on other sites

  • 0

Wow, thank you so much @attila! That info is great!

So given that the limit here seems to be USB2 speeds for transferring the waveforms, I have a couple more questions if you dont mind.

  1. Do you see there ever being an update to the firmware on the ad3 that does the math onboard and then only send the result over usb?
  2. I did see that it is possible to run waveforms sdk with an Eclypse Z7 and some accompanying syzygy expansion modules. With that in mind and given that it uses ethernet for data transfer, would it be possible to achieve even higher sampling rates given the current waveforms sdk?

Thank you again for the help, this information is a huge aid!

Link to comment
Share on other sites

  • 0

Hi @kirgro

1. No. The FPGA in the device is relatively small for such purpose.
2. The EclypseZ7 in first place is a development board. With custom project and hardware acceleration it could perform measurements much faster. This requires Zynq/FPGA development knowledge.
The WF support for EclypseZ7 provides similar features as for AD3, with some extras like: deep buffer (256Mi samples), device buffering (0.5us capture latency). These features are also available for ADP3X50.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...