Multirate Filtering, Resampling Filters, Polyphase...

42
Multirate Filtering, Resampling Filters, Polyphase Filters or how to make efficient FIR filters

Transcript of Multirate Filtering, Resampling Filters, Polyphase...

Page 1: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Multirate Filtering, Resampling Filters, Polyphase Filters

or how to make efficient FIR filters

Page 2: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

THE NOBLE IDENTITY 1

Efficient Implementation of Resampling filters

H(zM ) M:1 H(z)M:1

Rule 1: Filtering with M-unit delays followed by a M:1 downsampling is equivalent to M:1 downsampling followed by filtering with 1 unit delays.

Page 3: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

THE NOBLE IDENTITY 2

Efficient Implementation of Resampling filters

H(zM )1:M 1:MH(z)

Rule 2: 1:M upsampling followed by filtering with M-unit delays is equivalent to filtering with 1 unit delays followed by 1:M upsampling.

It is always more efficient to apply the filterat the lower sample rate

Page 4: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Downsampling• Sometimes called decimation. This is poor nomenclature since decimation refers to removing 1 in 10.

• It is useful to think of the downsampling operation as the output of a commutator.

M:1

Page 5: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Downsampling

x(n) xD(n)

0

12.M-1

x(n)

M:1

Commutator

If x(n) has samples indexed from 0 to N-1, then xD(n) has samples indexed from 0 to (N/M)-1.

xD(n)

Page 6: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Upsampling

• Sometimes called interpolation although it is not interpolation in the conventional sense; it is just putting zeros between samples. If we wish to perform interpolation in the conventional sense, we must pass the DSP interpolated data through a low pass filter (anti-imaging or interpolation filter).

• In DSP, interpolation is also called zero-packing.

1:L

Page 7: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Upsampling

x(n) xI(n)1:L

0

12.

L-1

x(n)

Commutator

If x(n) has samples indexed from 0 to N-1, then xI(n) has samples indexed from 0 to LN-1.

1:L

xI(n)

Page 8: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Digital Receiver Options

FrequencyShift

Low PassFilter Sample

FrequencyShift

Low PassFilterSample Resample

FrequencyShift

Low PassFilter/Freq

ShiftSample Resample

FrequencyShift

Low PassFilterSample Resample

Page 9: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

2

3

1

4

frequency shift

low pass filter

sample

Fs-Fs

FrequencyShift

Low PassFilter Sample

Page 10: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

X Analog Low Pass Filter

e j t 0

s(t) 1 2 3 4

X

s(t)

12 3 4

X

r(n)

x(n)

y(n)

cossin

0

0

tt

Fs

Fs

Fs

Receiver Structure

Which can be implemented by

Analog Low Pass Filter

Analog Low Pass Filter

Page 11: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Comments• Need to have

– two perfectly matched analog mixers

– two perfectly matched high order analog filters

– two perfectly matched analog-to-digital converters

• Difficult to achieve and expensive

• Reduce expense by performing some of these operations in DSP

Page 12: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

FrequencyShift

Low PassFilterSample Resample

2

3

1

low passantialias filter

sample

Fs/2-Fs/2

...... ......

Page 13: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

5

Fs-Fs

low pass filter

6

-Fs/M Fs/M

resample

4frequency shift

Page 14: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

XAnalog LowPass Filters(t) 1

4

2 3Fs

Receiver Structure

Digital LowPass Filter 5 6Fs/M

e j n 0

r(t)

Page 15: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

FrequencyShift

Low PassFilter/Freq

ShiftSample Resample

2

3

1

low passantialias filter

sample

f0

f0

f0 fs / 2 fs / 2

...... ......

Page 16: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

frequency shifted lowpass filter (bandpass filter)

> two sided bandwidth

6

frequency shift

4

5resample f0

f Kf Ms0 /

f Ms / f Ms /

f Ms /

Page 17: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

X

Analog LowPass Filters(t) 1

4

2 3Fs

Receiver Structure

BandpassFilter

5 6Fs/M

r(t)

e jM n

Page 18: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Comments• No need to frequency shift signal to baseband before resampling.

• As long as the sampling frequency is greater than the two sided bandwidth, no information will be lost due to aliasing.

• This condition is sufficient even if the signal is passband although the resampling may appear to cause a frequency shift.

• This technique is exploited in sampling oscilloscopes which capture very high frequency signals with low sampling rates.

Page 19: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Sampling Oscilloscope Principle

HFWaveform

Sampled data is a time scaled version of HF waveform

Page 20: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

FrequencyShift

Low PassFilterSample Resample

1

f0

2

3

low passantialias filter

sample f0

f0 fs / 2

...... ......

Page 21: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Analog LowPass Filters(t) 1

4

2 3Fs

Receiver Structure

5M 6

r(t)

Xh 0(n)

Xh 1(n)

Xh 2(n)

Xh M-1(n)

+7

......

polyphase filter

commutator

5a

5b

5c

Resampleand Filter

Notedirectionof indexing

Page 22: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

resample

5b

f

real

f

realreal

f

5a 5c

Page 23: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Delay

t=0.T/4

t=1.T/4

t=2.T/4

t=3.T/4

cancel

Page 24: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Comments• In the polyphase filter design we introduce deliberate aliasing by downsampling. Thus at the output of each filter, the desired signal is jumbled up with replicas of the other unwanted bands.

• Due to the phase delays in the separate paths through the filter, the signals in the unwanted bands will cancel at the summing node leaving only the desired signal.

