Hi all, Do you have a general structure or a documentation how to design and compute the filter coefficients for a Farrow interpolation resampling filter. It's for a Gardner synchronisation scheme... Thanks

# Farrow resampling filter

Started by ●September 12, 2007

Reply by ●September 12, 20072007-09-12

On Sep 12, 11:51 am, fpga.vhdl.desig...@gmail.com wrote:> Hi all, > > Do you have a general structure or a documentation how to design and > compute the filter coefficients for a Farrow interpolation resampling > filter. > > It's for a Gardner synchronisation scheme... > > ThanksGardner published a two volume paper called "Interpolation in Digital Modems" in IEEE Transactions on Communications many years ago. I'd start there. John

Reply by ●September 12, 20072007-09-12

Reply by ●September 12, 20072007-09-12

On Sep 12, 12:29 pm, "mnentwig" <mnent...@elisanet.fi> wrote:> How about this? > > http://www.signumconcepts.com/IP_center/paper018.pdf > > -mnIt's ironic how the author misspelled the name of the inventor who inspired the entire paper [1]. [1] C. W. Barrow, "A continuously variable digital delay element," ICAS-88.

Reply by ●September 12, 20072007-09-12

julius wrote: ..> It's ironic how the author misspelled the name of the > inventor who inspired the entire paper [1]. > > [1] C. W. Barrow, "A continuously variable digital delay > element," ICAS-88. >Far from being the only typo in that paper! Richard Dobson

Reply by ●September 13, 20072007-09-13

julius <juli...@gmail.com> wrote:> On Sep 12, 12:29 pm, "mnentwig" <mnent...@elisanet.fi> wrote: > > > How about this? > > >http://www.signumconcepts.com/IP_center/paper018.pdf > > > -mn > > It's ironic how the author misspelled the name of the > inventor who inspired the entire paper [1]. > > [1] C. W. Barrow, "A continuously variable digital delay > element," ICAS-88.That's odd. Here on comp.dsp, everybody talks about the Farrow filter. In the title, the author also calls it the Farrow filter, and in the reference it is attributed to Barrow. That seems to be strange misspelling ...

Reply by ●September 13, 20072007-09-13

Andor wrote:> julius <juli...@gmail.com> wrote: >> On Sep 12, 12:29 pm, "mnentwig" <mnent...@elisanet.fi> wrote: >> >>> How about this? >>> http://www.signumconcepts.com/IP_center/paper018.pdf >>> -mn >> It's ironic how the author misspelled the name of the >> inventor who inspired the entire paper [1]. >> >> [1] C. W. Barrow, "A continuously variable digital delay >> element," ICAS-88. > > That's odd. Here on comp.dsp, everybody talks about the Farrow filter. > In the title, the author also calls it the Farrow filter, and in the > reference it is attributed to Barrow. That seems to be strange > misspelling ... >Yes, Barrow is a wheely odd spelling spelling for Farrow. He made a bit of a pig's litter of his spelling. Steve

Reply by ●September 13, 20072007-09-13

I don't understand how the Interpolator Farrow filter works with Gardner synchronizer loop. First, I have a fixed sampling rate, then the Farrow filter, then the second sampler, then the TED, Loop filter, NCO and the ouput of the NCO is sent to the second sampler. The TED, loop filter and NCO tends to acquire the symbol frequency. And the Farrow filter allows to sampling to the correct timing with interpolation. What is the signal u that control the delay in the Farrow filter ? This u signal shoud be beetwen 0 and 1 with my first order linear Farrow interpolator : y^(n-u)=y(n)+u[y(n-1)-y(n)] Where can I found a genreral scheme of this Gardner loop with the Farrow filter ? Thanks.

Reply by ●September 13, 20072007-09-13

fpga.vhdl.designer@gmail.com wrote:> I don't understand how the Interpolator Farrow filter works with > Gardner synchronizer loop.The Gardner algorithm is only a timing error *detector*. You need to combine it with something like the analogue tuning of an ADC's timing, or a digital variable delay filter to form a synchroniser loop. The Farrow structure is a popular way to realise that variable delay. Others exist.> First, I have a fixed sampling rate, then the Farrow filter, then the > second sampler, then the TED, Loop filter, NCO and the ouput of the > NCO is sent to the second sampler.You have a loop filter filter in this signal chain, but you haven't identified a loop that it is filtering.> The TED, loop filter and NCO tends to acquire the symbol frequency. > And the Farrow filter allows to sampling to the correct timing with > interpolation.The symbol frequency usually varies over a very narrow band. Your focus has to be on the *phase* rather than the frequency of the symbols. You need to home in your sampling, so you are hitting the middle of the symbols (and possibly the edges or other well defined points, if your next stage works at say T/2 or T/3). The continuous tracking of this phase will deal with any minor difference between your notion of symbol frequency, and the sender's.> What is the signal u that control the delay in the Farrow filter ? > This u signal shoud be beetwen 0 and 1 with my first order linear > Farrow interpolator : y^(n-u)=y(n)+u[y(n-1)-y(n)]The direction of error comes from that expression. You use this to nudge the delay produced by the Farrow filter, such that the error from the Gardner expression tends to zero. That is the control loop.> Where can I found a genreral scheme of this Gardner loop with the > Farrow filter ?Gardner himself wrote good material on this topic. You can find it on the IEEE web site. Steve

Reply by ●September 13, 20072007-09-13

fpga.vhdl.designer@gmail.com wrote:> I don't understand how the Interpolator Farrow filter works with > Gardner synchronizer loop. > > First, I have a fixed sampling rate, then the Farrow filter, then the > second sampler, then the TED, Loop filter, NCO and the ouput of the > NCO is sent to the second sampler. > > The TED, loop filter and NCO tends to acquire the symbol frequency. > And the Farrow filter allows to sampling to the correct timing with > interpolation. > > What is the signal u that control the delay in the Farrow filter ? > This u signal shoud be beetwen 0 and 1 with my first order linear > Farrow interpolator : y^(n-u)=y(n)+u[y(n-1)-y(n)] > > Where can I found a genreral scheme of this Gardner loop with the > Farrow filter ? > > Thanks. > >Think of the NCO as a non-saturating down counter. Before you decrement the NCO, test if it will wrap around zero if decremented (current NCO < decrement). If a wrap will occur, then it's time to generate an output. The fraction u is the current NCO value (before decrement) divided by the decrement value. John