Hi, everyone. This is my first post, although I am a long-time lurker to this forum. Hope to get help or suggestions for a recent problem I am facing. I need to design the timing recovery method in the receiver. This universal receiver is expected to handle a number of different data rate. One of the data rate is 85kHz according to the spec. The ADC sampling clock is decided as 1.3MHz beforehand as it is suitable for other data rates. However, 1.3MHz seems not a good choice for data rate 85kHz as it is not an integer multiples of 85kHz. To make things more complicated, the receiver must tolerate 5% fluctuation in the data rate in the real application environment. It means the real data rate may not be exact 85kHz, instead, a little above or below 85kHz. So how to proceed now? There is no way to change the 1.3MHz main clock at current stage. In my previous work experience, I only handled the timing recovery in which the AD sampling rate is integer multiples of the symbol rate. Normally I use a timing tracking loop. However, this time the situation seems much different. Anyone has faced similar problems before? pls help! Thanks in advance!
Encounter a difficult timing recovery problem
Started by ●January 14, 2008
Reply by ●January 14, 20082008-01-14
clari wrote:> > I need to design the timing recovery method in the receiver. This > universal receiver is expected to handle a number of different data rate. > One of the data rate is 85kHz according to the spec. The ADC sampling > clock is decided as 1.3MHz beforehand as it is suitable for other data > rates. However, 1.3MHz seems not a good choice for data rate 85kHz as it > is not an integer multiples of 85kHz. To make things more complicated, the > receiver must tolerate 5% fluctuation in the data rate in the real > application environment. It means the real data rate may not be exact > 85kHz, instead, a little above or below 85kHz. So how to proceed now? > There is no way to change the 1.3MHz main clock at current stage. > > In my previous work experience, I only handled the timing recovery in > which the AD sampling rate is integer multiples of the symbol rate. > Normally I use a timing tracking loop. However, this time the situation > seems much different. > > Anyone has faced similar problems before? pls help! Thanks in advance!If your signal constellation is simple (like, say, MSK or QPSK), you can generate the symbol clock by NCO and just take the ADC sample which is the nearest to the exact position. In more complex cases, you have to resample the incoming sample rate to whatever output rate by interpolation. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by ●January 14, 20082008-01-14
Try googling "polyphase resampler" or "farrow filter". This is what I use to handle non-integer sample rate conversions. -Clark "clari" <iamzhizhi@yahoo.com> wrote in message news:SJWdnaAMpJEwXBbanZ2dnUVZ_tajnZ2d@giganews.com...> Hi, everyone. This is my first post, although I am a long-time lurker to > this forum. Hope to get help or suggestions for a recent problem I am > facing. > > I need to design the timing recovery method in the receiver. This > universal receiver is expected to handle a number of different data rate. > One of the data rate is 85kHz according to the spec. The ADC sampling > clock is decided as 1.3MHz beforehand as it is suitable for other data > rates. However, 1.3MHz seems not a good choice for data rate 85kHz as it > is not an integer multiples of 85kHz. To make things more complicated, the > receiver must tolerate 5% fluctuation in the data rate in the real > application environment. It means the real data rate may not be exact > 85kHz, instead, a little above or below 85kHz. So how to proceed now? > There is no way to change the 1.3MHz main clock at current stage. > > In my previous work experience, I only handled the timing recovery in > which the AD sampling rate is integer multiples of the symbol rate. > Normally I use a timing tracking loop. However, this time the situation > seems much different. > > Anyone has faced similar problems before? pls help! Thanks in advance! > >
Reply by ●January 14, 20082008-01-14
cpope wrote:> Try googling "polyphase resampler" or "farrow filter". This is what I use to > handle non-integer sample rate conversions.I can hear the buzzword "Farrow structure" quite often, but in most references they mean just a old simple interpolation using a polynomial. What is the exact definition of the "Farrow structure" and what is special about it compared to a generic polynomial interpolation? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by ●January 14, 20082008-01-14
clari wrote:> Hi, everyone. This is my first post, although I am a long-time lurker to > this forum. Hope to get help or suggestions for a recent problem I am > facing. > > I need to design the timing recovery method in the receiver. This > universal receiver is expected to handle a number of different data rate. > One of the data rate is 85kHz according to the spec. The ADC sampling > clock is decided as 1.3MHz beforehand as it is suitable for other data > rates. However, 1.3MHz seems not a good choice for data rate 85kHz as it > is not an integer multiples of 85kHz. To make things more complicated, the > receiver must tolerate 5% fluctuation in the data rate in the real > application environment. It means the real data rate may not be exact > 85kHz, instead, a little above or below 85kHz. So how to proceed now? > There is no way to change the 1.3MHz main clock at current stage. > > In my previous work experience, I only handled the timing recovery in > which the AD sampling rate is integer multiples of the symbol rate. > Normally I use a timing tracking loop. However, this time the situation > seems much different. > > Anyone has faced similar problems before? pls help! Thanks in advance!Just about everyone. In real life, clock rates aren't exact, and the receiver needs to adapt to the transmitter one way or another. Any proposed method that depends on exact synchronizarion without adapting must inevitably fail. When you were a kid, did your mother teach you to say pls, or please? Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●January 15, 20082008-01-15
I am very thankful to all the replies. Jerry, I would like to apologize for not using "Please" in my post. I won't forget to use it next time. Clark, thanks for your tips. I am studying "polyphase resampler" now, and it seems a promising solution. Vladimir, I've also heard of "Farrow structure" many times, but I never really studied it. Maybe it is time to take it seriously. -clari
Reply by ●January 15, 20082008-01-15
I've gone through the polyphase resampler and basically understood the theory. But soon I find a problem that the rate change factor in my case is 427/130000, where 427=7*61 and 61 is a prime number. The interpolation filter for rate increase of 61 is difficult to design, isn't it? Any advice are welcome, please!
Reply by ●January 15, 20082008-01-15
clari wrote:> I've gone through the polyphase resampler and basically understood the > theory. But soon I find a problem that the rate change factor in my case > is 427/130000, where 427=7*61 and 61 is a prime number. The interpolation > filter for rate increase of 61 is difficult to design, isn't it? Any > advice are welcome, please!Does it need to be 130000? Think how much easier the problem would become if it could be 129991. That's different by about 70 ppm. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●January 16, 20082008-01-16
On Jan 14, 4:13 pm, Vladimir Vassilevsky <antispam_bo...@hotmail.com> wrote:> cpope wrote: > > Try googling "polyphase resampler" or "farrow filter". This is what I use to > > handle non-integer sample rate conversions. > > I can hear the buzzword "Farrow structure" quite often, but in most > references they mean just a old simple interpolation using a polynomial. > > What is the exact definition of the "Farrow structure" and what is > special about it compared to a generic polynomial interpolation? > > Vladimir Vassilevsky > DSP and Mixed Signal Design Consultanthttp://www.abvolt.comThe Farrow structure is a Taylor series implementation of a polynomial interpolator. Harris has a paper discussing the derivation and implementation: http://www.signumconcepts.com/IP_center/paper018.pdf Try Figure 12. Dale B. Dalrymple http://dbdimages.com http://stores.lulu.com/dbd
Reply by ●January 16, 20082008-01-16
On Jan 16, 1:24 am, dbd <d...@ieee.org> wrote:> > The Farrow structure is a Taylor series implementation of a polynomial > interpolator. Harris has a paper discussing the derivation and > implementation: > > http://www.signumconcepts.com/IP_center/paper018.pdf > > Try Figure 12. > > Dale B. Dalrymplehttp://dbdimages.comhttp://stores.lulu.com/dbdI think fred harris had mistyped Farrow's name in reference [1]. Now there's a real risk of the Farrow filter being known as the Barrow filter instead! Yikes! Julius






