Can I get more information from this signal other than magnitude? First a bit of background. I'm working on a metal detector that produces a pulse across a coil. The pulse signal is influenced if metal is present within the coil aperture.This link provides more information on Pulse Induction Metal Detectors. The ideal signal looks like this:

Detection of metal relies on back EMF and the signal recovers after a pulse. I'm working on a design that removes all aspects of the signal except for this &quot;recovery curve&quot; aspect. In MATLAB there is a clear definition between the recovery curve when there is metal and no metal:

At the moment I am calculating the average of the entire &quot;recovery curve&quot; over a number of curves (reading in 50 curves and then calculating the average of each point in the curve) to create an average representative curve and then turning the curve in to just a single number i.e. the average single value of 50 curves. Here is a number of recovery curves of 4 different metal pieces.

And here is when I calculate the average of 50 for each metal piece to create one representative curve:

I am then turning the curve into a number and if it exceeds a set threshold then metal is considered present. Effectively I am turning the average of 50 curves into a single magnitude and then comparing it with a no metal reference value.
While this works, I feel like a better comparison can be made. I want to be able to generate a profile of what a no metal present &quot;recovery curve&quot; looks like and then compare subsequent curves to my reference curve. At the moment I am just using single magnitudes and a comparator to my reference curve. Are there any other techniques I can use to make a more detailed comparison?
Because the shape of the curve changes, i.e. the intial slope can be steeper, the knee of the signal can become rounder etc. is there any kind of technique or filter that I can use to more accurately profile the shape of the curve and compare the shapes rather just the average magnitude? I'm a complete newbie in regards to DSP so If I can be given some direction it would be appreciated.
thanks.
There's a lot of answers -- look at what's different between the metal and no-metal case, and try to make some signal processing that'll do the best job of differentiating between them.
Something that I suspect that will work well would be to start a clock as soon as the pulse goes negative (possibly according to the transmitter timing, if that will be reliable).  Capture the height of the peak, then integrate the area of the whole response over time.  That peak to area ratio should be very indicative of the presence of metal.
My gut feel is that the ratio of the peak to the integral of the overall response should be more indicative than the actual value of the integral -- but if the pulses are repetitive enough, just that integral may be enough.  If you want to go down that road, be sure to try to detect every different thing you may be concerned with, at every different range.
It may be more reliable to capture the peak by integrating for a short time, and comparing that number to the integral of a longer time span.
Continuing in this direction, if you were to integrate the pulse over time and look at the shape of the resulting integrated pulse it should be very indicative of what's going on.  Once again my gut feel is that you want to look at ratios -- I'd normalize the integrated pulse to its final value.  The points at which it reaches 1/4, 1/2, 3/4, etc., of its final value should be very telling.