I've also been studying the M&M code for a while
and run into your same difficulty. The interpolating filter works
_but_ you need to take into account that it produces a _delay_.
M&M uses an interpolator of 8 taps. Being your input [x0, x1,
x2, x3, x4, x5, x6, ...] and mu=0.0 you will see how the output is
exactly equal to x3. If you set mu to 1.0 the output is going to
be x4. Values between (0.0, 1.0) will produce the appropriate
interpolated value that goes between x3 and x4. There is a delay
of 3 samples.
This delay doesn't affect
the timing control value mm_val in M&M implementation, but
definitely makes its analysis more complicated.
Hope this is still useful
to you. Cheers,
Ed
|