Announcement

Collapse
No announcement yet.

Discrimination + VDI THEORY

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Discrimination + VDI THEORY

    Hello

    In relation to the topics:

    (IDX-PRO+VDI) http://www.geotech1.com/forums/showt...51-IDX-PRO-VDI
    (Arduino based VDI) http://www.geotech1.com/forums/showt...uino-based-VDI!
    (Lugatek VDI) http://www.geotech1.com/forums/showt...GATEK+QUESTION
    (Direct wave VDI) http://www.geotech1.com/forums/showt...&highlight=vdi

    http://www.familie-spaans.nl/tgsl.php


    I would like to start topic Discrimination and calculation of the potential target.


    I will use the scheme Tesoro Eldorado
    (part of the channel bandpass filters X, Y)

    Click image for larger version

Name:	02 pyt.JPG
Views:	1
Size:	115.4 KB
ID:	368470

    and scheme connection electronic module VDI.

    Click image for larger version

Name:	01 pyt.JPG
Views:	1
Size:	161.8 KB
ID:	368467


    The induced signal from the receiver coil (the findings) is separated into two components X=R, Y [magnetic, electric - conductive]

    The amplitude of the signal (X and Y) indicates the distance from the object to the coil, or the size a finding (coin),

    and phase of the material object (ferrus, non ferrus etc.).



    After passing signal by demudaolator synchronous the sinusoidal signal is change to DC voltage.

    Click image for larger version

Name:	03.JPG
Views:	1
Size:	54.6 KB
ID:	368468


    The signal going into the first mode band filter (low-pass) 5-20Hz changes in short <-x [V] ... 0 ... x + [V]

    by the way there is noise at mV level.


    Going into the second block filtration (X ', Y') + gain (in module VDI) signal inverting amplifier configuration varies in the range < 0 .. X+ [V] >.

    At the same time I saw two options for reversing input connections in the system MCP602
    pin 3, 5 to gnd or pin 3, 5 to 2.5V stabilizer.



    I would like to develop for educational purposes VDI module similar to those presented by colleagues from the forum.

    I would ask the person familiar topic of precision engineering explain the rules operation and interpretation of thise DC signals to the value VDI diagrams.

    From what I can see from the configuration shown in Figure A' B' signal can only be read on a scale 0 ... 90 ° C
    (unless something else I do not understand).


    The standard converted and converts the scale -90 0 90 +.

    Overall, I read about a few ways to convert the DC voltage to VDI:


    a) the ratio of the component X / Y
    (hm ... some problem 4v/5v = 8v/10v)

    ".......... To compare the two signals, Look to see if BOTH signals go positive simultaneously, Measure the voltage of each channel .Divide the “X’ by “Y” Go back to the first step, up to XX times. Average all the “Slopes” together and convert this to a number between 0 and 90............"

    b) X / X + Y


    (......."Another ,simpler way, is to make take the average slope readings and calculate as follows :
    X / (X + R) This gives a very good approximation and is the method that George Payne used in some of his early
    detectors. This will always give a result of between 0 and 1. Then just multiply by 90........."

    c) arc tan x / y


    "...VLF detectors typically use quadrature sampling to provide discrimination.
    The first sample is taken at the zero crossing RX wave, and the second sample is
    later charged 90 degrees at the top. By plotting these two values ​​on the axis
    X and Y in the graph, you can measure the angle formed by the resulting vector and the axis X.
    This angle can be determined with a digital metal detector directly
    calculating the arc tangent of y / x (and displays the results on the meter VDI).
    Alternatively, the detector may provide an analog indistinguishable from
    logically ANDing the outputs X and Y channels, and the provision of means
    controlling second (peak) of the sample in order to allow selective
    rejecting unwanted targets..."




    Im read patent tesoro discrimination US 4486713, if You know any mor patents abaud VDI I would appreciate any leads where I can read the particulars


    my simply idea

    Click image for larger version

