What options are out there for high sampling rate (>250 MHz) DAQ on a DIY budget - Page 1
Forum section: electronics / beginners

author: jonathondk
author_rank: Newbie
timestamp: May 30, 2018, 04:59:23 pm
content: 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/sTime for vibrations to travel 25 mm: 4.31e-6 secMin sampling rate for a 25 mm accuracy: 232 MHzI'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!

author: David Hess
author_rank: Super Contributor
timestamp: May 30, 2018, 05:11:45 pm
content: Quote from: jonathondk on May 30, 2018, 04:59:23 pmThe 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.

author: matseng
author_rank: Frequent Contributor
timestamp: May 30, 2018, 05:23:07 pm
content: Aren't you off by three orders of magnitude here?1 / 4E-6 = 250 000That's only 250 KHz...

author: bson
author_rank: Unknown
timestamp: May 30, 2018, 05:36:47 pm
content: 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...

author: nfmax
author_rank: Super Contributor
timestamp: May 30, 2018, 06:35:16 pm
content: By far the cheapest high-speed digitisers come in the form of DSOs. Complete with signal conditioning, triggering, and waveform monitoring

author: David Hess
author_rank: Super Contributor
timestamp: May 30, 2018, 06:44:44 pm
content: Quote from: matseng on May 30, 2018, 05:23:07 pmI 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/mm172.4x10^-9 s/mm * 25 mm = 4.31x10^-6 s = 232 kHz

author: JohnnyMalaria
author_rank: Super Contributor
timestamp: May 30, 2018, 07:54:25 pm
content: Quote from: David Hess on May 30, 2018, 06:44:44 pmIt'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.

author: jonathondk
author_rank: Newbie
timestamp: May 30, 2018, 09:38:21 pm
content: Oh man, I am off by 1000x. That makes it way easier to find hardware.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.

author: jmelson
author_rank: Super Contributor
timestamp: May 30, 2018, 09:48:36 pm
content: Quote from: jonathondk on May 30, 2018, 04:59:23 pmDo 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

author: rhb
author_rank: Super Contributor
timestamp: June 01, 2018, 12:19:13 pm
content: 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.

author: MasterT
author_rank: Frequent Contributor
timestamp: June 01, 2018, 01:26:01 pm
content: Quote from: rhb on June 01, 2018, 12:19:13 pmCorrect. 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.

author: rhb
author_rank: Super Contributor
timestamp: June 01, 2018, 04:34:54 pm
content: Quote from: MasterT on June 01, 2018, 01:26:01 pmRock 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.