# Interpolation with FIR filters

Started by November 22, 2005
```Hi

dont understand how they can be used for interpolation.

Thanks
Anshu

```
```in article 1132685207.779486.257470@o13g2000cwo.googlegroups.com, Anshu at
anshu.dhawan@gmail.com wrote on 11/22/2005 13:46:

> Can anyone please explain me about Interpolation using FIR filters? I
> dont understand how they can be used for interpolation.

might you understand how an FIR filter could give you a frequency response
that is mostly flat in magnitude and has a mostly linear phase response that
represents a delay of half of the FIR length plus a little more (a fraction
of a sample time) delay that can been specified in advance?

once you get that, then add the concept of "polyphase" (which is just a set
of FIR filters, each resulting in a different fractional sample delay) and
you got interpolation to the precision of how many polyphase FIR filters in
your set.  to get even closer, there is the good, old-fashioned linear
interpolation (between these finite polyphase filter delays).

--

r b-j                  rbj@audioimagination.com

"Imagination is more important than knowledge."

```
```"Anshu" <anshu.dhawan@gmail.com> wrote in message
> Hi
>
> Can anyone please explain me about Interpolation using FIR filters? I
> dont understand how they can be used for interpolation.

Anshu,

Here are some examples for you to consider:

[1 2 3 4 3 2 1]
Get ready to interpolate them by a factor of 2 by adding zeros where the new
samples will occur:
[1 0 2 0 3 0 4 0 5 0 4 0 3 0 2 0 1]
Now FIR filter this sequence in a few ways:
Filter 1: [1 1]
Output from Filter 1: [1 1 2 2 3 3 4 4 5 5 4 4 3 3 2 2 1 1]
Not a very fancy interpolation; it's just a "hold" function.
Filter 2: [0.5 1.0 0.5]
Output from Filter 2: [.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 4.5 4.0 3.5
3.0 2.5 2.0 1.5 1.0 0.5]
This one is a little more interesting; it's a linear interpolator.

Does that help?  Maybe the "trick" is in the zero-stuffing step?

Fred

```
```hi..

I did not understand what the following statements mean...plz explain

Filter 1: [1 1]
Filter 2: [0.5 1.0 0.5]

Fred Marshall wrote:
> "Anshu" <anshu.dhawan@gmail.com> wrote in message
> > Hi
> >
> > Can anyone please explain me about Interpolation using FIR filters? I
> > dont understand how they can be used for interpolation.
>
> Anshu,
>
> Here are some examples for you to consider:
>
> [1 2 3 4 3 2 1]
> Get ready to interpolate them by a factor of 2 by adding zeros where the new
> samples will occur:
> [1 0 2 0 3 0 4 0 5 0 4 0 3 0 2 0 1]
> Now FIR filter this sequence in a few ways:
> Filter 1: [1 1]
> Output from Filter 1: [1 1 2 2 3 3 4 4 5 5 4 4 3 3 2 2 1 1]
> Not a very fancy interpolation; it's just a "hold" function.
> Filter 2: [0.5 1.0 0.5]
> Output from Filter 2: [.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 4.5 4.0 3.5
> 3.0 2.5 2.0 1.5 1.0 0.5]
> This one is a little more interesting; it's a linear interpolator.
>
> Does that help?  Maybe the "trick" is in the zero-stuffing step?
>
> Fred

```
```"saras" <saras_rajgiri@yahoo.co.in> wrote in message
> hi..
>
> I did not understand what the following statements mean...plz explain
>
> Filter 1: [1 1]
> Filter 2: [0.5 1.0 0.5]

These are the unit sample responses of two filters.

Said another way,
Filter 1 has an output y(kT)=1.0*x(kT) + 1.0*x(k-1)T
Filter 2 has an ouput y(kT)=0.5*x(kT) + 1.0*x(k-1)T + 0.5*x(k-2)T

Said another way,
The sequences given for the Filters are their coefficients.

Fred

```