Name:	04.JPG
Views:	1
Size:	56.6 KB
ID:	368469
    please guide me the right way

    Probably a lot more I do not understand, so I would ask for an explanation how to go about it

    welcome any charts, graph program blocks illustrative

    skipping it uses for testing ATMEGA 16/32, and only hehe ADC 10bit




    Thank you and best regards
    Sorry for my english :/

  • #2
    Hey Willem, a great post, very informative. I visited your website also, what a great job you made of the TGSL you have inspried me to build your VDI.

    Comment


    • #3
      HI , im Paul not Willem

      I'm glad that something of this useful .. but as you can see I'm a beginner:> vdi, five have to ask for advice from more experienced people

      I hope some of GURU in this team will respond a little bit.

      And she'll be a big topic that gives full issue.

      greetings

      Comment


      • #4
        Your right to have a good think about all of this before jumping in like I often do!

        The A/D interface could be bipolar or +and- by holding a ref level at 1/2 rail. So you get the additial information from a negative going signal like iron rather than just going to 0v.


        Another thing to consider - and its a big ask technically to amatuer fiddlers like me. Ideally, you would have an AGC circuit on these detectors - which keep the I and Q signals from saturating. If I and Q begin to saturate, then the levels of I and Q converge and are the same, this means the phase information is lost.
        As bothe IandQ would have thae same level.

        Lots of units raise or lower the Tx power to keep the Rx Iand Q within the dynamic range of the ADC's - similar to all receivers feeding A/Ds

        S

        Comment


        • #5
          Sorry Paul, I pulled the name from the website without thinking about it. Im just a low level amateur, so alot on this site is too complicated for me to understand. But I can build without fully understanding which is great.

          Comment


          • #6
            You can achieve a reasonably good target indication with a PIC by implementing arctan(y/x), where y is the DISC channel, and x is the GB channel. Read each channel 50 times and take the average. The ADC can have a reading between 0 and 1023. Scale the averaged reading for each channel so that this value is centered around 511. i.e. 511=0, 1023=+512 and 0=-511. Then use the arctan function to calculate the phase angle. You can also calculate the amplitude using the square root of the sum of the squares.

            Chapter 7 of "Inside the METAL DETECTOR" describes how target discrimination works, and gives an example. However, the actual method of implementing this is not described. Perhaps we'll put this in the next edition.

            Comment


            • #7
              Thank you ALL for your response

              I would like to be prompted personally on any links - the source, patents to read more about the VDI [in particular the operation of the DC voltage in analog detectors]

              (I write engineering works)

              I would like to rely on a simple method, which is used in the factory hardware.


              For now I will stay with atmega



              "You can Achieve a reasonably good target indication with a PIC to Implementing arctan (y / x), where y is the DISC channel, and x is the GB channel. Read each channel 50 times and take the average."



              I understand that just averaging 50 DC voltage measurements in 2 channels x, y
              Then simply calculate the function arctg (y / x)


              Yes agrees Atmega ADC = 0-1023 except that, for example, by measuring the voltage -5 0 5 [v] is losing resolution.

              there's another problem in the configuration of the diagram (module VDI , schema) A' and B' take only dodt voltage <0 x+> [V]
              (In my module mcp602/ LM358 THE pin 3 , 5 is conect to gnd)
              Click image for larger version

