I am investigating symbol timing recovery, specifically the gardner timing recovery method with a farrow interpolating filter. In some block diagrams I have seen in my research, there always seems to be an NCO, which is driven from the TED and loop filter. The NCO then feeds into the interpolator. If using a farrow interpolator, it seems there is no need for the NCO and you can just feed in the loop filter output to change the fractional delay parameter of the farrow. Is this correct? Thanks, -Jacob Fenton
gardner timing and farrow interpolator
Started by ●June 9, 2011
Reply by ●June 9, 20112011-06-09
On Thu, 09 Jun 2011 17:40:29 -0500, "jacobfenton" <jacob.fenton@n_o_s_p_a_m.gmail.com> wrote:>I am investigating symbol timing recovery, specifically the gardner timing >recovery method with a farrow interpolating filter. In some block diagrams >I have seen in my research, there always seems to be an NCO, which is >driven from the TED and loop filter. The NCO then feeds into the >interpolator. If using a farrow interpolator, it seems there is no need for >the NCO and you can just feed in the loop filter output to change the >fractional delay parameter of the farrow. Is this correct? > >Thanks, >-Jacob FentonRemember that the NCO is an integrator in the system. If you delete it, you change the traditional transfer function of the loop pretty substantially. If you can work out a loop analysis where you don't need that additional integrator and can make the farrow filter work strictly on the filter output, more power to you. Consider that most successful implementations include the NCO, though. ;) From an intuitive point of view, the clock recovery loop is trying to regenerate the stable symbol timing clock that was in the modulator. This implies that the recovered clock will have a stable frequency and the loop is mostly just trying to steer the phase of the oscillator. To me, at least, intuitively this means that an NCO would be a very appropriate thing to have generating the recovered clock. I understand your question and there is some logic to it. I suspect such an approach could be used at high SNR, but at lower SNR the noise coming out of the loop could be expected to cause either a lot of jitter or cycle slips or both. The NCO (and it's integrator) helps smooth that out. Eric Jacobsen http://www.ericjacobsen.org http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php
Reply by ●June 9, 20112011-06-09
> >Remember that the NCO is an integrator in the system. If you delete >it, you change the traditional transfer function of the loop pretty >substantially. If you can work out a loop analysis where you don't >need that additional integrator and can make the farrow filter work >strictly on the filter output, more power to you. Consider that most >successful implementations include the NCO, though. ;) > >From an intuitive point of view, the clock recovery loop is trying to >regenerate the stable symbol timing clock that was in the modulator. >This implies that the recovered clock will have a stable frequency and >the loop is mostly just trying to steer the phase of the oscillator. >To me, at least, intuitively this means that an NCO would be a very >appropriate thing to have generating the recovered clock. > >I understand your question and there is some logic to it. I suspect >such an approach could be used at high SNR, but at lower SNR the noise >coming out of the loop could be expected to cause either a lot of >jitter or cycle slips or both. The NCO (and it's integrator) helps >smooth that out. > > >Eric Jacobsen >http://www.ericjacobsen.org >http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php >The loop filter does also have an integrator in it, to help smooth out noise and keep tracked. I guess the NCO is confusing me. The output of the NCO is cyclic, correct? So if that is true, how does the Farrow filter use that as the fractional delay parameter? Or does the NCO actually clock the Farrow interpolator and the fractional delay parameter is fixed? -Jacob
Reply by ●June 9, 20112011-06-09
On Thu, 09 Jun 2011 19:28:53 -0500, "jacobfenton" <jacob.fenton@n_o_s_p_a_m.gmail.com> wrote:>> >>Remember that the NCO is an integrator in the system. If you delete >>it, you change the traditional transfer function of the loop pretty >>substantially. If you can work out a loop analysis where you don't >>need that additional integrator and can make the farrow filter work >>strictly on the filter output, more power to you. Consider that most >>successful implementations include the NCO, though. ;) >> >>From an intuitive point of view, the clock recovery loop is trying to >>regenerate the stable symbol timing clock that was in the modulator. >>This implies that the recovered clock will have a stable frequency and >>the loop is mostly just trying to steer the phase of the oscillator. >>To me, at least, intuitively this means that an NCO would be a very >>appropriate thing to have generating the recovered clock. >> >>I understand your question and there is some logic to it. I suspect >>such an approach could be used at high SNR, but at lower SNR the noise >>coming out of the loop could be expected to cause either a lot of >>jitter or cycle slips or both. The NCO (and it's integrator) helps >>smooth that out. >> >> >>Eric Jacobsen >>http://www.ericjacobsen.org >>http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php >> > >The loop filter does also have an integrator in it, to help smooth out >noise and keep tracked. > >I guess the NCO is confusing me. The output of the NCO is cyclic, correct? >So if that is true, how does the Farrow filter use that as the fractional >delay parameter? Or does the NCO actually clock the Farrow interpolator and >the fractional delay parameter is fixed? > >-JacobThe loop steers the NCO to provide a sample clock synchronous to the maximum eye opening of the input signal. The farrow filter is used to interpolate that sample instant when it is between input samples, which may not be synchronous to the symbol rate. There is a straightforward relationship between what's going on inside the NCO and the control of the farrow filter. I'll leave it at that. Eric Jacobsen http://www.ericjacobsen.org http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php
Reply by ●March 25, 20122012-03-25
>On Thu, 09 Jun 2011 19:28:53 -0500, "jacobfenton" ><jacob.fenton@n_o_s_p_a_m.gmail.com> wrote: > >>> >>>Remember that the NCO is an integrator in the system. If you delete >>>it, you change the traditional transfer function of the loop pretty >>>substantially. If you can work out a loop analysis where you don't >>>need that additional integrator and can make the farrow filter work >>>strictly on the filter output, more power to you. Consider that most >>>successful implementations include the NCO, though. ;) >>> >>>From an intuitive point of view, the clock recovery loop is trying to >>>regenerate the stable symbol timing clock that was in the modulator. >>>This implies that the recovered clock will have a stable frequency and >>>the loop is mostly just trying to steer the phase of the oscillator. >>>To me, at least, intuitively this means that an NCO would be a very >>>appropriate thing to have generating the recovered clock. >>> >>>I understand your question and there is some logic to it. I suspect >>>such an approach could be used at high SNR, but at lower SNR the noise >>>coming out of the loop could be expected to cause either a lot of >>>jitter or cycle slips or both. The NCO (and it's integrator) helps >>>smooth that out. >>> >>> >>>Eric Jacobsen >>>http://www.ericjacobsen.org >>>http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php >>> >> >>The loop filter does also have an integrator in it, to help smooth out >>noise and keep tracked. >> >>I guess the NCO is confusing me. The output of the NCO is cyclic,correct?>>So if that is true, how does the Farrow filter use that as thefractional>>delay parameter? Or does the NCO actually clock the Farrow interpolatorand>>the fractional delay parameter is fixed? >> >>-Jacob > >The loop steers the NCO to provide a sample clock synchronous to the >maximum eye opening of the input signal. The farrow filter is used to >interpolate that sample instant when it is between input samples, >which may not be synchronous to the symbol rate. There is a >straightforward relationship between what's going on inside the NCO >and the control of the farrow filter. I'll leave it at that. > > >Eric Jacobsen >http://www.ericjacobsen.org >http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php >Hi, the loop filter parameters need to be calculated in function of BL*T (BL = bandwidth loop noise and T = symbol time). I suppose that I need to form the open loop transfer function, like in the phase offset estimator loop case. Am I right? Which is linear equivalent transfer function model for TED and NCO-interpolator? Thanks in advance
Reply by ●March 25, 20122012-03-25
On Sun, 25 Mar 2012 05:31:14 -0500, "nahemoth" <nahemoth@n_o_s_p_a_m.gmail.com> wrote:>>On Thu, 09 Jun 2011 19:28:53 -0500, "jacobfenton" >><jacob.fenton@n_o_s_p_a_m.gmail.com> wrote: >> >>>> >>>>Remember that the NCO is an integrator in the system. If you delete >>>>it, you change the traditional transfer function of the loop pretty >>>>substantially. If you can work out a loop analysis where you don't >>>>need that additional integrator and can make the farrow filter work >>>>strictly on the filter output, more power to you. Consider that most >>>>successful implementations include the NCO, though. ;) >>>> >>>>From an intuitive point of view, the clock recovery loop is trying to >>>>regenerate the stable symbol timing clock that was in the modulator. >>>>This implies that the recovered clock will have a stable frequency and >>>>the loop is mostly just trying to steer the phase of the oscillator. >>>>To me, at least, intuitively this means that an NCO would be a very >>>>appropriate thing to have generating the recovered clock. >>>> >>>>I understand your question and there is some logic to it. I suspect >>>>such an approach could be used at high SNR, but at lower SNR the noise >>>>coming out of the loop could be expected to cause either a lot of >>>>jitter or cycle slips or both. The NCO (and it's integrator) helps >>>>smooth that out. >>>> >>>> >>>>Eric Jacobsen >>>>http://www.ericjacobsen.org >>>>http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php >>>> >>> >>>The loop filter does also have an integrator in it, to help smooth out >>>noise and keep tracked. >>> >>>I guess the NCO is confusing me. The output of the NCO is cyclic, >correct? >>>So if that is true, how does the Farrow filter use that as the >fractional >>>delay parameter? Or does the NCO actually clock the Farrow interpolator >and >>>the fractional delay parameter is fixed? >>> >>>-Jacob >> >>The loop steers the NCO to provide a sample clock synchronous to the >>maximum eye opening of the input signal. The farrow filter is used to >>interpolate that sample instant when it is between input samples, >>which may not be synchronous to the symbol rate. There is a >>straightforward relationship between what's going on inside the NCO >>and the control of the farrow filter. I'll leave it at that. >> >> >>Eric Jacobsen >>http://www.ericjacobsen.org >>http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php >> > >Hi, > > the loop filter parameters need to be calculated in function of BL*T (BL >= bandwidth loop noise and T = symbol time). I suppose that I need to form >the open loop transfer function, like in the phase offset estimator loop >case. Am I right? Which is linear equivalent transfer function model for >TED and NCO-interpolator? > >Thanks in advanceIt's a phase-locked-loop and can be analyzed like any other PLL. The TED is the phase detector and the NCO corresponds to the VCO. This might help: http://www.compdsp.com/presentations/Jacobsen/abineau_dpll_analysis.pdf Eric Jacobsen Anchor Hill Communications www.anchorhill.com
Reply by ●March 29, 20122012-03-29
>> >>Remember that the NCO is an integrator in the system. If you delete >>it, you change the traditional transfer function of the loop pretty >>substantially. If you can work out a loop analysis where you don't >>need that additional integrator and can make the farrow filter work >>strictly on the filter output, more power to you. Consider that most >>successful implementations include the NCO, though. ;) >> >>From an intuitive point of view, the clock recovery loop is trying to >>regenerate the stable symbol timing clock that was in the modulator. >>This implies that the recovered clock will have a stable frequency and >>the loop is mostly just trying to steer the phase of the oscillator. >>To me, at least, intuitively this means that an NCO would be a very >>appropriate thing to have generating the recovered clock. >> >>I understand your question and there is some logic to it. I suspect >>such an approach could be used at high SNR, but at lower SNR the noise >>coming out of the loop could be expected to cause either a lot of >>jitter or cycle slips or both. The NCO (and it's integrator) helps >>smooth that out. >> >> >>Eric Jacobsen >>http://www.ericjacobsen.org >>http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php >> > >The loop filter does also have an integrator in it, to help smooth out >noise and keep tracked. > >I guess the NCO is confusing me. The output of the NCO is cyclic,correct?>So if that is true, how does the Farrow filter use that as the fractional >delay parameter? Or does the NCO actually clock the Farrow interpolatorand>the fractional delay parameter is fixed? > >-Jacob >Symbol clock recovery can be done based on two approaches. In both cases you get filtered error indicator then use it to either: Control clocking of ADC (through NCO), or You can leave ADC clock as it is but reconstruct the signal digitally as if it was sampled at correct timing(through fractional delay + integer delay). Integer delay is done at rollover of fractional delay. This reconstruction must of course continuously keep track of clock drift. This method can be fully digital. So it does not need NCO to generate clock but may be the term here refers to this integer rollover. Kadhiem
Reply by ●March 29, 20122012-03-29
>Symbol clock recovery can be done based on two approaches. In both cases >you get filtered error indicator then use it to either: > >Control clocking of ADC (through NCO), or > >You can leave ADC clock as it is but reconstruct the signal digitally >as if it was sampled at correct timing(through fractional delay + integer>delay). Integer delay is done at rollover of fractional delay. This >reconstruction must of course continuously keep track of clock drift. >This method can be fully digital. So it does not need NCO to generateclock>but may be the term here refers to this integer rollover. > > >Kadhiem > >I can also say that you may combine both methods i.e. the filtered TED output is used to make coarse NCO adjustment while the fractional delay makes the final fine adjustment. Kadhiem
Reply by ●March 31, 20122012-03-31
>>Symbol clock recovery can be done based on two approaches. In both cases >>you get filtered error indicator then use it to either: >> >>Control clocking of ADC (through NCO), or >> >>You can leave ADC clock as it is but reconstruct the signal digitally >>as if it was sampled at correct timing(through fractional delay +integer> >>delay). Integer delay is done at rollover of fractional delay. This >>reconstruction must of course continuously keep track of clock drift. >>This method can be fully digital. So it does not need NCO to generate >clock >>but may be the term here refers to this integer rollover. >> >> >>Kadhiem >> >> > >I can also say that you may combine both methods i.e. the filtered TED >output is used to make coarse NCO adjustment while the fractional delay >makes the final fine adjustment. > >Kadhiem > >There is something that I do not understand. The timing error detector gives an error estimation at symbol rate, or every T seconds. And the same for the loop filter, which updates the NCO control word. But the NCO decrements every Ts second (sampling time), and when it reaches the threshold (zero?) it selects the sample basepoint for interpolation, am I right? The problems comes when I want to build the closed loop transfer function and I see that NCO works in a different sampling rate compared to TED and Loop filter. Is something wrong? Thanks in advance
Reply by ●March 31, 20122012-03-31
On Sat, 31 Mar 2012 04:42:03 -0500, "nahemoth" <nahemoth@n_o_s_p_a_m.gmail.com> wrote:>>>Symbol clock recovery can be done based on two approaches. In both cases >>>you get filtered error indicator then use it to either: >>> >>>Control clocking of ADC (through NCO), or >>> >>>You can leave ADC clock as it is but reconstruct the signal digitally >>>as if it was sampled at correct timing(through fractional delay + >integer >> >>>delay). Integer delay is done at rollover of fractional delay. This >>>reconstruction must of course continuously keep track of clock drift. >>>This method can be fully digital. So it does not need NCO to generate >>clock >>>but may be the term here refers to this integer rollover. >>> >>> >>>Kadhiem >>> >>> >> >>I can also say that you may combine both methods i.e. the filtered TED >>output is used to make coarse NCO adjustment while the fractional delay >>makes the final fine adjustment. >> >>Kadhiem >> >> > >There is something that I do not understand. The timing error detector >gives an error estimation at symbol rate, or every T seconds. And the same >for the loop filter, which updates the NCO control word. But the NCO >decrements every Ts second (sampling time), and when it reaches the >threshold (zero?) it selects the sample basepoint for interpolation, am I >right? > >The problems comes when I want to build the closed loop transfer function >and I see that NCO works in a different sampling rate compared to TED and >Loop filter. Is something wrong? > >Thanks in advanceNo, that's correct. The clock rate of the NCO/phase accumulator has to clock faster than the symbol rate to work. The guide I linked earlier describes how the NCO clock frequency affects the NCO gain, Ko. Eric Jacobsen Anchor Hill Communications www.anchorhill.com






