FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > DSP

DSP comp.dsp newsgroup, mailing list

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 07-18-2003, 02:09 PM
Ian McBride
Guest
 
Posts: n/a
Default Interpolation for Dummies

I am trying to figure out interpolation (I have given up on decimation for
now).

My scenario is that I have 8 ksamples per second audio (from a phone line),
and I want to interpolate it to 96 ksamples per second. I know my audio is
band limited within 0-4kHz, but other than that it could be anything --
human voice, modem tones, etc.

I understand the most basic concepts. I could use linear interpolation,
where I connect the 8kHz dots with lines and then add 11 evenly spaced dots
along these lines. I suppose I could do this and then run the result
through a LPF filter and it would improve it. But I suspect these methods
are hardly state of the art.

I've also read that FIR filters can be created to directly interpolate a
signal, and there are other methods that I see mentioned but never
described.

My question is really whether there exists a good "interpolation for
dummies" reference that describes the processes at a high level. I am
hoping that such a tutorial could give me some leads on what I really need
to be learning to try and understand it (to some degree).



Reply With Quote
  #2 (permalink)  
Old 07-18-2003, 04:14 PM
Jim Thomas
Guest
 
Posts: n/a
Default Re: Interpolation for Dummies

Ian McBride wrote:
>
> My question is really whether there exists a good "interpolation for
> dummies" reference that describes the processes at a high level. I am
> hoping that such a tutorial could give me some leads on what I really need
> to be learning to try and understand it (to some degree).


This might help:
http://www.dspguru.com/info/faqs/mrfaq.htm

--
Jim Thomas Principal Applications Engineer Bittware, Inc
[email protected] http://www.bittware.com (703) 779-7770
In theory, theory and practice are the same, but in practice, they're
not
Reply With Quote
  #3 (permalink)  
Old 07-18-2003, 04:41 PM
Rick Lyons
Guest
 
Posts: n/a
Default Re: Interpolation for Dummies

On Fri, 18 Jul 2003 08:09:16 -0400, "Ian McBride"
<[email protected]> wrote:

Hello Ian,

>I am trying to figure out interpolation (I have given up on decimation for
>now).


Humm, I've always found decimation easier to understand than
interpolation. Anyway ...

>My scenario is that I have 8 ksamples per second audio (from a phone line),
>and I want to interpolate it to 96 ksamples per second. I know my audio is
>band limited within 0-4kHz, but other than that it could be anything --
>human voice, modem tones, etc.
>
>I understand the most basic concepts. I could use linear interpolation,
>where I connect the 8kHz dots with lines and then add 11 evenly spaced dots
>along these lines. I suppose I could do this and then run the result
>through a LPF filter and it would improve it. But I suspect these methods
>are hardly state of the art.


Well, the most common method of interpolation is to
stuff the 11 zeros in between your original samples
and then lowpass filter the new sequence. (As far as I know,
there's no benefit in performing the 'linear interpolation'
of putting the 11 dots on a straight line.)

There's away to perform accurate interpolation using the FFT,
if you're interested, but the above zero-stuffing and lowpass
filtering is the most common method.

>I've also read that FIR filters can be created to directly interpolate a
>signal, and there are other methods that I see mentioned but never
>described.


Humm. Am not sure exactly what you mean, but almost every DSP
textbook discusses interpolation. It's not a terribly
difficult subject. You'll figure it out.

>My question is really whether there exists a good "interpolation for
>dummies" reference that describes the processes at a high level. I am
>hoping that such a tutorial could give me some leads on what I really need
>to be learning to try and understand it (to some degree).
>


