Hi,
I have question about how to perform the I/Q demodulation in a digital metal detector. In analog detectors this is commonly realized by using two comparators which trigger an analog switch
on the positive/negative peak of the osicllator's sine wave.
But how is this done in digital metal detectors which generate the TX signal with a numerically controlled oscillator?
Here are some ideas I could think of:
Solution #1:
I generate the TX signal using direct digital synthesis - so I theoretically know the phase and amplitude of the TX signal which goes out of the microcontroller. The "cheapest" way to obtain a 90 degree phase shifted signal would be to just derive it from the DDS generator.
But is this feasible? Because I'm not sure whether what I generate digitally has the same phase when it goes through the TX coil, also timing might become an issue.
Solution #2:
I tap the TX signal directly before or after the TX coil using a voltage divider and sample the RX and TX signal simultaneously. In this case I need to shift the tapped TX signal by 90 degrees in software, since the tapped TX signal only gives mit the I (in-phase) component, doesn't it?
In this case I could think of multiple solutions how to phase-shift the signal in software:
- Keeping a software PLL (costa's loop?) in sync with the tapped TX signal and derive an out-of phase signal digitally
- Taking a sampling window of the tapped TX signal wide enough to contain 180 degrees so I could split it in two parts, each 90 degrees apart.
- Applying a hilbert transform (complicated?)
- Using FFT (expensive?)
Unfortunately I haven't found any source code of existing projects, therefore I wonder how this is done in existing digital detectors?
Thanks!
I have question about how to perform the I/Q demodulation in a digital metal detector. In analog detectors this is commonly realized by using two comparators which trigger an analog switch
on the positive/negative peak of the osicllator's sine wave.
But how is this done in digital metal detectors which generate the TX signal with a numerically controlled oscillator?
Here are some ideas I could think of:
Solution #1:
I generate the TX signal using direct digital synthesis - so I theoretically know the phase and amplitude of the TX signal which goes out of the microcontroller. The "cheapest" way to obtain a 90 degree phase shifted signal would be to just derive it from the DDS generator.
But is this feasible? Because I'm not sure whether what I generate digitally has the same phase when it goes through the TX coil, also timing might become an issue.
Solution #2:
I tap the TX signal directly before or after the TX coil using a voltage divider and sample the RX and TX signal simultaneously. In this case I need to shift the tapped TX signal by 90 degrees in software, since the tapped TX signal only gives mit the I (in-phase) component, doesn't it?
In this case I could think of multiple solutions how to phase-shift the signal in software:
- Keeping a software PLL (costa's loop?) in sync with the tapped TX signal and derive an out-of phase signal digitally
- Taking a sampling window of the tapped TX signal wide enough to contain 180 degrees so I could split it in two parts, each 90 degrees apart.
- Applying a hilbert transform (complicated?)
- Using FFT (expensive?)
Unfortunately I haven't found any source code of existing projects, therefore I wonder how this is done in existing digital detectors?
Thanks!

Comment