I am in the process of implementing an FPGA based PI metal detector. I am using the Xilinx Spartan 6 LX25 FPGA as the basis for this project.
http://www.xess.com/shop/product/xula2-lx25/
http://www.xess.com/shop/product/stickit-mb/
I chose the FPGA route vs the micro-processor (uPC) route due to the demanding DSP requirements and timing requirements. In the uPC route, everything happens sequentially. Even if using interrupt driven processes, everything is sequential and all processes have to share the same overall time limitation (usually the PRT of the TX). In FPGA implementation, each process has it’s own resources and executes concurrently with all other processes. Example: The TX pulse generation and sample request process does one thing; generate accurate timing of TX and sample requests… nothing else. It does not have to share time or resources with any of the DSP processes, threshold detection processes, output processes, or UI processes. Each DSP process (I have 3 separate 8 channel DSP filters) run in a separate process concurrently with all other processes.
In this project, I will be using some previously designed pieces in conjunction with the FPGA, namely the 18 bit ADC pmod module ( http://www.geotech1.com/forums/showt...Resolution-ADC ) and the Impulse Inspired Flexible TX/RX platform ( http://www.geotech1.com/forums/showt...RX-FE-platform ). At least for the initial effort, the TX/RX is configured for PI-IB mode using a 10 inch co-planer concentric coil.
FPGA based PI Metal Detector:
control signals (TX1 and TX2 for bipolar TX )
control signals for 18 bit 1 Msps ADC
9 samples 8 data channels + EF sample
24 bit 8 channel CIC integration filter: 50 db attenuation stop band
24 bit 8 channel CIC mineralization/ground filter: adjustable in 10 steps 0.0005 Hz – 0.1 Hz
24 bit 8 channel compensation FIR: 60/50 Hz
automatic target threshold employing CFAR technology
Unwanted signal cancellation: There are several sources of signals that we wish to have cancelled out of the final processed signal. Purists will categorize each and have their mathematical solutions for cancelling each. But I only have 2 categories… those that are fast/immediate concerns and those that are static/slow changing. I don’t care about the individual characteristics... only the overall effect.
In the fast category is Earth Field and environmental e.g. electrical interference. That is cancelled out by using a ninth sample taken 5 usec before TX and subtracting that from each of the 8 channel samples.
In the static/slow category is the TX coil decay, ground signal whether normal or highly mineralized ground. These effects are cancelled out by using a long 8 channel filter that is adjustable from 0.1 Hz down to 0.0005 Hz. The output of this filter is subtracted from the corresponding output of the input 8 channel integration filter. During pin-point operation, updates to this ground/mineralization filter is suspended. End result… cancel out everything in each channel that occurs below X Hz and leave any change that occurs above that frequency.
The primary signal process 8 channel filter is adjustable from 60 Hz down to 1.5 Hz.
As the project progresses discussions, results, discoveries will be posted.
http://www.xess.com/shop/product/xula2-lx25/
http://www.xess.com/shop/product/stickit-mb/
I chose the FPGA route vs the micro-processor (uPC) route due to the demanding DSP requirements and timing requirements. In the uPC route, everything happens sequentially. Even if using interrupt driven processes, everything is sequential and all processes have to share the same overall time limitation (usually the PRT of the TX). In FPGA implementation, each process has it’s own resources and executes concurrently with all other processes. Example: The TX pulse generation and sample request process does one thing; generate accurate timing of TX and sample requests… nothing else. It does not have to share time or resources with any of the DSP processes, threshold detection processes, output processes, or UI processes. Each DSP process (I have 3 separate 8 channel DSP filters) run in a separate process concurrently with all other processes.
In this project, I will be using some previously designed pieces in conjunction with the FPGA, namely the 18 bit ADC pmod module ( http://www.geotech1.com/forums/showt...Resolution-ADC ) and the Impulse Inspired Flexible TX/RX platform ( http://www.geotech1.com/forums/showt...RX-FE-platform ). At least for the initial effort, the TX/RX is configured for PI-IB mode using a 10 inch co-planer concentric coil.
FPGA based PI Metal Detector:
control signals (TX1 and TX2 for bipolar TX )
control signals for 18 bit 1 Msps ADC
9 samples 8 data channels + EF sample
24 bit 8 channel CIC integration filter: 50 db attenuation stop band
24 bit 8 channel CIC mineralization/ground filter: adjustable in 10 steps 0.0005 Hz – 0.1 Hz
24 bit 8 channel compensation FIR: 60/50 Hz
automatic target threshold employing CFAR technology
Unwanted signal cancellation: There are several sources of signals that we wish to have cancelled out of the final processed signal. Purists will categorize each and have their mathematical solutions for cancelling each. But I only have 2 categories… those that are fast/immediate concerns and those that are static/slow changing. I don’t care about the individual characteristics... only the overall effect.
In the fast category is Earth Field and environmental e.g. electrical interference. That is cancelled out by using a ninth sample taken 5 usec before TX and subtracting that from each of the 8 channel samples.
In the static/slow category is the TX coil decay, ground signal whether normal or highly mineralized ground. These effects are cancelled out by using a long 8 channel filter that is adjustable from 0.1 Hz down to 0.0005 Hz. The output of this filter is subtracted from the corresponding output of the input 8 channel integration filter. During pin-point operation, updates to this ground/mineralization filter is suspended. End result… cancel out everything in each channel that occurs below X Hz and leave any change that occurs above that frequency.
The primary signal process 8 channel filter is adjustable from 60 Hz down to 1.5 Hz.
As the project progresses discussions, results, discoveries will be posted.
Comment