Forums

polyphase, interpolation, timing error

Started by Unknown October 11, 2006
I've been following a number of threads over the past couple of weeks
regarding fractional timing delays and interpolation, but none of them
really address my problem, so here goes....

I have a sampled received signal taken at r(kTs), Ts = sample rate and
k is integer.  The sampled signal is then fed into a bank of matched
filters (MFs) (my system has a min number of 2 MFs and a max of 16 MFs
- depending on the transmitter mode).  I have an arbitrary sampling
timing error which i estimate and then must adjust for.

Assuming i have a fractional sampling error such that the optimum
sample time is actually kTs + uTs.  What is the best way to interpolate
to correct the timing error?  Would you recommend interpolation of the
received signal *prior* to the bank of matched filters, or
alternatively incorporating the interpolation function into the bank of
matched filters, in which case, i'm assuming that each of my MFs would
need to perform a polyphase implementation?  In the former, i have only
one interpolation filter that feeds into my bank of MFs.  In the
latter, i have up to 16 MFs performing the combined task of
interpolation and matched filtering?

Suggestions?

col

<cb135@hotmail.com> wrote in message 
news:1160573453.226842.281020@i42g2000cwa.googlegroups.com...
> I've been following a number of threads over the past couple of weeks > regarding fractional timing delays and interpolation, but none of them > really address my problem, so here goes.... > > I have a sampled received signal taken at r(kTs), Ts = sample rate and > k is integer. The sampled signal is then fed into a bank of matched > filters (MFs) (my system has a min number of 2 MFs and a max of 16 MFs > - depending on the transmitter mode). I have an arbitrary sampling > timing error which i estimate and then must adjust for. > > Assuming i have a fractional sampling error such that the optimum > sample time is actually kTs + uTs. What is the best way to interpolate > to correct the timing error? Would you recommend interpolation of the > received signal *prior* to the bank of matched filters, or > alternatively incorporating the interpolation function into the bank of > matched filters, in which case, i'm assuming that each of my MFs would > need to perform a polyphase implementation? In the former, i have only > one interpolation filter that feeds into my bank of MFs. In the > latter, i have up to 16 MFs performing the combined task of > interpolation and matched filtering? > > Suggestions? > > col
Polyphase is just an implementation detail. It has nothing to do with *what* you're doing, rather *how*. Not that it isn't useful but it's only "special" in how it's done. Fred
cb135@hotmail.com writes:

> I've been following a number of threads over the past couple of weeks > regarding fractional timing delays and interpolation, but none of them > really address my problem, so here goes.... > > I have a sampled received signal taken at r(kTs), Ts = sample rate and > k is integer. The sampled signal is then fed into a bank of matched > filters (MFs) (my system has a min number of 2 MFs and a max of 16 MFs > - depending on the transmitter mode). I have an arbitrary sampling > timing error which i estimate and then must adjust for. > > Assuming i have a fractional sampling error such that the optimum > sample time is actually kTs + uTs. What is the best way to interpolate > to correct the timing error? Would you recommend interpolation of the > received signal *prior* to the bank of matched filters, or > alternatively incorporating the interpolation function into the bank of > matched filters, in which case, i'm assuming that each of my MFs would > need to perform a polyphase implementation? In the former, i have only > one interpolation filter that feeds into my bank of MFs. In the > latter, i have up to 16 MFs performing the combined task of > interpolation and matched filtering? > > Suggestions? > > col
Hi col, In essence, instead of a sinc() or whatever for your interpolation filter, why not use the matched filter itself? Excellent idea! I had the same idea a few weeks ago when I was looking at an RFID receiver design. Unfortunately the project got canned before I could complete any significant simulations on my model, but I was going in the direction of incorporating the interpolation into the MFs. My gut tells me that this will be more efficient as well as numerically superior. The only downside I can see is that it requires more memory. Good luck! By the way, this paper, which I just recently cited in another thread, was the way I was planning on implementing the interpolation: http://ccrma.stanford.edu/~jos/resample/ --Randy -- % Randy Yates % "Bird, on the wing, %% Fuquay-Varina, NC % goes floating by %%% 919-577-9882 % but there's a teardrop in his eye..." %%%% <yates@ieee.org> % 'One Summer Dream', *Face The Music*, ELO http://home.earthlink.net/~yatescr
Randy Yates wrote:
<snipped>
> Hi col, > > In essence, instead of a sinc() or whatever for your interpolation > filter, why not use the matched filter itself? Excellent idea! >
Yes, this is what i was thinking as well. I was just sounding out the comp.dspers to see if there was any issues approaching the problem this way...
> I had the same idea a few weeks ago when I was looking at an RFID > receiver design. Unfortunately the project got canned before I could > complete any significant simulations on my model, but I was going in > the direction of incorporating the interpolation into the MFs. My gut > tells me that this will be more efficient as well as numerically > superior. The only downside I can see is that it requires more > memory. >
Yeah, as i mentioned in my original post, the number of matched filters that i have can vary between approx 2-16 (so really a filter bank) so this may push me toward the separate interpolator -> matched filter implementation. I think that in any case i need to perform the appropriate steps of upsample-interpolate-downsample-match filter, whether or not it's rolled into one bank of interpolating matched filters or not...hmmm.....more thinking is required....
> Good luck! By the way, this paper, which I just recently cited in > another thread, was the way I was planning on implementing the > interpolation: > > http://ccrma.stanford.edu/~jos/resample/ >
Yep, I was reading his paper on the subject...just getting ideas. Thanks for the input. col
> --Randy > > -- > % Randy Yates % "Bird, on the wing, > %% Fuquay-Varina, NC % goes floating by > %%% 919-577-9882 % but there's a teardrop in his eye..." > %%%% <yates@ieee.org> % 'One Summer Dream', *Face The Music*, ELO > http://home.earthlink.net/~yatescr
On 11 Oct 2006 09:05:43 -0700, cb135@hotmail.com wrote:

>Randy Yates wrote: ><snipped> >> Hi col, >> >> In essence, instead of a sinc() or whatever for your interpolation >> filter, why not use the matched filter itself? Excellent idea! >> > >Yes, this is what i was thinking as well. I was just sounding out the >comp.dspers to see if there was any issues approaching the problem this >way...
That works fine. Many systems have been built this way. It works quite well.
>> I had the same idea a few weeks ago when I was looking at an RFID >> receiver design. Unfortunately the project got canned before I could >> complete any significant simulations on my model, but I was going in >> the direction of incorporating the interpolation into the MFs. My gut >> tells me that this will be more efficient as well as numerically >> superior. The only downside I can see is that it requires more >> memory. >> > >Yeah, as i mentioned in my original post, the number of matched filters >that i have can vary between approx 2-16 (so really a filter bank) so >this may push me toward the separate interpolator -> matched filter >implementation. I think that in any case i need to perform the >appropriate steps of upsample-interpolate-downsample-match filter, >whether or not it's rolled into one bank of interpolating matched >filters or not...hmmm.....more thinking is required....
I'm not sure why you have multiple matched filters. Is it to accomodate different pulse shapes? If so, the basic filter structure won't need to change, just the coefficients loaded into the memory. (Done this before, too...) There are some caveats to manage with such a system, as there are pitfalls when the decimation rate of the matched filter is very high, as well as when very low. Managing the system is not that hard with simple technique, though. Eric Jacobsen Minister of Algorithms, Intel Corp. My opinions may not be Intel's opinions. http://www.ericjacobsen.org
Eric Jacobsen wrote:
> On 11 Oct 2006 09:05:43 -0700, cb135@hotmail.com wrote: > > >Randy Yates wrote: > ><snipped> > >> Hi col, > >> > >> In essence, instead of a sinc() or whatever for your interpolation > >> filter, why not use the matched filter itself? Excellent idea! > >> > > > >Yes, this is what i was thinking as well. I was just sounding out the > >comp.dspers to see if there was any issues approaching the problem this > >way... > > That works fine. Many systems have been built this way. It works > quite well. > > >> I had the same idea a few weeks ago when I was looking at an RFID > >> receiver design. Unfortunately the project got canned before I could > >> complete any significant simulations on my model, but I was going in > >> the direction of incorporating the interpolation into the MFs. My gut > >> tells me that this will be more efficient as well as numerically > >> superior. The only downside I can see is that it requires more > >> memory. > >> > > > >Yeah, as i mentioned in my original post, the number of matched filters > >that i have can vary between approx 2-16 (so really a filter bank) so > >this may push me toward the separate interpolator -> matched filter > >implementation. I think that in any case i need to perform the > >appropriate steps of upsample-interpolate-downsample-match filter, > >whether or not it's rolled into one bank of interpolating matched > >filters or not...hmmm.....more thinking is required.... > > I'm not sure why you have multiple matched filters. Is it to > accomodate different pulse shapes? If so, the basic filter structure > won't need to change, just the coefficients loaded into the memory. > (Done this before, too...) >
Eric, Yes, you're right, the multiple matched filters are really different pulse shapes. At the moment i'm just trying to get a feel for the different 'modular' components i need in my receiver. I still haven't thrashed out how to approach the interpolation question yet - hence some of my questions in the earlier thread http://groups.google.com/group/comp.dsp/browse_frm/thread/bb51fb101358e7f8/c7891513cf5850fb?lnk=gst&q=interpolation+accuracy&rnum=1#c7891513cf5850fb
> There are some caveats to manage with such a system, as there are > pitfalls when the decimation rate of the matched filter is very high, > as well as when very low. Managing the system is not that hard with > simple technique, though. >
cheers col