I noticed that Smith's DSP book (on the web at www.dspguide.com)
doesn't discuss interpolation to the depth you're seeking.
So you'll have to get a textbook, or search the web.
(Ya might seach on "interpolation tutorial'.)

Good Luck,
[-Rick-]




Reply With Quote
  #4 (permalink)  
Old 07-19-2003, 06:19 AM
Ian McBride
Guest
 
Posts: n/a
Default Re: Interpolation for Dummies

"Jim Thomas" <[email protected]> wrote in message
news:[email protected]..
>
> This might help:
> http://www.dspguru.com/info/faqs/mrfaq.htm


Great! Just shove zeros in there and run it through an FIR.. ..WOW..

OK. Another question. Lets say I have FSK data at 1200 bits per second. I
translate 0's to -5000Hz and 1's to +5000Hz and compose a "baseband" of 1
sample per bit. Can I zero stuff this with 79 zeroes, run it through an FIR
filter to get my filtered FSK baseband? This seems confusing. I'm
surprised that all of those zeroes wouldn't give you DC output with minor
"bumps" showing up 1200 times a second.

Thanks!


>
> --
> Jim Thomas Principal Applications Engineer Bittware, Inc
> [email protected] http://www.bittware.com (703) 779-7770
> In theory, theory and practice are the same, but in practice, they're
> not



Reply With Quote
  #5 (permalink)  
Old 07-21-2003, 09:24 PM
Jon Harris
Guest
 
Posts: n/a
Default Re: Interpolation for Dummies

"Rick Lyons" <[email protected]> wrote in message
news:[email protected]..
> On Fri, 18 Jul 2003 08:09:16 -0400, "Ian McBride"
> <[email protected]> wrote:
>
> Hello Ian,
>
> >I am trying to figure out interpolation (I have given up on decimation

for
> >now).

>
> Humm, I've always found decimation easier to understand than
> interpolation. Anyway ...
>
> >My scenario is that I have 8 ksamples per second audio (from a phone

line),
> >and I want to interpolate it to 96 ksamples per second. I know my audio

is
> >band limited within 0-4kHz, but other than that it could be anything --
> >human voice, modem tones, etc.
> >
> >I understand the most basic concepts. I could use linear interpolation,
> >where I connect the 8kHz dots with lines and then add 11 evenly spaced

dots
> >along these lines. I suppose I could do this and then run the result
> >through a LPF filter and it would improve it. But I suspect these

methods
> >are hardly state of the art.

>
> Well, the most common method of interpolation is to
> stuff the 11 zeros in between your original samples
> and then lowpass filter the new sequence. (As far as I know,
> there's no benefit in performing the 'linear interpolation'
> of putting the 11 dots on a straight line.)


In fact, "connecting the dots" is usually a "bad idea" for two reasons:

1) If the in-between data is all zeros, the FIR filter can be optimized to
execute _much_ faster. The zero valued samples can simply be skipped since
they contribute nothing to the result.

2) Linear interpolation is a low-pass filtering operation, and not a very
good one at that. It introduces some roll-off in the pass-band which is a
problem in some applications. True, it does give you some additional
stop-band attenuation, but you are almost always better off to skip the
linear interpolation and use the time saved to do a better (longer) single
FIR.



Reply With Quote
  #6 (permalink)  
Old 07-22-2003, 07:15 PM
Rick Lyons
Guest
 
Posts: n/a
Default Re: Interpolation for Dummies

On Mon, 21 Jul 2003 12:24:50 -0700, "Jon Harris"
<[email protected]> wrote:

(snipped)
>>
>> Well, the most common method of interpolation is to
>> stuff the 11 zeros in between your original samples
>> and then lowpass filter the new sequence. (As far as I know,
>> there's no benefit in performing the 'linear interpolation'
>> of putting the 11 dots on a straight line.)

>
>In fact, "connecting the dots" is usually a "bad idea" for two reasons:
>
>1) If the in-between data is all zeros, the FIR filter can be optimized to
>execute _much_ faster. The zero valued samples can simply be skipped since
>they contribute nothing to the result.


Hi Jon,


VERY GOOD POINT !!!


[-Rick-]
>


Reply With Quote
  #7 (permalink)  
Old 07-22-2003, 08:29 PM
Jon Harris
Guest
 
Posts: n/a
Default Re: Interpolation for Dummies

"Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message
news:YOeTa.3375$[email protected]. .
>
> "Rick Lyons" <[email protected]> wrote in message
> news:[email protected]..
> > On Mon, 21 Jul 2003 12:24:50 -0700, "Jon Harris"
> > <[email protected]> wrote:
> >
> > (snipped)
> > >>
> > >> Well, the most common method of interpolation is to
> > >> stuff the 11 zeros in between your original samples
> > >> and then lowpass filter the new sequence. (As far as I know,
> > >> there's no benefit in performing the 'linear interpolation'
> > >> of putting the 11 dots on a straight line.)
> > >
> > >In fact, "connecting the dots" is usually a "bad idea" for two reasons:
> > >
> > >1) If the in-between data is all zeros, the FIR filter can be optimized

> to
> > >execute _much_ faster. The zero valued samples can simply be skipped

> since
> > >they contribute nothing to the result.

> >
> > Hi Jon,
> >
> >
> > VERY GOOD POINT !!!
> >
> >
> > [-Rick-]

>
> This is just another way of saying what a time-domain "polyphse" filter is
> doing, right?
> I thought your book made it much clearer than most Rick.
>
> Fred


Yes. In my way of looking at things, the polyphase filter thing is just a
mathematical formalization of some simple optimizations that would be pretty
obvious to most people if when implementing interpolation.


Reply With Quote
  #8 (permalink)  
Old 07-23-2003, 12:58 AM
Fred Marshall
Guest
 
Posts: n/a
Default Re: Interpolation for Dummies