• This structure is computationally more efficient than the previous bandpass filter design (by a factor of M).

Page 25: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Polyphase Filter Partition

Let N = L*M

N = Filter Length

M = Resampling Rate

L = Subfilter Length

Place filter coefficients columnwise into an M by L matrix. Subfilters are the rows of the matrix.

h h h hh h h hh h h hh h h h

0 4 8 12

1 5 9 13

2 6 10 14

3 7 11 15

L

M +Note- can alwayszero pad to make N = L*M

Page 26: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Polyphase Downsampler in Detailh0 h1 h2 h3 h4 h5

3:1

h0 h3

h1 h4

h2 h5

+

ynxn

xn

0: y0 = h0x01: y1 = h1x0 + h0x12: y2 = h2x0 + h1x1+ h0x23: y3 = h3x0 + h2x1+ h1x2+ h0x34: y4 = h4x0 + h3x1+ h2x2+ h1x3+ h0x45: y5 = h5x0 + h4x1+ h3x2+ h2x3+ h1x4+ h1x4

y2 = h2x0 + h1x1+ h0x2

y5 = h5x0 + h4x1+ h3x2+ h2x3+ h1x4+ h1x4

Note: outputs sample M-1, 2M-1, 3M-1 ….

Page 27: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Filter Design Equations

Prototype Spectrum Replicate Spectrum

A(dB)

f fs0

Examplef

fs

= 200 Hz

= 20 kHz

A (dB) = 80 dB 364200

000,202280

22)dB(

f

fAN s

Page 28: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Prototype Spectrum

Replicate Spectrumat input rate

f

fs0

Spectral Shift

Replicate Spectrumat output rate

fs /M

N-Tap LP Filter fs /Mfs

fBW

f K AfN

K A A

f afM

afM

s

BWs

s

( ) ; ( ) ( )dB

fractional bandwidth

output sample rate

22

aAKMN

NfAK

Maf

NfAK

Mfa

Mf

ffMf

ss

sss

BWs

1)(

)(1

)(

Page 29: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

NM

K Aa

( )

1

N/M determined by quality specifications of filter

N = filter size, number of ops per output pointM = resample ratio, number of input points per output pointN/M = Number of Ops per input point

Page 30: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

ExampleK AaNM

K Aa

( ) . ( ).

( ) ..4

3 6 800 6

13 60

9

dB

Number of Ops/Input

Independent of bandwidth

Independent of sample rate

Independent of filter length

Dependent only on performance measures

fractional bandwidth (a) and out-of-band attenuation

Standard filterrequires 364 Ops

Page 31: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Comments• This design formula lets the spectral replica overlap in the transition band so the attenuation never reaches the design value within the transition band.

• Need to use a filter design that has a small roll-off (say 3db per octave) in the stop band to ensure that the out of band noise does not stack up and prevent the filter from meeting specifications.

Page 32: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Upsampling

T

Spectral Period 1/T

T/M

Spectral Period M/T

ZeroPacking

Page 33: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Upsampling

T/M

Spectral Period M/T

After low pass filtering to remove images(interpolation, reconstruction, or anti-imaging filter)

Interpolation(upsampling) = zero packing and low pass filtering

interp

Page 34: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Cooking Class

Biscuit cutter

Page 35: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Biscuit Cutter Model of Zero-Packing and DSP Filtering

BiscuitCutter

New BiscuitCutter

one copy

four copies

Page 36: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Input spectrum replicates every interval Fs =1/T

Period of spectrum with time samples every T seconds is Fs

Corresponds to one pattern per drum on biscuit cutter

Each rotation leaves one pattern on cooking dough

biscuitcutter

FsInput samples

Page 37: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Output spectrum replicates every interval Fs =1/T

Period of spectrum with zero-packed time samples every T/4 seconds is 4Fs

Corresponds to four pattern per drum on biscuit cutter

Each rotation leaves four patterns on cooking dough

newbiscuitcutter

4 FsZero Packing

Page 38: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

To change spectral replicating interval from Fs to 4Fs, remove three spectral replicates from the biscuit cutter.

Then period of spectrum is 4Fs, and zero-packed samples are replaced with bandlimited interpolated samples.

modiifedbiscuitcutter

4 FsLow Pass Filter

Page 39: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Spectral Period Fs

Spectral Period MFs

Spectral Period MFs

DSP Approach

Spectrum: input to Upsampler

Spectrum: Input to Digital Lowpass

Spectrum: Output of Digital Lowpass

cirdemo

Page 40: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Comments• We have not used the Noble Identity which says that upsampling followed by filtering can be achieved by filtering followed by upsampling.

• Thus we should implement this upsampling with a polyphase structure to reduce the computational load by a factor of M.

Page 41: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Polyphase UpsamplerLet N = L*M

N = Filter Length

M = Resampling Rate

L = Subfilter Length

Place filter coefficients columnwise into an M by L matrix. Subfilters are the rows of the matrix.

h h h hh h h hh h h hh h h h

0 4 8 12

1 5 9 13

2 6 10 14

3 7 11 15

L

M

Note - can alwayszero pad to make N = L*M

Page 42: Multirate Filtering, Resampling Filters, Polyphase …courses.itee.uq.edu.au/elec3004/2012s1/_lectures/ELEC...frequency signals with low sampling rates. Sampling Oscilloscope Principle

Another View

012.

M-1

x(n)D 0 0 0 D 0 0 0 D 0 0 0 D 0 0 0 D

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

FilterCoefficients