Name:	06 pyt.JPG
Views:	1
Size:	161.4 KB
ID:	337176

              (I guess, although I do not know which pins are connected to 2.5 V - orange lines in schema)


              so would only be a positive measure on a scale 0 - 90 of this I understand.


              "You can also calculate the amplitude using the square root of the sum of the squares" --- what it is metod ?


              "Chapter 7 of" Inside the METAL DETECTOR "target describes how discrimination works, and gives an example. However, the actual method of Implementing this is not described. Perhaps we'll put this in the next edition."


              --- I will be ordering the book has just activates a paypal my account

              Would be fun to read something else (engineering) about VDI



              What about the other methods A) and B)


              Regards and thank for help.

              Comment


              • #8
                Originally posted by aothunterpl View Post
                Yes agrees Atmega ADC = 0-1023 except that, for example, by measuring the voltage -5 0 5 [v] is losing resolution.
                If 0 to 1023 represents phase-shift (i.e. ) then 1 bit = . That's more than enough resolution for a VDI. You only need resolution to display the VDI number.

                Originally posted by aothunterpl View Post
                "You can also calculate the amplitude using the square root of the sum of the squares" --- what it is metod ?
                Take the averaged outputs from each channel, but as well as calculating , you can calculate to get the vector magnitude. This will give you the signal strength.

                Originally posted by aothunterpl View Post
                What about the other methods A) and B)
                Method B was proposed in an article by George Payne. This is only an approximation, but probably works OK if you want to display the target ID as being within a set of maybe 8 possible target types. This method was proposed several years ago when processors were much less powerful than today. I've never tried method A, but I suspect it is also an approximation designed to speed up the calculation.

                Comment


                • #9
                  Hi Hunter, in this link http://www.familie-spaans.nl/tgsl.php.. It says....



                  "What you see are the two signals. And you can clearly see a phase shift. Wow! That's how they do it."


                  I dont think thats quite right - the phase shift is there because both Rx CHannels are gated at different times - one before the other..



                  It is the amplitudes on the two channels which gives the target phase.

                  A minor complication often overlooked - is, what 'time' do you do the amplitude comparison?

                  One way may be to do a max hold or sample and hold CH 'A and then wait for the time equal to the gating delta between CH's then do the same measure on CH 'B - this will give the true amplitude delta between RX CHls for the 'target' phase.

                  S

                  Comment


                  • #10
                    Originally posted by Qiaozhi View Post
                    Method B was proposed in an article by George Payne.
                    It would be so great if you could link to it for reference.

                    There is another method I'm musing about lately. It may seem a bit complicated, but it is not. So here it goes...
                    - X and Y are re-modulated by quadrature mixer to maintain phase relationship
                    - the resultant signal is bandpass filtered (reconstructed) and compressed (normalised) by hard limiter
                    - phase is detected directly by a simple mixer
                    - optionally the normalised signal is digitised by means of Schmitt trigger, and phase is detected by some of digital phase detectors, XOR, flip-flop, or whatever phase transfer function is desired

                    While it may seem as identical method to direct wave, it is not. By re-modulating a signal it's bandwidth is limited to 20Hz or so, identical to gain blocks filters bandwidth (x2), so in essence the system works as a tracking filter of enormous Q factor, yet with phase completely intact.

                    Fun part is that the whole shebang is possible by using only a few garden variety components, and phase response may be used to drive a VCO, thus making the phase directly audible with no micros in the way.

                    Comment


                    • #11
                      Originally posted by Davor View Post
                      It would be so great if you could link to it for reference.
                      http://jb-ms.com/Baron/IDmeters.html

                      Comment


                      • #12
                        Originally posted by golfnut View Post
                        Hi Hunter, in this link http://www.familie-spaans.nl/tgsl.php.
                        Willem has done a very good write-up of his project, and it's well worth reading.
                        Watching the youtube video does show that the VDI numbers are only vaguely accurate using this approach, but nonetheless I think he did a great job. I do love it when people make an effort and carry out their own experiments. It's what I call the "How hard can it be?" approach.

                        Comment


                        • #13
                          I agree its a refreshing full blooded attempt, as Quiazi says.. Well done

                          S

                          Comment


                          • #14
                            Hi all, Willem here.

                            My project was a really "how hard can it be" project. Just to proof it can be done.

                            The vdi calculation I used is based on the B method as mentioned in message#1 of this thread.
                            Just because the math functions mentioned in message #8 is way over my head...

                            Golfnut in message #9 is correct. The phase shift means nothing. Just what I found out later and mentioned.

                            The method I used is based on the B method.
                            ADC is called as long as the amplitudes are over a adjustable treshold (the atternator) but no longer than 750 cycles to prevent hanging.

                            Below the code. Have fun with it

                            void CalculateFaseVDI(void)
                            {
                            short statusAdcX = 0;
                            short statusAdcR = 0;
                            unsigned short Teller = 0;
                            unsigned short ValidPulseCounter = 0;
                            unsigned short temp = 0;
                            float diffFactor = 0.0;

                            // reset VDI
                            charVDI = 111;

                            //Read the analog pins
                            statusAdcX = ReadADC(0) - settingAttenuator;
                            statusAdcR = ReadADC(1) - settingAttenuator;

                            //signalvalue
                            charSvalue = statusAdcX;
                            if (charSvalue <= statusAdcR) charSvalue = statusAdcR;

                            //if signal do calculate
                            if ((statusAdcX > 0) || (statusAdcR > 0)) {

                            while (Teller < basisMaxPulsCount) {
                            // get the maximum signal strength from both channels
                            if (charSvalue <= statusAdcX) charSvalue = statusAdcX;
                            if (charSvalue <= statusAdcR) charSvalue = statusAdcR;

                            //calc the diff factor of both channels
                            if (statusAdcX > 0) {
                            diffFactor = diffFactor + (float) statusAdcR / statusAdcX;
                            ValidPulseCounter++;
                            }

                            //both signals down
                            if ((statusAdcX <= 0) && (statusAdcR <= 0)) Teller = basisMaxPulsCount;

                            //Read the analog pins
                            statusAdcX = ReadADC(0) - settingAttenuator;
                            statusAdcR = ReadADC(1) - settingAttenuator;

                            //increase the maxpulscounter to prevent hangs
                            Teller++;
                            }

                            // we got a calculated value
                            if (diffFactor > 0) {

                            // calc the average diff factor
                            temp = ((float) diffFactor / ValidPulseCounter) * 100;
                            // calc the VDI -> correction factor=600
                            if (temp > 600) temp = 600; //diff factor is theoretical between 0 and 900 but limitted to 600
                            charVDI = (0.3166 * (600 - temp)) - 100; //0.3166=190/600 190=-95 to 95

                            // hold between limits
                            if ((charVDI< -95) || (charVDI > 95)) {
                            charVDI = 111;
                            } else {
                            //make music
                            PlaySound();
                            }
                            }

                            }

                            //signal is max 1023 but divide by 4 because char array can only go upto 255
                            charSvalue = (int) charSvalue / 4;
                            }

                            Comment


                            • #15
                              Originally posted by Davor View Post

                              There is another method I'm musing about lately. It may seem a bit complicated, but it is not. So here it goes...
                              - X and Y are re-modulated by quadrature mixer to maintain phase relationship
                              - the resultant signal is bandpass filtered (reconstructed) and compressed (normalised) by hard limiter
                              - phase is detected directly by a simple mixer
                              - optionally the normalised signal is digitised by means of Schmitt trigger, and phase is detected by some of digital phase detectors, XOR, flip-flop, or whatever phase transfer function is desired
                              By the way , in the late 80-s we used another method , a kind of "mechanical" solution What we need is to make a 2 perpendicular coils , a thin pivot inside of them with a magnet in the middle and a pointer on the end . The pointer was rotating in the center of the round scale , like the watch dial . We took DC signals from the synchronous demodulator outputs ( X and Y ) , amplified them by two DC amps , op-amp based , and feed the coils , so their magnetic fields were proportional to the X and Y signal components . And when the metal were placed near the search coil , the magnet on the pivot stayed in the position , defined by the resultant magnetic field , proportional to arctg(X/Y) , so the pointer displayed our phase shift on the dial ( marked with metal names ) .... funny but quite a workable solution , isn't it ?

                              Comment

                              Working...
                              X