2009-11-17 We have now created a simple algorithm that looks at the time between flux reversals, and indicates the number of bit cells represented.
There are many cases where this is not trivial. Ideally you’d have flux reversals at the exact multiples of the reference clock, for example, 2us for MFM DD, but of course this is never actually the case. The decoder should decide whether seeing a time that is say, 2.5us with a 2us reference clock, is 1 bit or 10. The chances are it is just a 1 of course, but it’s not always this simple, as the time between flux reversals increase.
This is completely different from what the FDCs themselves are doing, as they don’t have the luxury of double precision floating point calculations.
Ideally, the conversion would do post-compensation (take adjacent cells attracting or repelling into account) as well as use the current average cell rate to bias the calculations.
This is an early experiment, and we will see if we end up with a legible bitstream...