Announcement

Collapse
No announcement yet.

Ground Balance holes - a solution

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

  • Ground Balance holes - a solution

    Ground balance (GB) is usually solved by making linear combinations of successive samples such that the sum of the ground signal is null.

    Unfortunately, the same linear combinations also null for certain time constants (TC). These are called GB holes. Objects with TC near those holes escape detection if this form of GB is used.

    The solution I propose is to use 3 successive samples s1, s2, s3 at times t, 2t and 4t. In the presence of pure ground (thus no targets) and assuming the usual invariant 1/t ground response, the amplitude ratios of successive samples is as follows:

    s2/s1 = (1/2t)/(1/t) = 0.5
    s3/s2 = (1/4t)/(1/2t) = 0.5

    We express this as the point (0.5, 0.5) on a plane. This is the Ground point.

    GP = (0.5, 0.5)

    A target with TC = tau will have the following ratios:

    s2/s1 = exp(-t2/tau)/exp(-t1/tau)
    s3/s2 = exp(-t3/tau)/exp(-t2/tau)

    We express this as the target point (exp(-t2/tau)/exp(-t1/tau), exp(-t3/tau)/exp(-t2/tau)) on a plane. This is the Target point.
    This is a plot of the euclidean distance between the Target and the Ground point. They never meet, which solves the problem of the GB holes.


    sqrt((exp(-10/tau)/exp(-5/tau)-0.5)**2 + (exp(-20/tau)/exp(-10/tau)-0.5)**2))

    Attached Files

  • #2
    Is this something that you will make into a working project ?

    Comment


    • #3
      Originally posted by 6666 View Post
      Is this something that you will make into a working project ?
      The OP should NOT have to commit to a working project on a silver platter in order to propose a possible solution to a problem, nor should he be subjected to criticism for not doing so.

      Comment


      • #4
        Originally posted by rickb View Post
        The OP should NOT have to commit to a working project on a silver platter in order to propose a possible solution to a problem, nor should he be subjected to criticism for not doing so.

        Who asked you, I asked the question to the OP. if he chooses to answer me thats up to him its not for you to stick your nose in, show me where I asked for working project on a silver platter

        Comment


        • #5
          The following chart shows how different mixtures of target and ground behave. The TCs vary between 5us and 30us.

          The outer (orange) line is 100% target, the next line is a mix of 90% target and 10% ground ... then so on until the last line which is 10% target 90% ground.




          in this plot we see the distances to Ground Point of all the above target/ground mixtures:



          We see that a distance threshold of about 0.1 can tell a target in a signal that's 70% ground. A threshold of 0.05 works in 90% ground.

          Originally posted by 6666 View Post
          Is this something that you will make into a working project ?
          It's something I want to experiment with and see if actually works.

          gnuplot of the above graphs:

          Code:
          set terminal svg size 400,400 enhanced fname 'arial'  fsize 10 butt solid
          set output 'out.svg'
          set style fill transparent solid 0.35 noborder
          set style circle radius 0.02
          set parametric
          set xrange [0.2:0.9]
          set yrange [0.1:0.7]
          unset key
          plot [5:30] (1*exp(-10/t)+0/10)/(1*exp(-5/t)+0/5), (1*exp(-20/t)+0/20)/(1*exp(-10/t)+0/10) with lines, (0.9*exp(-10/t)+0.1/10)/(0.9*exp(-5/t)+0.1/5), (0.9*exp(-20/t)+0.1/20)/(0.9*exp(-10/t)+0.1/10) with lines, (0.8*exp(-10/t)+0.2/10)/(0.8*exp(-5/t)+0.2/5), (0.8*exp(-20/t)+0.2/20)/(0.8*exp(-10/t)+0.2/10) with lines, (0.7*exp(-10/t)+0.3/10)/(0.7*exp(-5/t)+0.3/5), (0.7*exp(-20/t)+0.3/20)/(0.7*exp(-10/t)+0.3/10) with lines, (0.6*exp(-10/t)+0.4/10)/(0.6*exp(-5/t)+0.4/5), (0.6*exp(-20/t)+0.4/20)/(0.6*exp(-10/t)+0.4/10) with lines, (0.5*exp(-10/t)+0.5/10)/(0.5*exp(-5/t)+0.5/5), (0.5*exp(-20/t)+0.5/20)/(0.5*exp(-10/t)+0.5/10) with lines, (0.4*exp(-10/t)+0.6/10)/(0.4*exp(-5/t)+0.6/5), (0.4*exp(-20/t)+0.6/20)/(0.4*exp(-10/t)+0.6/10) with lines, (0.3*exp(-10/t)+0.7/10)/(0.3*exp(-5/t)+0.7/5), (0.3*exp(-20/t)+0.7/20)/(0.3*exp(-10/t)+0.7/10) with lines, (0.2*exp(-10/t)+0.8/10)/(0.2*exp(-5/t)+0.8/5), (0.2*exp(-20/t)+0.8/20)/(0.2*exp(-10/t)+0.8/10) with lines, (0.1*exp(-10/t)+0.9/10)/(0.1*exp(-5/t)+0.9/5), (0.1*exp(-20/t)+0.9/20)/(0.1*exp(-10/t)+0.9/10) with lines, (1.38777878078145e-16*exp(-10/t)+1/10)/(1.38777878078145e-16*exp(-5/t)+1/5), (1.38777878078145e-16*exp(-20/t)+1/20)/(1.38777878078145e-16*exp(-10/t)+1/10) with lines
          
          
          
          set terminal svg size 400,300 enhanced fname 'arial'  fsize 10 butt solid
          set output 'out.svg'
          set nokey
          set xrange [5:30]
          set yrange [0:0.5]
          plot sqrt(((1*exp(-10/x)+0/10)/(1*exp(-5/x)+0/5) - 0.5)**2 + ((1*exp(-20/x)+0/20)/(1*exp(-10/x)+0/10) - 0.5)**2) with lines, sqrt(((0.9*exp(-10/x)+0.1/10)/(0.9*exp(-5/x)+0.1/5) - 0.5)**2 + ((0.9*exp(-20/x)+0.1/20)/(0.9*exp(-10/x)+0.1/10) - 0.5)**2) with lines, sqrt(((0.8*exp(-10/x)+0.2/10)/(0.8*exp(-5/x)+0.2/5) - 0.5)**2 + ((0.8*exp(-20/x)+0.2/20)/(0.8*exp(-10/x)+0.2/10) - 0.5)**2) with lines, sqrt(((0.7*exp(-10/x)+0.3/10)/(0.7*exp(-5/x)+0.3/5) - 0.5)**2 + ((0.7*exp(-20/x)+0.3/20)/(0.7*exp(-10/x)+0.3/10) - 0.5)**2) with lines, sqrt(((0.6*exp(-10/x)+0.4/10)/(0.6*exp(-5/x)+0.4/5) - 0.5)**2 + ((0.6*exp(-20/x)+0.4/20)/(0.6*exp(-10/x)+0.4/10) - 0.5)**2) with lines, sqrt(((0.5*exp(-10/x)+0.5/10)/(0.5*exp(-5/x)+0.5/5) - 0.5)**2 + ((0.5*exp(-20/x)+0.5/20)/(0.5*exp(-10/x)+0.5/10) - 0.5)**2) with lines, sqrt(((0.4*exp(-10/x)+0.6/10)/(0.4*exp(-5/x)+0.6/5) - 0.5)**2 + ((0.4*exp(-20/x)+0.6/20)/(0.4*exp(-10/x)+0.6/10) - 0.5)**2) with lines, sqrt(((0.3*exp(-10/x)+0.7/10)/(0.3*exp(-5/x)+0.7/5) - 0.5)**2 + ((0.3*exp(-20/x)+0.7/20)/(0.3*exp(-10/x)+0.7/10) - 0.5)**2) with lines, sqrt(((0.2*exp(-10/x)+0.8/10)/(0.2*exp(-5/x)+0.8/5) - 0.5)**2 + ((0.2*exp(-20/x)+0.8/20)/(0.2*exp(-10/x)+0.8/10) - 0.5)**2) with lines, sqrt(((0.1*exp(-10/x)+0.9/10)/(0.1*exp(-5/x)+0.9/5) - 0.5)**2 + ((0.1*exp(-20/x)+0.9/20)/(0.1*exp(-10/x)+0.9/10) - 0.5)**2) with lines, sqrt(((1.38777878078145e-16*exp(-10/x)+1/10)/(1.38777878078145e-16*exp(-5/x)+1/5) - 0.5)**2 + ((1.38777878078145e-16*exp(-20/x)+1/20)/(1.38777878078145e-16*exp(-10/x)+1/10) - 0.5)**2) with lines
          Attached Files

          Comment


          • #6
            It's something I want to experiment with and see if actually works.
            Thanks reply, I hope it works for you, good luck with the project.

            Comment

            Working...
            X