Originally posted by Carl-NC
View Post
Announcement
Collapse
No announcement yet.
Announcement
Collapse
No announcement yet.
Algorithm Challenge
Collapse
X
-
...hmm the only thing I could see different was that the last image is called inout.png ... the other images are called similiar to screenshot from date.png ...therer are spaces in the names.
I have a 100mbit connection here ... and it is very reliable but it could be something. I will try posting stuff from a windows box .. the usual one is linux.
The cutting edge for RF conversion is Rydberg Quantum Radios that convert DC to 20 Ghz simultaneously .... https://phys.org/news/2021-02-quantu...-spectrum.html
Leave a comment:
-
For me, only the last image shows, the rest are just squares like before. I have a help request posted to vBulletin, I found that someone else sees the exact same problem.
One thing I wonder is, after you click [Post Reply] whether you are then jumping somewhere else before the files have finished processing. This could vary with Internet speed which might explain why it happens only sometimes.
Otherwise, I'm intrigued. I worked on SDR some 20+ years ago at Analog Devices along with Siemens in Germany. This was for GSM/Edge base stations. I was working on the ADC which ran 14-bit 100MSps. Today, that is no big deal, but 20 years ago it was.
Leave a comment:
-
Hi Carl ...on my last post the image thumbnails are not visible ( except the last image ) Note ( the thumbnails not visible have spaces in the image filename ). If I log in I can see all the images. ??
Leave a comment:
-
The main blocks for an advanced VLF IB metal detector will require ...
1. AIB ( Active Induction Balance )
2. LLIA (Log Lock In Amplifier )
3 PAD ( Phase Detector )
AIB will largely counter magnetic grounds. Amplitude vs frequency ( khz )
TX1 is the main TX coil. TX2 is the bucking coil.
ARM radios software is rearranged
to form a VDI detector ..
and all we need is the MAGIC log amplifier for sine waves
as we cant use an ordinary "LOG" amplifier as the phase information is lost ( must maintain phase and log of amplitude gain)
We cant use this ... the phase info is lost and the log amplifier is wideband .... it will log all the input noise and as well.
We need the response below ... The noise is removed. The phase is intact. The sine wave RMS value is a log value but the waveform is not log distorted.
... should then have a motion / non motion hi spec detector ( adding batteries / cases / LCD bling etc etc etc ).
moodz
Leave a comment:
-
There are different ways even from the editor. I simply drag-and-drop items right into the editor window. Or use Window's snip tool to do a screen capture, then paste in the editor window.
Leave a comment:
-
err the "usual" way from the post editor. Some where png format ... it seemed to work for me. I could see them but nobody else ??Originally posted by Carl-NC View Post
What process do you use to attach files & pics? Because they occasionally don't show up. I need to chase this down.
The last post I thought I attached a PDF also .. I cant see it.
here it is.
Attached Files
Leave a comment:
-
What process do you use to attach files & pics? Because they occasionally don't show up. I need to chase this down.
Leave a comment:
-
After wrestling the archane STM32 build platform for a few days I was able to compile ARMRADIO which is an SDR radio into the STM32f407 chip.
Its on a STM32F407 diso board however this build uses only the CPU ... none of the other bling chips on the board are used.
The signal comes into one of the 12 bit ADCs is processed and the result comes out of the DAC.
ARMRADIO has all the DSP goodies already baked in to provide a solid framework for a DSP based processing system for metal detector use.
As it stands it can process from 9 khz to about 900 khz.
This project was released some years ago ... hence the wrestling to update to current tools ( STM32 cube )
you can read about it in the attached PDF. Its open source so google it.
Leave a comment:
-
Regarding the arctan function:
Is arctan ideally what you want, or are you simply after a decent TID generator?
I quite like what Minelab did with the Equinox 800 TID scale.
I reverse-engineered it and posted my observations over on Steve's Detector Prospector Forum.
They have made a very accurate logarithmic scale, so each ID value step represents a fixed ratio change of target frequency. This seems to get around the issues of stretching/squashing to get a practical useable scale.
My analysis shows ML chose a mid-point "20" to represent a 25 microsecs / 6366 Hz target. The frequency step ratio is 1.147203 so that 8 numbers on the scale represents a 3:1 frequency change.
The full "1" to "39" scale then covers about 80 kHz through to 500 Hz. This is targets about 13 times higher in freq than the 6366 Hz, and 13 times lower at the 'top' end.
Mathematically, the TID value can be expressed as:
TID = 20 + log10 ( fd / ft ) / 0.05964
or 20 + 16.7673 * log10 ( fd / ft )
where fd is target frequency and fd is detector frequency.
The thread on Detector Prospector:
https://www.detectorprospector.com/t...bration-table/
The TID table is attached here.
How to do a log scale?
Thanks to "Abramowitz & Stegun" , there is a simple and decently accurate log10 approximation, see attached image.
Source: ( see page 68 )
Scanned Version of Abramowitz and Stegun, Version 1.1 (bham.ac.uk)
It's good for a full decade, from 0.316 to 3.16, and for our more practical purposes can be squeeked out to cover (1 / 3.5) to 3.5, a 1:12 range, and maybe a bit more.
So it's ideal for covering the 0 to 45 degree range of the Equinox scale. Swapping the X and R components easily allows the 45 to 90 end of the range to be calculated.
The practical details:
Our x value we want to log covers the range 0 to 1.00, or more practically, 0.07 to 1.00.
So pre-scaling this x up by a factor or 3.5 puts it in the log10 approximator's range. The resulting log10 then needs re-scaling back down, with a subtraction of log10 (3.5) = 0.54407
because:
log ( c * d ) = log (c) + log (d)
So for example if we have x = 0.4; then 3.5 * x = 1.40.
log10 (1.4) = 0.1461
subtracting log10(3.5) gives ( 0.1461 - 0.54407 ) = - 0.3979
which is the correct value for log10 (0.4)
This can then be put into the TID formula above, to create a TID value.
I ran a simulation in QuickBasic, and it works impressively well, putting out TID values like "10.98" for a "11" target.
The maths can also be simplified a lot to speed it up, only one division is needed.
The log10 approximation takes in one number; we have a division of two numbers, ( m/n ) as our source.
But it's not necessary to calculate ( m/n ) and then do a second division to find t.
They can be combined:
t = (m/n - 1 )/ ( m/n + 1 ) = ( m - n ) / ( m + n )
Likewise, many of the scaling constants can be integrated / combined, reducing the maths complexity.
See the attached screenshot of a QuickBasic routine for 0 to 45 degrees ( TID 1 to 20 )
Example:
A TID "10" target, 25.1 kHz frequency.
Enter 'top' of the fraction as '33'; enter 'bottom' as '130'
and the result is a "10" give or take a tiny bit.
For fun, I also simulated a 'revised Equinox scale' ; scaled from 1 to 79, with "40" at centre-scale, and frequency ratio steps half what the were. It all worked great over the full 80 point range, really rather impressive.
Attached Files
Leave a comment:
-
It's a shame you put this 'competition' on when I have very limited internet access.
So I'm a late entrant, I guess.
To calculate the magnitude of your vector:
Split the 0 to 180 degrees angle into 45 degree segments, and use an approximation that's good for 0 to 45 degrees.
Swap the X and R values over for 45 to 90 degrees, for example.
An approximation based on a parabola works well, amplitude errors of less than 1.03% can be achieved.
Summary:
Amplitude = x + 0.428676 * y2 / x
Alternatives are A = x + (3/7) y2 / x ... very good
and A = x + 110 y2 / ( 256 * x ) ... pretty good, maybe useful for computer maths.
Attached explanation:
Leave a comment:
-
thats strange ... I can see the attachements fine ( on multiple boxes ... windows / linux ... chrome / firefox and on my mobile ). I tried png and jpeg .. can still see OK.
Leave a comment:
-
But if I quote your post, I can see this:Originally posted by moodz View PostI am not of the opinion that the RX phase will change ( significantly ) from cycle to cycle unless it is being heavily impinged by noise ( hence a focus on recovering the RX signal from heavy noise ).
There is no need to reinvent the wheel with the DSP .... the code is already out there and off the shelf.
IQ demodulators are simple to implement. ( with only minor coding changes ) using proven SDR designs.
Ferinstance below is a stm32f4xx disco board implementation of a SDR ( software defined radio ). Very little to be done to drop this into a metal detector design.
STM32 disco boards start at $20 or therabout ... what more do you want.??
The CORDIC algorithm I put up earlier to calculate the arctan of X/R is has an error of about .06 degrees using signed 8 bit values ... so 12 bits is fine in this case
Leave a comment:
-
Now I can't see the attachment?Originally posted by moodz View PostI am not of the opinion that the RX phase will change ( significantly ) from cycle to cycle unless it is being heavily impinged by noise ( hence a focus on recovering the RX signal from heavy noise ).
There is no need to reinvent the wheel with the DSP .... the code is already out there and off the shelf.
IQ demodulators are simple to implement. ( with only minor coding changes ) using proven SDR designs.
Ferinstance below is a stm32f4xx disco board implementation of a SDR ( software defined radio ). Very little to be done to drop this into a metal detector design.
STM32 disco boards start at $20 or therabout ... what more do you want.??
The CORDIC algorithm I put up earlier to calculate the arctan of X/R is has an error of about .06 degrees using signed 8 bit values ... so 12 bits is fine in this case
...
"..I am not of the opinion that the RX phase will change ( significantly ) from cycle to cycle..."
Yes and no, depending on sample rate and soil itself.
In reality there are soils and areas worse than that, you'll be surprised.
They (XP) f..ked up big time with f/w versions later than V3.2 at GEB algorythim.
So as I walking and step on such soil or area; Deus simply lose the GEB for some period, can't recover from sudden changes.
Just an example...
...
SDR I do have one "dongle" for longer period. Interesting idea!
Please repeat the attachment, I can see a squat!

Leave a comment:
-
I am not of the opinion that the RX phase will change ( significantly ) from cycle to cycle unless it is being heavily impinged by noise ( hence a focus on recovering the RX signal from heavy noise ).
There is no need to reinvent the wheel with the DSP .... the code is already out there and off the shelf.
IQ demodulators are simple to implement. ( with only minor coding changes ) using proven SDR designs.
Ferinstance below is a stm32f4xx disco board implementation of a SDR ( software defined radio ). Very little to be done to drop this into a metal detector design.
STM32 disco boards start at $20 or therabout ... what more do you want.??
The CORDIC algorithm I put up earlier to calculate the arctan of X/R is has an error of about .06 degrees using signed 8 bit values ... so 12 bits is fine in this case
Leave a comment:

Leave a comment: