wire characterization ... done cheaply ?

Werner Almesberger werner at almesberger.net
Sat Dec 29 14:07:03 EST 2012

After watching Adrien Lelong's EHSM talk about bouncing signals
into wires and figuring out the condition of the wire (broken,
shorted, spliced, etc.) from the shape of the pattern that
comes back, I wonder if there wouldn't be a cheaper way to
accomplish such things.

The basic setup is that you send a pulse with a DAC, then
receive what comes back with an ADC, and then do some
processing, either offline, or in real time with an FPGA, DSP,

One issue is that fast ADCs are pricy. Fast DACs are cheap. If
all else fails, you can make one with a bunch of resistors.

Now, I wonder if one couldn't accomplish similar things with a
much simpler setup: instead of a fast ADC, you'd use a slow
ADC. For signals within the ADC bandwidth, it would act as
usual, which may be useful for some broad characterization.

For signals much faster than the ADC bandwidth, the ADC could
act on the integral of the signal, combined with a window
function. The window function could just be a gate, operating
at a speed similar to that of the DAC.

For example, to determine when exactly a pulse begins coming
back (it may come back as several pulses), one could open the
gate from time 0 to an initial estimate t, and then, for a
second measurement, from t to "infinity".

In the simplest case (we just check if there's a signal or not)
there would be four possible outcomes:

Signal received in interval	Interpretation
0 to t		t to infinity
-----------------------------	--------------------------------------
nothing		nothing		there is no reflection
something	nothing		t is after the last major response
nothing		something	t is before the first major response
something	something	t is in the middle of the response(s)

You'd then adjust t, e.g., with a binary search, until you find
the point at which the first interval changes between "nothing"
and "something".

Interpreting the amount of energy seen by the ADC (i.e., the
charge built up during integration), varying the window,
varying the shape of the outgoing pulse, etc., would allow for
a lot of additional degrees of freedom to further dissect the
wire's response (alas, using math that's a bit beyond me).

I wonder how much one could accomplish with such a setup. Even
simple MCUs have peripheral speeds in the tens of MHz, so it
should be possible to have fairly good time resolution with
quite simple means.

- Werner

More information about the discussion mailing list