"Jon Harris" <[email protected]> wrote in message
news:3f1c2fc1$1_2@newsfeed...
> "Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message
> news:YOeTa.3375$[email protected]. .
> >
> > "Rick Lyons" <[email protected]> wrote in message
> > news:[email protected]..
> > > On Mon, 21 Jul 2003 12:24:50 -0700, "Jon Harris"
> > > <[email protected]> wrote:
> > >
> > > (snipped)
> > > >>
> > > >> Well, the most common method of interpolation is to
> > > >> stuff the 11 zeros in between your original samples
> > > >> and then lowpass filter the new sequence. (As far as I know,
> > > >> there's no benefit in performing the 'linear interpolation'
> > > >> of putting the 11 dots on a straight line.)
> > > >
> > > >In fact, "connecting the dots" is usually a "bad idea" for two

reasons:
> > > >
> > > >1) If the in-between data is all zeros, the FIR filter can be

optimized
> > to
> > > >execute _much_ faster. The zero valued samples can simply be skipped

> > since
> > > >they contribute nothing to the result.
> > >
> > > Hi Jon,
> > >
> > >
> > > VERY GOOD POINT !!!
> > >
> > >
> > > [-Rick-]

> >
> > This is just another way of saying what a time-domain "polyphse" filter

is
> > doing, right?
> > I thought your book made it much clearer than most Rick.
> >
> > Fred

>
> Yes. In my way of looking at things, the polyphase filter thing is just a
> mathematical formalization of some simple optimizations that would be

pretty
> obvious to most people if when implementing interpolation.


Jon,

Yes and it has such a high falutin' name too! Who might imagine that
something with a name like that is just another way of saying: "now, common
sense about efficiency might suggest ...... (something like what you said)"
Worth mentioning so folks can make the connection - my purpose.

Fred


Reply With Quote
  #9 (permalink)  
Old 07-23-2003, 02:53 PM
Ian McBride
Guest
 
Posts: n/a
Default Re: Interpolation for Dummies


"Jon Harris" <[email protected]> wrote in message
news:3f1aeb4d$1_1@newsfeed...
> In fact, "connecting the dots" is usually a "bad idea" for two reasons:
>
> 1) If the in-between data is all zeros, the FIR filter can be optimized to
> execute _much_ faster. The zero valued samples can simply be skipped

since
> they contribute nothing to the result.
>
> 2) Linear interpolation is a low-pass filtering operation, and not a very
> good one at that. It introduces some roll-off in the pass-band which is a
> problem in some applications. True, it does give you some additional
> stop-band attenuation, but you are almost always better off to skip the
> linear interpolation and use the time saved to do a better (longer) single
> FIR.


OK. Now, I am wondering if the "zero-stuffing/polyphase FIR" interpolation
method can also serve as a premodulation filter. I.e., if my pre-modulation
filter needs to be an nth-order Butterworth or Bessel with a certain cutoff,
can the FIR filter smoothing out all of those zeros also take care of this
too, or is this usually another IIR stage operating on the interpolated
data?

Thanks for all of the help!


Reply With Quote
  #10 (permalink)  
Old 07-23-2003, 07:56 PM
Fred Marshall
Guest
 
Posts: n/a
Default Re: Interpolation for Dummies


"Ian McBride" <[email protected]> wrote in message
news:bfm041$f31$[email protected]..
>
> "Jon Harris" <[email protected]> wrote in message
> news:3f1aeb4d$1_1@newsfeed...
> > In fact, "connecting the dots" is usually a "bad idea" for two reasons:
> >
> > 1) If the in-between data is all zeros, the FIR filter can be optimized

to
> > execute _much_ faster. The zero valued samples can simply be skipped

> since
> > they contribute nothing to the result.
> >
> > 2) Linear interpolation is a low-pass filtering operation, and not a

very
> > good one at that. It introduces some roll-off in the pass-band which is

a
> > problem in some applications. True, it does give you some additional
> > stop-band attenuation, but you are almost always better off to skip the
> > linear interpolation and use the time saved to do a better (longer)

single
> > FIR.

>
> OK. Now, I am wondering if the "zero-stuffing/polyphase FIR"

interpolation
> method can also serve as a premodulation filter. I.e., if my

pre-modulation
> filter needs to be an nth-order Butterworth or Bessel with a certain

cutoff,
> can the FIR filter smoothing out all of those zeros also take care of this
> too, or is this usually another IIR stage operating on the interpolated
> data?
>


Ian,

The answer is "it depends". If you can meet all the specs with one filter
then why not? - subject to breaking the filter up into stages, etc.

This implies that you want to upsample/interpolate prior to modulating.....
I don't understand what your implementation block diagram looks like so it's
hard to comment. But it seems a little strange.

Fred


Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Spartan 3E intefacing for dummies Giuseppe Marullo FPGA 14 03-24-2008 11:15 PM
Getting started VHDL, VHDL for Dummies, Easy Steps for FPGA experiments Kutaj Vamor FPGA 4 10-03-2005 12:46 AM
Linear interpolation in vhdl [email protected] VHDL 7 08-24-2005 10:09 AM
interpolation in FPGA amko FPGA 3 07-06-2005 04:47 AM


All times are GMT +1. The time now is 03:07 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved