In Reply to: Deja stinking vue - Every couple of months like clockwork posted by Ted Smith on October 25, 2006 at 18:47:52:
I read the PLL paper. This approach is not what I described. Yes, it is a fundamentally flawed approach to fixing jitter (it is merely a filter).My method requires buffering not only the word data but the delta time (from local clock...e.g. 20ps too early, 35ps too late, etc.) for each word. You then maintain a totalBufferDelta representing the sum of all these buffered times: add to the total for the delta time of the current input word when you add new data to the buffer, and subtract the delta time from the total whenever you remove data from the buffer. The output rate is the local clock + the average delta (average delta = totalBufferDelta / currentBufferSize).
As the size of your buffer increases, your variation from the original clock will be reduced. It will be reduced to 1% of the max jitter with a buffer of just 100 values. With a buffer of just one second it will be 1/44100 of max jitter. You can now be outputting data at the original transport's clock rate. The playback should begin when the buffer is half full.
Again, voila. No more jitter, the DAC is now playing back at the rate of the transport's clock.
This post is made possible by the generous support of people like you and our sponsors:
Follow Ups
- Deja vu only in the sense that you are not listening... - Scrith 16:45:35 10/26/06 (3)
- Nope, in the sense that you can't (or won't) understand the state of the art. - Ted Smith 19:55:46 10/26/06 (2)
- OK, see you in a couple of months :-) - Scrith 09:22:51 10/27/06 (1)
- :) - Ted Smith 09:40:09 10/27/06 (0)