# Interpolation

Started by 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
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
>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 ->
>> 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 ->
> >> 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

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

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 ->
>> >> 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
>
>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
>
> 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
```