For comparison purposes here is a scope shot of the Whites DFX. Ignore the frequency readings on the scope it's confused.
PS How do you guys get the images to insert on the page? I have to go to advanced and upload
Announcement
Collapse
No announcement yet.
Minelab Equinox Challenge
Collapse
X
-
Also, note this:
Equinox 600 => 5kHz, 10kHz, 15kHz
Equinox 800 => Multi, 5kHz, 10kHz, 15kHz, 20kHz, 40kHz
From simulation, the FFT peaks are located at 2.6kHz, 7.8kHz, 18.5kHz and 39.6kHz.
And:
7.8 - 2.6 = 5.2 (5kHz)
18.5 - 7.8 = 10.7 (10kHz)
18.5 - 2.6 = 15.9 (15kHz)
39.6 - 18.6 = 21.0 (20kHz)
39.6 (40kHz)
Leave a comment:
-
I cropped the image, and for each column I took the pixel with the most intense yellow color and then performed an FFT. The image has a width of 600 pixels and coincidentally it's also 600uS total, so spacing between points is 1 uS, "virtual" sample rate therefore 1MHz.
Cropped scope screen, 12 divisions at 50uS each (=600uS)
Most intense yellow values, one for each image column:
Octave/MATLAB script:
Code:% load signal processing package pkg load signal % data points (DC offset would be at 82 pixels, not subtracted though), regular coordinate system increasing from bottom to top. x = [13, 17, 23, 29, 35, 39, 45, 51, 57, 63, 67, 73, 79, 83, 89, 93, 99, 103, 109, 113, 117, 113, 111, 105, 101, 101, 103, 109, 113, 119, 123, 129, 133, 137, 143, 147, 153, 157, 161, 167, 167, 163, 159, 155, 149, 143, 137, 133, 127, 121, 117, 111, 105, 101, 97, 101, 105, 109, 113, 119, 123, 129, 135, 137, 143, 147, 153, 153, 151, 145, 139, 135, 129, 123, 119, 113, 107, 103, 97, 93, 87, 81, 77, 79, 85, 89, 95, 97, 95, 93, 87, 83, 79, 73, 69, 63, 57, 53, 49, 43, 39, 35, 29, 25, 21, 15, 11, 7, 11, 15, 21, 27, 33, 39, 45, 49, 55, 61, 65, 71, 77, 77, 73, 69, 63, 59, 55, 53, 55, 61, 65, 71, 77, 81, 87, 91, 97, 103, 107, 111, 117, 121, 127, 131, 137, 141, 139, 137, 131, 127, 121, 117, 111, 105, 101, 95, 97, 103, 107, 113, 117, 121, 127, 131, 137, 141, 145, 151, 155, 161, 163, 169, 169, 167, 161, 155, 151, 145, 139, 135, 129, 123, 125, 127, 131, 137, 141, 145, 151, 155, 159, 163, 169, 169, 167, 161, 155, 151, 145, 139, 135, 129, 123, 119, 113, 107, 103, 97, 91, 87, 81, 77, 71, 65, 67, 71, 77, 81, 81, 79, 75, 71, 65, 61, 55, 51, 47, 41, 37, 31, 27, 23, 17, 13, 17, 21, 27, 33, 39, 43, 49, 55, 61, 65, 71, 75, 81, 85, 83, 79, 75, 71, 65, 61, 55, 51, 47, 41, 37, 31, 29, 31, 37, 41, 47, 53, 57, 63, 69, 73, 79, 85, 89, 95, 101, 103, 103, 101, 95, 89, 85, 85, 89, 95, 99, 103, 109, 113, 119, 123, 129, 133, 137, 143, 147, 151, 155, 161, 165, 169, 169, 169, 169, 163, 157, 153, 147, 141, 135, 129, 125, 119, 113, 109, 105, 109, 113, 119, 121, 127, 129, 129, 125, 119, 113, 109, 103, 97, 93, 87, 83, 77, 73, 67, 63, 57, 53, 47, 43, 41, 45, 49, 55, 61, 65, 71, 77, 81, 85, 85, 81, 77, 71, 67, 63, 57, 53, 47, 43, 39, 33, 29, 23, 19, 15, 11, 15, 21, 25, 31, 37, 43, 47, 53, 57, 59, 55, 53, 47, 43, 39, 33, 29, 25, 21, 15, 13, 15, 21, 25, 31, 37, 43, 47, 53, 59, 65, 69, 75, 81, 85, 91, 95, 101, 105, 111, 115, 115, 113, 109, 103, 99, 103, 105, 111, 117, 121, 125, 129, 135, 139, 145, 149, 153, 159, 163, 167, 167, 161, 157, 153, 147, 141, 137, 129, 125, 119, 113, 109, 105, 99, 97, 103, 107, 111, 117, 121, 127, 131, 135, 141, 145, 151, 153, 151, 147, 143, 137, 133, 127, 121, 117, 111, 105, 101, 95, 89, 85, 79, 79, 81, 87, 91, 97, 97, 95, 91, 87, 81, 77, 71, 65, 61, 55, 51, 47, 41, 37, 31, 27, 23, 19, 13, 9, 9, 13, 19, 23, 29, 35, 41, 47, 53, 57, 63, 69, 73, 77, 75, 71, 67, 63, 57, 53, 53, 57, 63, 67, 73, 79, 83, 89, 95, 99, 103, 109, 113, 119, 123, 129, 133, 137, 141, 137, 135, 129, 125, 119, 113, 109, 103, 97, 97, 101, 105, 111, 115, 119, 125, 129, 135, 139, 143, 147, 153, 157, 161, 167, 169, 167, 163, 159, 153, 147, 143, 137, 131, 127, 121, 125, 129, 135, 139, 143, 147, 153, 157, 161, 167, 169, 169, 163, 159, 153, 147, 143, 137, 131, 127, 121, 115, 111, 105, 99, 95, 89, 85, 79, 73, 69] %% Time specifications: Fs = 10^6; % samples per second dt = 1/Fs; % seconds per sample N = length(x); xdft = fft(x); xdft = xdft(1:N/2+1); psdx = (1/(Fs*N)) * abs(xdft).^2; psdx(2:end-1) = 2*psdx(2:end-1); freq = 0:Fs/length(x):Fs/2; % use kHz and calculate powers x_values = freq/1000; y_values = 10*log10(psdx); % truncate to a useful range (up to ~80kHz) x_values = x_values(1:50); y_values = y_values(1:50); %find peaks [peak_powers, peak_indices] = findpeaks(y_values, 'DoubleSided'); % output peaks for i = 1:length(peak_powers) peak_idx = peak_indices(i); freq_value = x_values(peak_idx); peak_value = peak_powers(i); printf("%d kHz => %d db/Hz\n", freq_value, peak_value) endfor % plot in 5kHz steps plot(x_values, y_values) grid on set(gca,'XTick',0:5:max(x_values)) title('Periodogram Using FFT') xlabel('Frequency (kHz)') ylabel('Power/Frequency (dB/Hz)')Attached Files
- Likes 1
Leave a comment:
-
I'm still playing around with the slope on the current waveform. Something is not quite right yet, but it's getting there.
Have you noticed that the FFT starts at 2.6kHz, and the differences between 2.6kHz, 7.8kHz and 18.2kHz are 5.2kHz, 10.4kHz and 20.8kHz?
i.e. close to 5kHz, 10kHz and 20kHz.
Leave a comment:
-
I've played with the numbers to see if there was any 'reason' for the 380 - 385 usec figure. I did work out that 'round number' 10 x 106 Hz divided by 256 gave f = 39062.5 Hz, and 1/15th of that is 2604.16666, T = 384.00 usec.
So maybe we're seeing 7812.5 / 18229.17 / 39062.5 (in this mode).
You'll have to post up your 'Beach Mode' scope grabs on the other thread, Carl.
Leave a comment:
-
The first time I heard that story of 17 and 28 frequencies being used, I thought how in the hell are they able to process each response? One would have to be using a mother of all microprocessors, with several EEprom chips, and I thought it is all bull ca ca! And one would have to be using the mother of all microprocessors, with several EEprom chips, just to process each and every frequency response. Nope. Bull ca ca....
One metal detector can only process one target despite 100 waveforms sent out to excite a target. One is walking, swinging over a target, and in another second or two, one is beyond that place where one saw a good target. There is absolutely no metal detector that has the speed to do that in even microseconds!
Now if one could imagine a human being who could speed up his breathing in and out of oxygen. How much more could he absorb in the way of oxygen? I doubt very little more. And the speed of faster breathing could impede the processing of oxygen. So where is the golden ring on the Merry-Go-Round? It is pure and simple advertising hype to create more sales.
Melbeta
Leave a comment:
-
My hunch is you'll mainly see the difference in the highest harmonics, like 3rd harm of 18.2kHz, which I'm assuming is not relevant to ML's signal processing. So, if there's 15 cycles occuring in the 385 usec, there's still 15 cycles if the peak of one cycle is 'disturbed' in the time-domain, and FFT will still correctly evaluate that frequency component.
Leave a comment:
-
I rechecked the datapoints time and value-wise. There were a couple of points that needed adjusting in time, and a couple or so in value. Although this altered the voltage waveform slightly, the FFT results were the same.Originally posted by Skippy View PostNice try, George. I suspect if your piece-wise linear data was more precise, you would get better results, there seems to be two data points that are 'off', time-wise, at t = 110 usec and t = 230 usec, the constant-slope of the triangle-wave is disturbed there.
I was contemplating a similar approach myself, but in QuickBasic. Entering 30 data-points into an array (or 15 and use symmetry?) fill in the gaps with straight line interpolation points, and run low-pass and high pass filter algs on the data set. Sadly, my PC with the Basic on is poorly, HDD damage, and I haven't (yet) installed it on this current laptop, so saving myself a lot of time!
I see what you mean about the slopes needing to all be the same, which means that the PWL waveform is not quite accurate at the moment. I took the measurements from a printout, and recorded them to the nearest 5us and 0.2V. Clearly it needs some tweaking. I'll look at this again later.....Attached Files
Leave a comment:
-
My bet:
8.3kHz, 18.3kHz, 38.3kHz
Peaks:
8.33333 kHz => -2.59226 db/Hz
18.3333 kHz => -11.1483 db/Hz
26.6667 kHz => -30.2954 db/Hz
31.6667 kHz => -30.0003 db/Hz
38.3333 kHz => -10.0856 db/Hz
43.3333 kHz => -30.298 db/Hz
46.6667 kHz => -32.3818 db/Hz
51.6667 kHz => -37.1247 db/Hz
56.6667 kHz => -34.0533 db/Hz
63.3333 kHz => -46.865 db/HzAttached Files
Leave a comment:
-
Carl, can you give us single frequency images later on too?
Curious what you use for a current probe.
Leave a comment:
-
Could your pwl model be simplified if you just used the time data of the inflexion points to directly recreate the square-wave? Ie. set Voltage = +1V on the rising slope, -1V on a falling slope ?
Leave a comment:
-
Nice try, George. I suspect if your piece-wise linear data was more precise, you would get better results, there seems to be two data points that are 'off', time-wise, at t = 110 usec and t = 230 usec, the constant-slope of the triangle-wave is disturbed there.
I was contemplating a similar approach myself, but in QuickBasic. Entering 30 data-points into an array (or 15 and use symmetry?) fill in the gaps with straight line interpolation points, and run low-pass and high pass filter algs on the data set. Sadly, my PC with the Basic on is poorly, HDD damage, and I haven't (yet) installed it on this current laptop, so saving myself a lot of time!
Leave a comment:
-
OK - here's my analysis:
I took Carl's current waveform and created a PWL current source in LTspice, and used that to drive a 1mH coil.
The FFT indicated 3 main frequencies of 7.8kHz, 18.2kHz and 39kHz.
Equinox.zip
Leave a comment:
-
Stop making me scratch my head so much.
I don't know how much energy, spose you're implying it's ZERO, and the fact that it takes 385 usec to repeat is because of how non-harmonically-related frequencies don't 'repeat' very often. Example if you LINEARLY added 10kHz and 11kHz sinewaves, the resulting waveform would only repeat every 10 cycles of the 10kHz wave, ie. 1000 times per second. But there's no REAL 1kHz present - if you mixed/modulated the 10 and 11, then there WOULD be a genuine 1kHz component.
So in this ML waveform, the 2.6kHz could be a result of adding 7.8kHz to (7.8 - 2.6) = 5.2kHz. It would take 2 cycles of 5.2kHz & 3 of 7.8kHz for the resulting cycle to repeat, ie. 385 usec.
5.2 and 7.8 seem too close to be much use multifreq-wise.
But frequencies in a ratio 3 : 5 : 15, and 3 : 7 : 15 also produce this long cycle repeat time. These would equate to frequencies of 7.8 / 13 / 39, and 7.8 / 18.2 / 39 respectively.
I can't say I can see any 13 or 18.2 in there, but.... 18.2 and 39 would make two prospecting modes viable. And I've mentioned it on Tom D's forum, I liked the idea of a 13k / 39k "multi-F75", with both single frequencies an option.
Time for someone else to have a guess.
Leave a comment:
Leave a comment: