Chronology Current Month Current Thread Current Date
[Year List] [Month List (current year)] [Date Index] [Thread Index] [Thread Prev] [Thread Next] [Date Prev] [Date Next]

Re: [Phys-L] Timing Statistic



Here are a few things that occurred to me:

1) It pays to represent the phase of the rotor in units
of /degrees/.

Radians may be mathematically elegant, but degrees represent
how the encoder is physically implemented. If you express
the phase in radians, to any finite number of digits, you
suffer roundoff error. In contrast, all the observed phase
values reported by the hardware can be represented by exact
integers.

Also, when looking at the residuals, a great deal of what
you see can be explained by rounding to the nearest degree.
The explanation for the magnitude of what you are seeing
might be a whole lot less obvious if represented in other
units.

2) Minor point: I prefer the term /phase/ rather than
/angle/ because some people think that angles are only
defined modulo 360°. This experiment uses a quadrature
encoder, so the phase can keep on increasing without bound.

3) Major conceptual point: It helps to model this system
using a Hidden Markov Model (HMM).
*) It's Markovian, because all classical physics is
Markovian. If you know the position and momentum at
any given time, you can predict what happens next.
*) It's hidden, because the encoder doesn't give us
the actual phase φ (let alone dφ/dt). Instead it
gives us φ rounded to the nearest degree. We can
(and should) model the real φ, but we can't directly
observe it. Both φ and round(φ) are important!
-- Data is always important. We have to respect
the data. It comes to us as round(φ), rounded
to the nearest whole degree.
-- The fundamental physics is always important.
The disk has some real phase angle φ, and it
determines what happens next.

A HMM needs to be trained. Think of it as curve fitting,
with adjustable parameters.

It's possible to build really complicated HMMs, but I
think this one should be really simple.