DSPRelated.com
Forums

interpolation filter

Started by BW August 2, 2003
I was given a project that uses a 150 some point interpolation filter that
upsamples digitized signal by 4. The digitized signals are sampled at rate
of 6.4 uS. I do not know the band checking characteristics of the filter,
only thing I know by looking at the code is that it upsamples by 4. No other
document.

One of my tasks is to have sample rate changed to 12.8 uS. Obviously, the
interpolation filter has to be changed -- I still want the same frequency
response and the same upsample factor.

How should I go about doing this conversion? Are there any free utilities I
can use to do a filter conversion? Any web based material I can use to
educate myself on generating interpolation filters?

Thanks!

BW


BW wrote:
> > I was given a project that uses a 150 some point interpolation filter that > upsamples digitized signal by 4. The digitized signals are sampled at rate > of 6.4 uS. I do not know the band checking characteristics of the filter, > only thing I know by looking at the code is that it upsamples by 4. No other > document. > > One of my tasks is to have sample rate changed to 12.8 uS. Obviously, the > interpolation filter has to be changed -- I still want the same frequency > response and the same upsample factor. > > How should I go about doing this conversion? Are there any free utilities I > can use to do a filter conversion? Any web based material I can use to > educate myself on generating interpolation filters? > > Thanks! > > BW
What kind of filter is it (transversal, recursive)? The straightforward way is to determine its response, then reproduce the response at the new sample rate. There are programs available, some of them free, that can do those things. There's probably a better way, but it can take to long to find or invent unless someone can point you to it. As a guess, I'd say that the filter is transversal -- FIR. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
BW wrote:
> > I was given a project that uses a 150 some point interpolation filter that > upsamples digitized signal by 4. The digitized signals are sampled at rate > of 6.4 uS. I do not know the band checking characteristics of the filter, > only thing I know by looking at the code is that it upsamples by 4. No other > document. > > One of my tasks is to have sample rate changed to 12.8 uS. Obviously, the > interpolation filter has to be changed -- I still want the same frequency > response and the same upsample factor. > > How should I go about doing this conversion? Are there any free utilities I > can use to do a filter conversion? Any web based material I can use to > educate myself on generating interpolation filters? > > Thanks! > > BW
As a guess, I'd say that the filter is transversal -- FIR. I'm confused by one thing, though. Is the system still adequately sampled at half the original rate? Interpolation filters are usually low-pass filters that reject frequencies above half the original sampling frequency. Filters' responses are normalized to the sampling frequency, so that feeding the original filter at half the rate will bring the cut-off down an octave, just what you need. I suspect that you don't need to change anything. If your filter does more than merely smooth the interpolation, then you need to find out what it does, decide what you want the new one to do, and design one to that spec. There are programs to do those things. Some of them are free. I use ScopeFIR from http://www.iowegian.com Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
"BW" <bwang@SPAM-STOP.hal-pc.org> wrote in message
news:3f2b55a2$0$54849$a726171b@news.hal-pc.org...
> I was given a project that uses a 150 some point interpolation filter that > upsamples digitized signal by 4. The digitized signals are sampled at rate > of 6.4 uS. I do not know the band checking characteristics of the filter, > only thing I know by looking at the code is that it upsamples by 4. No
other
> document. > > One of my tasks is to have sample rate changed to 12.8 uS. Obviously, the > interpolation filter has to be changed -- I still want the same frequency > response and the same upsample factor. > > How should I go about doing this conversion? Are there any free utilities
I
> can use to do a filter conversion? Any web based material I can use to > educate myself on generating interpolation filters? > > Thanks! > > BW > >
This article describes a particular type of decimation/interpolation filter and has a few references to books that cover this topic: http://www.dspguru.com/info/tutor/cic.htm
"BW" <bwang@SPAM-STOP.hal-pc.org> wrote in message
news:3f2b55a2$0$54849$a726171b@news.hal-pc.org...
> I was given a project that uses a 150 some point interpolation filter that > upsamples digitized signal by 4. The digitized signals are sampled at rate > of 6.4 uS. I do not know the band checking characteristics of the filter, > only thing I know by looking at the code is that it upsamples by 4. No
other
> document. > > One of my tasks is to have sample rate changed to 12.8 uS. Obviously, the > interpolation filter has to be changed -- I still want the same frequency > response and the same upsample factor. > > How should I go about doing this conversion? Are there any free utilities
I
> can use to do a filter conversion? Any web based material I can use to > educate myself on generating interpolation filters?
First, run a single unit sample through the filter. That will give you the unit sample response. Knowing the unit sample response will allow you to calculate the roots of the filter polynomial and will allow you to calculate the frequency response. When that's done, then you can decide how to design the desired filter. As Jerry pointed out, you may need to do something ahead of this in order to assure that the bandwidth of the sampled data is adequately low. Fred
In article SbZWa.3687$Jk5.3022813@feed2.centurytel.net, Fred Marshall at
fmarshallx@remove_the_x.acm.org wrote on 08/02/2003 21:12:

