Class Ash1_0Algorithm

java.lang.Object
jmri.jmrix.rps.Ash1_0Algorithm
All Implemented Interfaces:
Calculator

public class Ash1_0Algorithm extends Object implements Calculator
Implementation of 1st algorithm for reducing Readings

This algorithm was provided by Robert Ashenfelter based in part on the work of Ralph Bucher in his paper "Exact Solution for Three Dimensional Hyperbolic Positioning Algorithm and Synthesizable VHDL Model for Hardware Implementation".

Neither Ashenfelter nor Bucher provide any guarantee as to the intellectual property status of this algorithm. Use it at your own risk.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    (package private) static class 
    Internal class to handle return value.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) static final int
     
    (package private) static int
    The following is the original algorithm, as provided by Ash as a C routine
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) javax.vecmath.Point3d[]
     
    (package private) static int
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
    (package private) double
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Ash1_0Algorithm(javax.vecmath.Point3d[] sensors, double vsound)
     
    Ash1_0Algorithm(javax.vecmath.Point3d sensor1, javax.vecmath.Point3d sensor2, javax.vecmath.Point3d sensor3, double vsound)
     
    Ash1_0Algorithm(javax.vecmath.Point3d sensor1, javax.vecmath.Point3d sensor2, javax.vecmath.Point3d sensor3, javax.vecmath.Point3d sensor4, double vsound)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    convert(Reading r, javax.vecmath.Point3d guess)
    Seed the conversion using an estimated position
    Seed the conversion using a last measurement
    (package private) int
     
    (package private) Ash1_0Algorithm.RetVal
    RPSpos(int nr, double[] Tr, double[] Xr, double[] Yr, double[] Zr, double Vs, double Xt, double Yt, double Zt)
     
    (package private) double
    wgt()
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • Vs

      double Vs
    • Xt

      double Xt
    • Yt

      double Yt
    • Zt

      double Zt
    • sensors

      javax.vecmath.Point3d[] sensors
    • OFFSET

      static int OFFSET
      The following is the original algorithm, as provided by Ash as a C routine
    • TMAX

      static int TMAX
    • NMAX

      static final int NMAX
      See Also:
    • x

      double x
    • y

      double y
    • z

      double z
    • x0

      double x0
    • y0

      double y0
    • z0

      double z0
    • x1

      double x1
    • y1

      double y1
    • z1

      double z1
    • x2

      double x2
    • y2

      double y2
    • z2

      double z2
    • Rmax

      double Rmax
    • xi

      double xi
    • yi

      double yi
    • zi

      double zi
    • ri

      double ri
    • xj

      double xj
    • yj

      double yj
    • zj

      double zj
    • rj

      double rj
    • xk

      double xk
    • yk

      double yk
    • zk

      double zk
    • rk

      double rk
  • Constructor Details

    • Ash1_0Algorithm

      public Ash1_0Algorithm(javax.vecmath.Point3d[] sensors, double vsound)
    • Ash1_0Algorithm

      public Ash1_0Algorithm(javax.vecmath.Point3d sensor1, javax.vecmath.Point3d sensor2, javax.vecmath.Point3d sensor3, double vsound)
    • Ash1_0Algorithm

      public Ash1_0Algorithm(javax.vecmath.Point3d sensor1, javax.vecmath.Point3d sensor2, javax.vecmath.Point3d sensor3, javax.vecmath.Point3d sensor4, double vsound)
  • Method Details