Author Topic: What options are out there for high sampling rate (>250 MHz) DAQ on a DIY budget  (Read 1654 times)

0 Members and 1 Guest are viewing this topic.

Offline jonathondkTopic starter

  • Newbie
  • Posts: 2
  • Country: us
I'm looking to do impact triangulation on a steel plate using piezoelectric sensors similar to this: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3715253/

Speed of sound in steel: 5800 m/s
Time for vibrations to travel 25 mm: 4.31e-6 sec
Min sampling rate for a 25 mm accuracy: 232 MHz

I've worked with arduino and beaglebone in the past but the sampline rate is about 100 times too slow.

I'm up for building my own DAQ system, but I'm not sure where to get started there either.

Thanks!
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16615
  • Country: us
  • DavidH
Min sampling rate for a 25 mm accuracy: 232 MHz

I've worked with arduino and beaglebone in the past but the sampline rate is about 100 times too slow.

The Beaglebone PRU is suppose to be almost that fast.  That is why I have been considering them for an open DSO in the 100 to 200 MSample/second range.
« Last Edit: May 30, 2018, 06:38:35 pm by David Hess »
 

Online matseng

  • Frequent Contributor
  • **
  • Posts: 563
  • Country: se
    • My Github
Aren't you off by three orders of magnitude here?

1 / 4E-6 = 250 000

That's only 250 KHz...
 

Offline bson

  • Supporter
  • ****
  • Posts: 2270
  • Country: us
You don't need to quantize signals, you only need to timestamp the leading edges.  Any MCU with a 10MHz+ clock and timer-capture inputs should have no difficulty doing this.  Which is pretty much anything out there today...
 

Offline nfmax

  • Super Contributor
  • ***
  • Posts: 1560
  • Country: gb
By far the cheapest high-speed digitisers come in the form of DSOs. Complete with signal conditioning, triggering, and waveform monitoring  ;)
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16615
  • Country: us
  • DavidH
Aren't you off by three orders of magnitude here?

1 / 4E-6 = 250 000

That's only 250 KHz...

I did not bother checking the math until now but I get the same value.  Did you use a slide rule jonathondk?  They make it easy to get off by decimal points.

5800 M/s = 5.8x10^3 M/s = 5.8x10^6 mm/s = 172.4x10^-9 s/mm
172.4x10^-9 s/mm * 25 mm = 4.31x10^-6 s = 232 kHz
« Last Edit: May 30, 2018, 06:46:27 pm by David Hess »
 

Offline JohnnyMalaria

  • Super Contributor
  • ***
  • Posts: 1154
  • Country: us
    • Enlighten Scientific LLC
Aren't you off by three orders of magnitude here?

1 / 4E-6 = 250 000

That's only 250 KHz...

I did not bother checking the math until now but I get the same value.  Did you use a slide rule jonathondk?  They make it easy to get off by decimal points.

5800 M/s = 5.8x10^3 M/s = 5.8x10^6 mm/s = 172.4x10^-9 s/mm
172.4x10^-9 s/mm * 25 mm = 4.31x10^-6 s = 232 kHz

It's not sufficient to just time the arrival of a cycle. The triangulation requires cross-correlation of signals with multiple modes etc hence the signal needs to be resolved to a sufficient degree to permit the cross-correlation. Sampling with a phase resolution of 1 degree (not unreasonable) would require ~360 x 232kHz = 83MHz.
 

Offline jonathondkTopic starter

  • Newbie
  • Posts: 2
  • Country: us
Oh man, I am off by 1000x. That makes it way easier to find hardware.  |O My slide rule is fired. I had a gut feel that the numbers were off, but I convinced myself it was MHz, so I kept it when I went back to check my math.

Triangulation would require 3x piezoelectric sensors and being able to calculate the difference in arrival time.

"The Beaglebone PRU is suppose to be almost that fast"

I actually have an old beaglebone black that has been sitting for about 3 years, sounds like I should dig it out.
 

Offline jmelson

  • Super Contributor
  • ***
  • Posts: 2765
  • Country: us
I'm looking to do impact triangulation on a steel plate using piezoelectric sensors similar to this: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3715253/

Speed of sound in steel: 5800 m/s
Time for vibrations to travel 25 mm: 4.31e-6 sec
Min sampling rate for a 25 mm accuracy: 232 MHz

I've worked with arduino and beaglebone in the past but the sampline rate is about 100 times too slow.

I'm up for building my own DAQ system, but I'm not sure where to get started there either.

