scrungy_doolittle - What IDE are you using for your Nucleo board? I received my board the other day and want to play.
Announcement
Collapse
No announcement yet.
DSP in commercial prospecting and treasure hunting metal detectors ... and GPZ 7000 speculation
Collapse
X
-
Originally posted by scrungy_doolittle View PostThose filters have a center frequency of 15.3 hz, and a gain of 42 db, a bandwidth from 13.61 to about 18 hz. Not sure why they are down there, when the signal is a 6.592 Khz signal.
Comment
-
Originally posted by scrungy_doolittle View PostAre the I and Q channels the same as the X and Y of whites? Davor, the problem is I don't really understand enough about analog to understand how the disc phase is manipulated by adding in part of the geb phase, what it is doing.
The most confusing thing to many people coming from other walks of electronics is the baseband filtering. We use filters centred around 10Hz, and the reason is that the responses of the targets, while waving a coil, modulate amplitude and phase at frequencies around 10Hz. Because it is only ~10Hz you'll see many designs that combine analogue front end including synchronous sampling and analogue filters, and a micro that does only some sort of atan function.
IMHO direct sampling may produce better results simply because you may do all filtering with FIR filters ... provided you avoid the brick wall filter trap. Small trouble is that there are practically no simple micros with a proper ADC at hand, and to do it better you'd need an extra ADC... and there seem to be no end to additional thises and thats. Hence, analogue still rocks.
Comment
-
Originally posted by Davor View PostThere is abundant information about the principle. Seek for sources on software defined radio. You may as well start here: http://whiteboard.ping.se/SDR/IQ
The most confusing thing to many people coming from other walks of electronics is the baseband filtering. We use filters centred around 10Hz, and the reason is that the responses of the targets, while waving a coil, modulate amplitude and phase at frequencies around 10Hz. Because it is only ~10Hz you'll see many designs that combine analogue front end including synchronous sampling and analogue filters, and a micro that does only some sort of atan function.
IMHO direct sampling may produce better results simply because you may do all filtering with FIR filters ... provided you avoid the brick wall filter trap. Small trouble is that there are practically no simple micros with a proper ADC at hand, and to do it better you'd need an extra ADC... and there seem to be no end to additional thises and thats. Hence, analogue still rocks.
How about a PIC24FJ128GC010? has a 16 bit sigma delta at 62K samples per second
if you are talking about an 8051 or a pic12 series, you are quite right. But it is crazy, just how much power you can get now in micros....
By the way, I recently got some test plots sent to me that I asked for. Undamped PI plots. The ringing following the last pulse has a huge amount of information in it. The envelope of the ringing, and the response of a balancing coil show clear and distinct characteristics that can be used to aid discrimination.
This has been known I am sure, ever since PI detectors were built.
I know someone mentioned it in passing in a patent, but did not go any further. I am also, convinced that prior art exists that will break that patent if needed.
For everyone else, this is now prior art
The frequency change and phase shift show up, as well as modulations in intensity. This has been obvious to me ever since I saw a pi waveform. I use the same information in the medical
device I have been working on for the last 10 years. I expected to see some damping and widening of the pulses however, which I did not see. But it clearly appears that the same sort of
frequency shift is going on here.
The attached PDF is interesting.
Tinkerer ran them for me, thanks!
The attached pdf is rather interesting.Attached Files
Comment
-
Originally posted by Davor View PostThere is abundant information about the principle. Seek for sources on software defined radio. You may as well start here: http://whiteboard.ping.se/SDR/IQ
The most confusing thing to many people coming from other walks of electronics is the baseband filtering. We use filters centred around 10Hz, and the reason is that the responses of the targets, while waving a coil, modulate amplitude and phase at frequencies around 10Hz. Because it is only ~10Hz you'll see many designs that combine analogue front end including synchronous sampling and analogue filters, and a micro that does only some sort of atan function.
IMHO direct sampling may produce better results simply because you may do all filtering with FIR filters ... provided you avoid the brick wall filter trap. Small trouble is that there are practically no simple micros with a proper ADC at hand, and to do it better you'd need an extra ADC... and there seem to be no end to additional thises and thats. Hence, analogue still rocks.
- I is the In-Phase signal component
- Q is the Quadrature signal component
Q is 90 degrees out of phase with I ... Which makes them the same as the X and Y signals in the whites detectors as I understand it. Never thought of looking at a wave form from some other reference that from the side.
There are actually a number of micros with high resolution adc's.
There is a trick you can use though to increase the resolution. I've never done it, so am not speaking from experience here, but I have heard about it, so here goes:
Consider your signal for arguements sake, lets say it is 3 volts. Your adc is referenced to 1.5 so you have 1.5V and -1.5v. If you have a 12 bit ADC, you get to divide that 3 volts into 4096 segments. Now, if you split that signal into 3 signals based on the voltage, so 0-1 volts are on 1 ADC channel. 1-2 volts are on another ADC, and 2-3 volts are on a 3rd signal, and these are amplified so they each fall in the range of 3 volts, then you can use an ADC to look at the 3 signals, and now you have 12 bits in the 0-1volt range, 12 bits in the 1-2 volt range and12 bits in the 2-3 volt range. A little twiddling and you have a very good range out of 3 channels and 1 ADC. However you have to sample 3x as fast, as you were going to, to get the same sample rate.
If you want to do 8 samples per cycle, it would mean that you would have to run the sampling at a rate of 24 samples per cycle.
If you had just multiplied the signal so it was 9 volts, and your adc was set for that, you would have 12 bits over 9 volts.
Whites did that in the eagle family I think. They had an 8 bit adc, and they split the signal into two bands, so they got 8 bits on the upper half and 8 bits on the lower half, at least that is what I got out of the patent.
Carl can probably set me straight on that if I'm wrong.
Comment
-
Originally posted by scrungy_doolittle View PostWhites did that in the eagle family I think. They had an 8 bit adc, and they split the signal into two bands, so they got 8 bits on the upper half and 8 bits on the lower half, at least that is what I got out of the patent.
Carl can probably set me straight on that if I'm wrong.
The method you outline is theoretically feasible but not practical unless you can calibrate the system. First, you would need parallel simultaneous sampling ADCs... you can't multiplex one ADC because it will see different signals that can't be reconstructed. If you have parallel simultaneous sampling ADCs, they will have to be calibrated so the data aligns, otherwise there will be massive DNL errors. Also for full scale to minimize INL error, though that might not be so critical. Calibration will need to be really good over time & temperature. It's a pretty tall order.
- Carl
Comment
-
Originally posted by scrungy_doolittle View PostHow about a PIC24FJ128GC010? has a 16 bit sigma delta at 62K samples per second
What I found common with nowadays micros is that high resolution ADC is available only at low speeds. So if I wish to use a 62k 16bit ADC to take 8 samples per period, the top frequency is below 8kHz.
There are audio ADCs that do better, but at fixed sample rates and with hostile interfaces. You could try to tame one of those, good luck with that.
Below 16bit there is a huge gap down to 12bit... and that's about it. Finding a micro with multiple ADCs at 12bit resolution is easy, but with a proper single 16bit ... not so much. A trivial solution is to simply match a proper ADC with a popular micro and go from there.
Or you may go with a 12bit micro, build a proper dithering source, shove lots of samples in a long averaging cue, exploit the fact that baseband is in fact very slow, and clock the averages at any rate not much higher than 100Hz. It should work, but barely so, and you'd need to start with a proper perfectly designed dithering source. If you are not familiar with the concept, see here: https://www.youtube.com/watch?v=zWpWIQw7HWU
Comment
-
Some thing I haven't seen, probably missed it. Example: ADC full scale +- 2 volts. If I want to detect 1 uv change at the coil, 12 bits is enough with a amplifier gain of 1000. Need 15 bits with amplifier gain of 125. Is 1 uv at the coil a good number to try for?
Comment
-
It would be if there was no air signal. The best you can do with coil balancing is ~1mV, not 1uV. If you amplify 1mv thousand times, you reach levels where amplifier distortion obliterates small targets, so no cigar. You could build below mediocre detector that way though.
OK, you might be able to condition signal prior to sampling to squeeze it into less bits, but at a cost of doing an analogue rig with a digital piggyback, i.e. a VDI.
Comment
-
Originally posted by Davor View PostIt would be if there was no air signal. The best you can do with coil balancing is ~1mV, not 1uV. If you amplify 1mv thousand times, you reach levels where amplifier distortion obliterates small targets, so no cigar. You could build below mediocre detector that way though.
OK, you might be able to condition signal prior to sampling to squeeze it into less bits, but at a cost of doing an analogue rig with a digital piggyback, i.e. a VDI.
IF your ADC is 12 bits, and you boost 1 mv to 2 volts with a low noise amp, say an instrument amp, then I would think you would not have those kinds of problems or distortion. A good amp will give you 1% or less, so at *100 given 1 mv kicking it up to 100 mv would give approximately 1 mv of distortion. I don't see that obscuring the signal much on a VLF.
Comment
-
Good luck with that.
We tend to use opamps with 0.01% THD or better simply because the various distortion products fall well above the useful signal values. With 1mV air signal, and 0.01% THD, the input referenced products are in a range of tens of nV. Assuming a bandwidth of a signal of 25Hz, and 4nV/sqrt(Hz), you get ~20nV of input referred noise, which is commensurable with distortion products.
So far the way it was done was to keep the gain of a low noise preamplifier just enough to improve system S/N and not more than that. As higher order products are proportional to the signal level, you are better off with less amplification and less signal levels. Pumping gain simply calls for trouble. But you are free to try.
There are different kinds of noises and interferences. The uncorrelated ones, and correlated ones. While you may reduce uncorrelated noise by means of filtering, the correlated noise behaves just like signal, and you can't do jack about it. Distortion-related interferences are correlated noise.
Comment
-
I am hesitant to jump in this conversation for a variety of reasons... But here goes. I have been contemplating for some time, the implementation of a VLF MD using a codec and a FPGA. Initially, I am going to experiment with a Spartan 6 FPGA with 4 pmod interface sockets and a 20 bit codec (http://www.xess.com/shop/product/stickit-audioio/). After initial experimentation, I'll attempt to develop a 24bit@192K codec pmod to give some more dynamic range (this one could lead me to some PI experimentation also). The reason for jumping into this thread was to suggest that you may be able to use this codec in your current efforts. Interfacing the timing signals to your micro processor would be the first challenge.
Comment
-
Originally posted by Davor View PostGood luck with that.
We tend to use opamps with 0.01% THD or better simply because the various distortion products fall well above the useful signal values. With 1mV air signal, and 0.01% THD, the input referenced products are in a range of tens of nV. Assuming a bandwidth of a signal of 25Hz, and 4nV/sqrt(Hz), you get ~20nV of input referred noise, which is commensurable with distortion products.
So far the way it was done was to keep the gain of a low noise preamplifier just enough to improve system S/N and not more than that. As higher order products are proportional to the signal level, you are better off with less amplification and less signal levels. Pumping gain simply calls for trouble. But you are free to try.
There are different kinds of noises and interferences. The uncorrelated ones, and correlated ones. While you may reduce uncorrelated noise by means of filtering, the correlated noise behaves just like signal, and you can't do jack about it. Distortion-related interferences are correlated noise.
so 20 nv of noise. 3.3v / 4096 is 8.05e-4 volts per bit. that is 805,000 nano volts. the noise is not detectable, therefore the digital domain will not even see it. 16 bit resolution is 50300 nv per step. at 24 bits you are at 196 nv, so even there you won't see it.
Comment
-
Originally posted by KingJL View PostI am hesitant to jump in this conversation for a variety of reasons... But here goes. I have been contemplating for some time, the implementation of a VLF MD using a codec and a FPGA. Initially, I am going to experiment with a Spartan 6 FPGA with 4 pmod interface sockets and a 20 bit codec (http://www.xess.com/shop/product/stickit-audioio/). After initial experimentation, I'll attempt to develop a 24bit@192K codec pmod to give some more dynamic range (this one could lead me to some PI experimentation also). The reason for jumping into this thread was to suggest that you may be able to use this codec in your current efforts. Interfacing the timing signals to your micro processor would be the first challenge.
Way back in 1976 I called whites and talked with them about an idea I had. I did not give them specifics. They sent me an NDA to sign, and after reading it I realized it amounted to "if we want to we can use your idea anyway". It was for a computer controlled metal detector, that would do operator input type things, and display a target id. Somewhere I still have the dated document when I conceived that.
One idea that I did mention was a small sampling coil that would receive the same signal as the receive coil, but would be about 3/4 of an inch wide, so that you could use it to effectively subtract out the soil component. I'll never forget the engineers reply.... "Gaussian noise - Gaussian noise is still Gaussian noise" At the time, I thought there was merit in the idea of using a small secondary coil at the rear of the coil to sample the ground on a regular basis, and use the received signal for ground balance. The idea was that the area that the coil was watching was so small in relation to the search head that it would be unlikely that a target would be under it at the same time a target was under the main coil. But it clearly would still be seeing some eddy current if the target was within it's sensing depth of about 1 inch, so I really don't know if it would be useful or not.
Comment
Comment