DSPRelated.com
Forums

multirate filter design

Started by Unknown October 17, 2007
Hi,
  When one designs a fractional rate change filter, when specifying
the filter parameters do you design the filter at the interpolated
rate or the decimated rate?

  For example if you have an input rate of Fs then interp by 64
decimate by 125 filter and the filter will be implemented in a P/Q
polyphase fashion do you design the filter at the 64*Fs rate?
Assuming that the signal is already bandlimited.

Thanks,

Jon

jon8spam@yahoo.com wrote:
> Hi, > When one designs a fractional rate change filter, when specifying > the filter parameters do you design the filter at the interpolated > rate or the decimated rate? > > For example if you have an input rate of Fs then interp by 64 > decimate by 125 filter and the filter will be implemented in a P/Q > polyphase fashion do you design the filter at the 64*Fs rate? > Assuming that the signal is already bandlimited. > > Thanks, > > Jon >
Yes, because the filter will operate at the interpolated rate (but there are efficiencies to be gained by doing this conversion in stages - perhaps three 4/5 stages). -- Jim Thomas Principal Applications Engineer Bittware, Inc jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536 The real fun of living wisely is that you get to be smug about it. - Hobbes
jon8spam@yahoo.com wrote:
> Hi, > When one designs a fractional rate change filter, when specifying > the filter parameters do you design the filter at the interpolated > rate or the decimated rate? > > For example if you have an input rate of Fs then interp by 64 > decimate by 125 filter and the filter will be implemented in a P/Q > polyphase fashion do you design the filter at the 64*Fs rate? > Assuming that the signal is already bandlimited. > > Thanks, > > Jon >
Conceptually: 1. Insert 63 zeros between every input sample. This keeps the original signal plus 63 spectral replicas. 2. Lowpass filter at .5*Fs*64/125 (omit the .5 if complex). This knocks out the spectral replicas and otherwise reduces the bandwidth to Nyquist sampling of the output rate. 3. Use only every 125th sample as output. As a polyphase design: 1. Think very carefully about which samples would be zeros and which output samples will be discarded. 2. Skip those parts. (this is sometimes known as a polyphase filter, since you end up having a filter at various phases of the input sampling period) Or as a multirate design: 1. upsample by 4 2. low pass filter 3. decimate by 5 4. repeat two more times The important thing to remember in multirate filtering is to never dip below Nyquist rate for the output bandwidth. The second and third approaches can also be combined. i.e. create a 4/5 polyphase resampler and run your data through it 3 times. -- Mark
>Or as a multirate design: >1. upsample by 4 >2. low pass filter >3. decimate by 5 >4. repeat two more times >The important thing to remember in multirate filtering is to never dip >below Nyquist rate for the output bandwidth. > >-- Mark >
Is below correct for the above #2? 2. Lowpass filter at .5*Fs*4/5 (omit the .5 if complex).
Stacy wrote:
>> Or as a multirate design: >> 1. upsample by 4 >> 2. low pass filter >> 3. decimate by 5 >> 4. repeat two more times >> The important thing to remember in multirate filtering is to never dip >> below Nyquist rate for the output bandwidth. >> >> -- Mark >> > > Is below correct for the above #2? > > 2. Lowpass filter at .5*Fs*4/5 (omit the .5 if complex). > >
Yes. (where Fs is the input sampling rate for the stage). So in three stages the output rate from stage 1 is Fs*4/5 from stage 2 is Fs*16/25 from stage 3 is Fs*64/125
Hello,

I wrote a blog article a while ago, maybe it's useful (or maybe not...)
http://www.dsprelated.com/showarticle/22.php

The filter is designed at the intermediate high rate.

Cheers

Markus