Thanks!
Do you really need to digitize the whole waveform?  Wouldn't time of arrival of the first pulse on each channel be all you need?  This could be done with an FPGA connected to a pedestrian processor.  You just need a "discriminator" per channel, ie. basically a comparator.  The FPGA has a counter running at a high rate, maybe several hundred MHz.
When each channel trips the discriminator, the counter value is latched.  Some time after any channel triggers, the latched values are locked and made available to the CPU.  The CPU does the math to find the first channel that triggered (lower # in latch) and then computes delta time for the later channels.  Then, you can solve the trig to find the point of impact.

Jon
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3483
  • Country: us
The first step is to get a sample of the waveform produced by the sensors in response to an impact using a DSO and post it.

There are some physical complications which may or may not be important:

There are 3 modes of propagation, two orthogonal shear modes and a compressional mode. Conventionally these are referred to as Vsh, Vsv and Vp.  Vp and Vsv are coupled.  At an interface you get conversions from one mode to the other both on reflection and transmission.  In general the speed of propagation is different for all three modes and all three directions.  Vsh and Vsv are around half of Vp.

At a free interface (one in contact with air or water), Vp & Vsv produce what is called a Rayleigh wave in which points move in an elliptical path.  This is typically the mode that is the largest amplitude and is the most destructive in earthquakes.  It also has the slowest velocity.

The waves will all reflect at the edges and faces of the plate.  This is what makes it ring.  For a circular plate these are Bessel functions.  Off the top of my head I don't recall what the solution for a rectangular plate is.  It is contained in Morse and Ingard which is the canonical reference for such things.

Rolled steel plate is probably slightly anisotropic.  The propagation velocity varies with mode and direction.  That can get *very* messy.  However, I don't think the anisotropy of rolled plate would be large enough to matter.  It's a major issue with rocks. The anisotropy causes the the Vsh and Vsv motion vectors to rotate as they propagate.  Light does the same thing.  This is what gives rise to the pretty colors produced by anisotropic materials in polarized light microscopy.

I dealt with this sort of problem as a research scientist in the oil industry studying rocks which are far more complex. 

Your sample rate requirement is dictated by the BW of the signal, but you  always filter the signal back to suit your ADC.  The  best option would be an STM32F4xx with three  2.4 MHz 12 bit ADCs.  That's more than fast enough for your problem.  That will give you a BW of 800 KHz for each channel which is more than adequate.

The 32F469IDISCOVERY is probably the nicest option, but the STM32F429Discovery  is about half as much. Both should be able to handle the mathematical chores.
 

Offline MasterT

  • Frequent Contributor
  • **
  • Posts: 785
  • Country: ca
The waves will all reflect at the edges and faces of the plate.  This is what makes it ring. 
Correct. It also means, that sampling has to be done before first reflection hits nearest sensor, and distorts all phase propagation diagram.  Don't see how 25 mm comes into picture, but if sensor is positioned 12.5 mm to the edge of the plate, than 25 mm distance converted to time is sampling window frame.
 Though 1-5 MHz ADC is not gonna to work, at least 256 samples imply about 50 MHz sampling rate. The more samples, the better accuracy.
I read, that stm32f429 has GPIO-DMA capability, transferring data with close to required speed. Simply connecting parallel 8-bits TLC5540 seems good point to start research.
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3483
  • Country: us

 Though 1-5 MHz ADC is not gonna to work, at least 256 samples imply about 50 MHz sampling rate. The more samples, the better accuracy.
I read, that stm32f429 has GPIO-DMA capability, transferring data with close to required speed. Simply connecting parallel 8-bits TLC5540 seems good point to start research.

Rock cores are typically measured in the 0.8-1.2 MHz range.  There is absolutely no need for a 50 MS/S or faster ADC.  And at 500 samples per second it is routine to be able to measure the multiplexer skew from channel to channel.  On a 48 channel system that's about 40 microseconds.   And most systems are more like 4800 channels now though also with more ADCs.  You just have to know how.

The proper way to do this is to acquire samples of reasonable length, e.g. 4096, perform an FFT, do a linear fit to the phase after performing pair wise cross correlations in the frequency domain.  Having four or more sensors will improve the result as triangulations can be done with various permutations.  Four sensors allows 4 combinations of 3 sensors.  So under Gaussian assumptions the error will be cut in 1/2 by averaging the four solutions.  Placing sensors in the corners should reduce the reflection problem, but one would need to consider the problem for a good bit.  The behavior is quite complex.

I don't mind pointing to the literature, but I have no desire to read it.  It's several days of serious work to get your head around the mathematical physics of a problem like this.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf