Digital Signal Processing in Metal-Detectors

Metal-detectors are deployed in numerous applications. They are used to ensure that no metal-residues which might constitute hazards for consumers are present in foodstuffs. Or they are used to inspect sand, before it is used to improve the condition of beaches in tourist areas. 

The sensor of metal-detector is usually build up by three coils: one primary coil and two secondary coils.

The primary coil is stimulated by a sinusoidal voltage. This induces in both secondary coils voltages, in the absence of metal the difference of these volatges has the result Udiff = 0 Volt.


The product, which is to be investigated, is moved through both secondary coils. If the product contains metal, a voltage Udiff different from 0 Volt is the result.

We have designed a FPGA, type LATTICE ECP which supports control and evaluation of metal detectors.

The FPGA generates a sinusoidal voltage by digital frequency synthesis. Frequency and amplitude of the voltage can be controlled by setting register values in the FPGA.

Using the method of digital quadrature demodulation the FPGA controls two A/D converters, removes the carrier frequency out of Udiff and determines the real and the imaginary part of the envelope-voltage a(t).

Real part and imaginary part are processed by several, parametrizable digital filter.

The FPGA applies cordic algorithm to calculate absolute value and phase from real and imaginary part.

If the FPGA detects that either by the absolute value or by the phase metal is indicated, it will interrupt a microprocessor.

The microprocessor will analyze absolute value or phase further to determine whether hazardous metal has really been detected.