DSPRelated.com
Forums

Interpolation

Started by cpshah99 March 25, 2008
Hi All

I am trying to implement Linear Interpolator at Baseband. 

Now I have got the received passband signal and I am converting that into
baseband signal where fs=48KHz and bandwidth B=4KHz. Which means that I
have got 12 samples per symbol.

Now I am stuck at the problem that I have to interpolate the signal first
so the o/p is at T/4 and then decimate by 2*I so that o/p is at T/2, where
I(0)=1; and then I is updated for every symbol.

I am not able to understand what this means?

Help in this will be highly appreciated.

Chintan
On Mar 25, 12:29 pm, "cpshah99" <cpsha...@rediffmail.com> wrote:
> Hi All > > I am trying to implement Linear Interpolator at Baseband. > > Now I have got the received passband signal and I am converting that into > baseband signal where fs=48KHz and bandwidth B=4KHz. Which means that I > have got 12 samples per symbol. > > Now I am stuck at the problem that I have to interpolate the signal first > so the o/p is at T/4 and then decimate by 2*I so that o/p is at T/2, where > I(0)=1; and then I is updated for every symbol. > > I am not able to understand what this means? > > Help in this will be highly appreciated. > > Chintan
A timing error detector such as an early-late loop or nonlinearity with BPF can provide a zero crossing indicating when the sampling instant passes through your receiver (to the nearest sample), plus an indication of how far between samples it is. You can then interpolate between the samples surrounding the crossing to get an optimum soft decision value. Twelve samples per bit is plenty; you may be able to run a fixed decimator first to reduce the workload. John
>On Mar 25, 12:29 pm, "cpshah99" <cpsha...@rediffmail.com> wrote: >> Hi All >> >> I am trying to implement Linear Interpolator at Baseband. >> >> Now I have got the received passband signal and I am converting that
into
>> baseband signal where fs=48KHz and bandwidth B=4KHz. Which means that
I
>> have got 12 samples per symbol. >> >> Now I am stuck at the problem that I have to interpolate the signal
first
>> so the o/p is at T/4 and then decimate by 2*I so that o/p is at T/2,
where
>> I(0)=1; and then I is updated for every symbol. >> >> I am not able to understand what this means? >> >> Help in this will be highly appreciated. >>
********** HI What I have done is that I have downconverted the passband signal to baseband using 48KHz sampling rate. Now I have to interpolate this signal and then o/p of this interpolater should be at T/2 for adaptive DFE structure. The system is as follows: rec_sig -> BP Filter -> I-Q Down Conv -> Linear Interpolator -> Adaptive DFE Now the i/p to the interpolator is at Fs=2.5/T and o/p of interpolator is at 2/T. How to do this? Chintan
>> Chintan > >A timing error detector such as an early-late loop or nonlinearity >with BPF can provide a zero crossing indicating when the sampling >instant passes through your receiver (to the nearest sample), plus an >indication of how far between samples it is. You can then interpolate >between the samples surrounding the crossing to get an optimum soft >decision value. Twelve samples per bit is plenty; you may be able to >run a fixed decimator first to reduce the workload. > >John >
"cpshah99" <cpshah99@rediffmail.com> writes:
> [...] > HI > > What I have done is that I have downconverted the passband signal to > baseband using 48KHz sampling rate. Now I have to interpolate this signal > and then o/p of this interpolater should be at T/2 for adaptive DFE > structure. The system is as follows: > > rec_sig -> BP Filter -> I-Q Down Conv -> Linear Interpolator -> Adaptive > DFE > > Now the i/p to the interpolator is at Fs=2.5/T and o/p of interpolator is > at 2/T. > > How to do this?
First of all, you use the proper terminology. If the output sample rate (2/T) is less than the input sample rate (2.5/T), then the block is called a *decimator*, not an interpolator. One way to decimate by 4/5 is to first interpolate by 4, then decimate by 5. There are efficient ways to do this. Ask more questions if you are still lost or need more help. -- % Randy Yates % "She has an IQ of 1001, she has a jumpsuit %% Fuquay-Varina, NC % on, and she's also a telephone." %%% 919-577-9882 % %%%% <yates@ieee.org> % 'Yours Truly, 2095', *Time*, ELO http://www.digitalsignallabs.com
>"cpshah99" <cpshah99@rediffmail.com> writes: >> [...] >> HI >> >> What I have done is that I have downconverted the passband signal to >> baseband using 48KHz sampling rate. Now I have to interpolate this
signal
>> and then o/p of this interpolater should be at T/2 for adaptive DFE >> structure. The system is as follows: >> >> rec_sig -> BP Filter -> I-Q Down Conv -> Linear Interpolator ->
Adaptive
>> DFE >> >> Now the i/p to the interpolator is at Fs=2.5/T and o/p of interpolator
is
>> at 2/T. >> >> How to do this? > >First of all, you use the proper terminology. If the output sample rate >(2/T) is less than the input sample rate (2.5/T), then the block is >called a *decimator*, not an interpolator. > >One way to decimate by 4/5 is to first interpolate by 4, then decimate >by 5. There are efficient ways to do this. Ask more questions if you are >still lost or need more help. >-- >% Randy Yates % "She has an IQ of 1001, she has a
jumpsuit
>%% Fuquay-Varina, NC % on, and she's also a
telephone."
>%%% 919-577-9882 % >%%%% <yates@ieee.org> % 'Yours Truly, 2095', *Time*, ELO
>http://www.digitalsignallabs.com >
******************* Hi Thank you for pointing out my mistake. I need use decimator and but this decimator is adaptive. I.e input to the decimator is at rate T/4 and o/p of decimator is at T/2. And then with updates in filter taps of DFE the decimator will also be updated by factor of I i.e. the decimator will be 2*I where I=1 initially. Thanking You very much. Chintan
On Mar 27, 11:45 am, "cpshah99" <cpsha...@rediffmail.com> wrote:
> >"cpshah99" <cpsha...@rediffmail.com> writes: > >> [...] > >> HI > > >> What I have done is that I have downconverted the passband signal to > >> baseband using 48KHz sampling rate. Now I have to interpolate this > signal > >> and then o/p of this interpolater should be at T/2 for adaptive DFE > >> structure. The system is as follows: > > >> rec_sig -> BP Filter -> I-Q Down Conv -> Linear Interpolator -> > Adaptive > >> DFE > > >> Now the i/p to the interpolator is at Fs=2.5/T and o/p of interpolator > is > >> at 2/T. > > >> How to do this? > > >First of all, you use the proper terminology. If the output sample rate > >(2/T) is less than the input sample rate (2.5/T), then the block is > >called a *decimator*, not an interpolator. > > >One way to decimate by 4/5 is to first interpolate by 4, then decimate > >by 5. There are efficient ways to do this. Ask more questions if you are > >still lost or need more help. > >-- > >% Randy Yates % "She has an IQ of 1001, she has a > jumpsuit > >%% Fuquay-Varina, NC % on, and she's also a > telephone." > >%%% 919-577-9882 % > >%%%% <ya...@ieee.org> % 'Yours Truly, 2095', *Time*, ELO > >http://www.digitalsignallabs.com > > ******************* > > Hi > > Thank you for pointing out my mistake. > > I need use decimator and but this decimator is adaptive. I.e input to the > decimator is at rate T/4 and o/p of decimator is at T/2. And then with > updates in filter taps of DFE the decimator will also be updated by factor > of I i.e. the decimator will be 2*I where I=1 initially. > > Thanking You very much. > > Chintan
Your decimator is adaptive? Why? The DFE is adaptively calculating tap weights but this should not affect the decimator. I assume that you are developing a fractionally-spaced equalizer because of the T/2 input? Darol Klawetter
On Thu, 27 Mar 2008 09:59:01 -0400, Randy Yates <yates@ieee.org>
wrote:

