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 "recovery curve" 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 "recovery curve" 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 "recovery curve" 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.