> > "BW" <bwang@SPAM-STOP.hal-pc.org> wrote in message > news:3f2b55a2$0$54849$a726171b@news.hal-pc.org... >> I was given a project that uses a 150 some point interpolation filter that >> upsamples digitized signal by 4. The digitized signals are sampled at rate >> of 6.4 uS. I do not know the band checking characteristics of the filter, >> only thing I know by looking at the code is that it upsamples by 4. No other >> document. >> >> One of my tasks is to have sample rate changed to 12.8 uS. Obviously, the >> interpolation filter has to be changed -- I still want the same frequency >> response and the same upsample factor. >> >> How should I go about doing this conversion? Are there any free utilities I >> can use to do a filter conversion? Any web based material I can use to >> educate myself on generating interpolation filters? > > First, run a single unit sample through the filter. That will give you the > unit sample response. Knowing the unit sample response will allow you to > calculate the roots of the filter polynomial and will allow you to calculate > the frequency response.
why not just FFT the unit sample (impulse) response (zero-padded to whatever extent desired) to get the frequency response? maybe you're being facetious, Fred, or am i just being dense? r b-j
"BW" <bwang@SPAM-STOP.hal-pc.org> wrote in message
news:3f2b55a2$0$54849$a726171b@news.hal-pc.org...
> I was given a project that uses a 150 some point interpolation filter that > upsamples digitized signal by 4. The digitized signals are sampled at rate > of 6.4 uS. I do not know the band checking characteristics of the filter, > only thing I know by looking at the code is that it upsamples by 4. No
other
> document. > > One of my tasks is to have sample rate changed to 12.8 uS. Obviously, the > interpolation filter has to be changed -- I still want the same frequency > response and the same upsample factor. > > How should I go about doing this conversion? Are there any free utilities
I
> can use to do a filter conversion? Any web based material I can use to > educate myself on generating interpolation filters? > > Thanks! > > BW > >
The existing system up samples the data by 4, so the sequence going through
the convolution is ... 0, 0, x1, 0, 0, 0, x2, 0, 0, 0, x3, 0, 0, ... The
digitized sequence x0, x1, x2, x3, x4, x5, x6 ... is samled at 6.4 uS.

I will run through it a single unit sample ... 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0.... and go through the web pages mentioned in this thread.

Thanks for all the help!

"BW" <bwang@SPAM-STOP.hal-pc.org> wrote in message
news:3f2b55a2$0$54849$a726171b@news.hal-pc.org...
> I was given a project that uses a 150 some point interpolation filter that > upsamples digitized signal by 4. The digitized signals are sampled at rate > of 6.4 uS. I do not know the band checking characteristics of the filter, > only thing I know by looking at the code is that it upsamples by 4. No
other
> document. > > One of my tasks is to have sample rate changed to 12.8 uS. Obviously, the > interpolation filter has to be changed -- I still want the same frequency > response and the same upsample factor. > > How should I go about doing this conversion? Are there any free utilities
I
> can use to do a filter conversion? Any web based material I can use to > educate myself on generating interpolation filters? > > Thanks! > > BW > >
"robert bristow-johnson" <rbj@surfglobal.net> wrote in message
news:BB51E839.2AF7%rbj@surfglobal.net...
> In article SbZWa.3687$Jk5.3022813@feed2.centurytel.net, Fred Marshall at > fmarshallx@remove_the_x.acm.org wrote on 08/02/2003 21:12: > > > > > "BW" <bwang@SPAM-STOP.hal-pc.org> wrote in message > > news:3f2b55a2$0$54849$a726171b@news.hal-pc.org... > >> I was given a project that uses a 150 some point interpolation filter
that
> >> upsamples digitized signal by 4. The digitized signals are sampled at
rate
> >> of 6.4 uS. I do not know the band checking characteristics of the
filter,
> >> only thing I know by looking at the code is that it upsamples by 4. No
other
> >> document. > >> > >> One of my tasks is to have sample rate changed to 12.8 uS. Obviously,
the
> >> interpolation filter has to be changed -- I still want the same
frequency
> >> response and the same upsample factor. > >> > >> How should I go about doing this conversion? Are there any free
utilities I
> >> can use to do a filter conversion? Any web based material I can use to > >> educate myself on generating interpolation filters? > > > > First, run a single unit sample through the filter. That will give you
the
> > unit sample response. Knowing the unit sample response will allow you
to
> > calculate the roots of the filter polynomial and will allow you to
calculate
> > the frequency response. > > why not just FFT the unit sample (impulse) response (zero-padded to
whatever
> extent desired) to get the frequency response? maybe you're being > facetious, Fred, or am i just being dense?
Robert, Perhaps the sentence structure was misleading: finding the roots isn't important unless it helps in scaling the filter. So, I didn't mean that one thing followed the other - the unit sample response will allow both things independently. Doing an FFT is one way to evaluate the polynomial. So, it depends on what's more comfortable I guess. In fact, sometimes I prefer to do it this way because I have sets of routines set up, etc. It's easier for me to think of doing a "continuous" evaluation of the polynomial on the unit circle than to zero-pad the unit sample response and FFT. That doesn't make it better or best. And, since compute time isn't an issue here..... So, no I wasn't being facetious and you're not being dense either! Fred