>"cpshah99" <cpshah99@rediffmail.com> writes: >> [...] >> HI >> >> What I have done is that I have downconverted the passband signal to >> baseband using 48KHz sampling rate. Now I have to interpolate this signal >> and then o/p of this interpolater should be at T/2 for adaptive DFE >> structure. The system is as follows: >> >> rec_sig -> BP Filter -> I-Q Down Conv -> Linear Interpolator -> Adaptive >> DFE >> >> Now the i/p to the interpolator is at Fs=2.5/T and o/p of interpolator is >> at 2/T. >> >> How to do this? > >First of all, you use the proper terminology. If the output sample rate >(2/T) is less than the input sample rate (2.5/T), then the block is >called a *decimator*, not an interpolator. > >One way to decimate by 4/5 is to first interpolate by 4, then decimate >by 5. There are efficient ways to do this. Ask more questions if you are >still lost or need more help.
Actually, it is an interpolator. Because there's not an integer number of samples per symbol it *has* to be interpolating the output instance between the samples. Even a filter that has the same number of output samples as input samples can be "interpolating" if the output samples represent a different instance in time than the input samples (i.e., you've intepolated the samples exactly in between the previous samples and output those instead). So, IMHO, "interpolation" has nothing to do with the input or output sample rates or any ratio thereof, but whether or not the samples have been relocated in time. We tend to call upsampling filters interpolators because they do a LOT of interpolation in order to create the new samples. That doesn't mean that decimators don't interpolate as well. And, BTW, strictly speaking a "decimator" reduces the sample rate 10:1. We tend to apply the term to any filter that reduces the sample rate by any amount. So I don't think it's even appropriate to say that the terms have strict meanings or try to enforce a specific use of them, since we're already being a bit fast and loose. Eric Jacobsen Minister of Algorithms Abineau Communications http://www.ericjacobsen.org
>On Mar 27, 11:45 am, "cpshah99" <cpsha...@rediffmail.com> wrote: >> >"cpshah99" <cpsha...@rediffmail.com> writes: >> >> [...] >> >> HI >> >> >> What I have done is that I have downconverted the passband signal
to
>> >> baseband using 48KHz sampling rate. Now I have to interpolate this >> signal >> >> and then o/p of this interpolater should be at T/2 for adaptive DFE >> >> structure. The system is as follows: >> >> >> rec_sig -> BP Filter -> I-Q Down Conv -> Linear Interpolator -> >> Adaptive >> >> DFE >> >> >> Now the i/p to the interpolator is at Fs=2.5/T and o/p of
interpolator
>> is >> >> at 2/T. >> >> >> How to do this? >> >> >First of all, you use the proper terminology. If the output sample
rate
>> >(2/T) is less than the input sample rate (2.5/T), then the block is >> >called a *decimator*, not an interpolator. >> >> >One way to decimate by 4/5 is to first interpolate by 4, then
decimate
>> >by 5. There are efficient ways to do this. Ask more questions if you
are
>> >still lost or need more help. >> >-- >> >% Randy Yates % "She has an IQ of 1001, she has a >> jumpsuit >> >%% Fuquay-Varina, NC % on, and she's also a >> telephone." >> >%%% 919-577-9882 % >> >%%%% <ya...@ieee.org> % 'Yours Truly, 2095', *Time*,
ELO
>> >http://www.digitalsignallabs.com >> >> ******************* >> >> Hi >> >> Thank you for pointing out my mistake. >> >> I need use decimator and but this decimator is adaptive. I.e input to
the
>> decimator is at rate T/4 and o/p of decimator is at T/2. And then with >> updates in filter taps of DFE the decimator will also be updated by
factor
>> of I i.e. the decimator will be 2*I where I=1 initially. >> >> Thanking You very much. >> >> Chintan > >Your decimator is adaptive? Why? The DFE is adaptively calculating tap >weights but this should not affect the decimator. I assume that you >are developing a fractionally-spaced equalizer because of the T/2 >input? > >Darol Klawetter >
******* Hi I am developing this structure to remove doppler effect. So the decimator factor I will be updated every symbol. Using interpolator and decimator we can remove doppler and correct the phase as well. Thanks Chintan
Eric Jacobsen <eric.jacobsen@ieee.org> writes:
> [...] > Actually, it is an interpolator.
Not according to Lyons, Crochiere and Rabiner, or Mitra.
> Because there's not an integer number of samples per symbol it *has* > to be interpolating the output instance between the samples. Even a > filter that has the same number of output samples as input samples can > be "interpolating" if the output samples represent a different > instance in time than the input samples (i.e., you've intepolated the > samples exactly in between the previous samples and output those > instead). > > So, IMHO, "interpolation" has nothing to do with the input or output > sample rates or any ratio thereof, but whether or not the samples have > been relocated in time.
I see your point, but nevertheless this is the way many professionals in the industry define the terms, and in my opinion it creates more chaos to attempt to adhere to this mindset rather than agreeing with standard usage. --Randy @BOOK{lyonsnew, title = "{Understanding Digital Signal Processing}", edition = "Second", author = "{Richard~G.~Lyons}", publisher = "Prentice Hall", year = "2004"} @BOOK{multiratedsp, title = "{Multirate Digital Signal Processing}", author = "Ronald~E.~Crochiere and Lawrence~R.~Rabiner", publisher = "Prentice Hall", year = "1983"} @BOOK{mitra, title = "{Digital Signal Processing: A Computer-Based Approach}", author = "Sanjit~K.~Mitra", publisher = "McGraw-Hill", edition = "second", year = "2001"} -- % Randy Yates % "My Shangri-la has gone away, fading like %% Fuquay-Varina, NC % the Beatles on 'Hey Jude'" %%% 919-577-9882 % %%%% <yates@ieee.org> % 'Shangri-La', *A New World Record*, ELO http://www.digitalsignallabs.com
On Mar 27, 1:02 pm, Randy Yates <ya...@ieee.org> wrote:

> Eric Jacobsen <eric.jacob...@ieee.org> writes: > > [...] > > Actually, it is an interpolator. > > Not according to Lyons, Crochiere and Rabiner, or Mitra. > > ... > I see your point, but nevertheless this is the way many professionals in > the industry define the terms, and in my opinion it creates more chaos > to attempt to adhere to this mindset rather than agreeing with standard > usage. > > --Randy > > @BOOK{lyonsnew, > title = "{Understanding Digital Signal Processing}", > edition = "Second", > author = "{Richard~G.~Lyons}", > publisher = "Prentice Hall", > year = "2004"} > ...
> % Randy Yates
Randy I only have your first reference at hand right now. A scan of the titles in the contents page supports your argument. However, on page 387 of the 2004 version, Lyons says that "Conceptually interpolation comprises the generation" of a "continuous ... curve passing through our ... sampled values ... followed by sampling that curve at a new sample rate". The title of the section is "Interpolation" but Lyons uses "Sample rate increase by interpolation" within the first paragraph. It may be common for book editing to induce technical sloppiness in the course of a search for conciseness and eye-pleasing page layout. That is not justification to suggest the enforcement of such sloppiness here. Dale B. Dalrymple