GSOC Week 5

Jun 30, 2015

Midterm checkpoint on Friday. Finished checking the 2D fitting and got halfway through with 3D fitting. Unfortunately, it seems that a (realistically to long) set of non-linear equations that need to be solved symbolically to compute the conversion factors is to big of a bite for MATLAB to chew in any reasonable amount of time. Until I figure out a solution to the solver, alternatives are being researched.

Worked on:

  • 2D Correction algorithm in MATLAB, scales properly now for different field magnitude measures
  • Moved both to Octave so I can test on the BBB
  • 2D Octave code is quite fast on BeagleBone (~0.022s for 500 point dataset)
  • 3D Octave code working, adapted from Yury’s fitting algorithm (~ 0.081s for 512 point dataset)
  • Fitting code:


  • Haven’t figure out yet how to get rotational matrix from the eigenvector output, scaling and centering works fine
  • Solving the non-linear equations to convert from intermediate linear terms to correction parameters (rot, trans, scale) for the data proved to be impossible/takes too long; used Yury’s method for now

To be worked on:

  • Solving parameter EQs with a different method
  • Figure out the eigenvector rotation matrix
  • Adding time-variant error compensation using telemetry and additional inputs
  • Testing on real measurements (2D case ready; 3D should work as well)
  • Framework design & overall systems design