Hot answers tagged

5

Your timing error detector should be run once for each input symbol. As you noted, your signal is far more oversampled than you need to be, so you won't end up using most of them for the purposes of timing error detection. As the paper suggests, the detector uses three samples, each separated by half the symbol period $T$. So, for the first timing error ...


5

If you calculate the error, 44102/44100 is only about 45 parts per million. That is well within operating tolerance of many crystal oscillators used in consumer equipment to generate audio sampling rates and USB communication clocks. You can be quite pleased it is not even more off. Another problem is that if you simultaneously use different devices for ...


5

The Gardner Timing Error Detector is diagrammed in the graphic below, where two samples per symbol are used, and the error is determined using Prompt*(Late-Early), and when synchronized the center sample (Prompt) will be midway between two symbols. In contrast, an Early-Late approach uses (Late-Early), typically on a correlated symbol response, and when ...


4

Your Gardner Loop would properly "Flywheel" in the absence of symbol transitions. So it would slowly drift off of synchronization, but would not spiral out of control as you describe. This is ideal for a control system with "missing updates"; to have the contributions for those updates with no additional information to contribute 0 to the accumulated error, ...


3

If you have access to Mengali's book 'Synchronization Techniques for Digital Receivers', you will find the details how to choose it for a tracking loop, be it for frequency, phase or timing. Otherwise, just read about a standard discrete-time phase locked loop and see how the choice of paramters affect the loop bandwidth, which is what you are after.


Only top voted, non community-wiki answers of a minimum length are eligible