Multirate Filtering, Resampling Filters, Polyphase...

Post on 25-Mar-2020

6 views 0 download

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

Multirate Filtering, Resampling Filters, Polyphase Filters

or how to make efficient FIR filters

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.

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

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

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)

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

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)

Digital Receiver Options

FrequencyShift

Low PassFilter Sample

FrequencyShift

Low PassFilterSample Resample

FrequencyShift

Low PassFilter/Freq

ShiftSample Resample

FrequencyShift

Low PassFilterSample Resample

2

3

1

4

frequency shift

low pass filter

sample

Fs-Fs

FrequencyShift

Low PassFilter Sample

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

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

FrequencyShift

Low PassFilterSample Resample

2

3

1

low passantialias filter

sample

Fs/2-Fs/2

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

5

Fs-Fs

low pass filter

6

-Fs/M Fs/M

resample

4frequency shift

XAnalog LowPass Filters(t) 1

4

2 3Fs

Receiver Structure

Digital LowPass Filter 5 6Fs/M

e j n 0

r(t)

FrequencyShift

Low PassFilter/Freq

ShiftSample Resample

2

3

1

low passantialias filter

sample

f0

f0

f0 fs / 2 fs / 2

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

frequency shifted lowpass filter (bandpass filter)

> two sided bandwidth

6

frequency shift

4

5resample f0

f Kf Ms0 /

f Ms / f Ms /

f Ms /

X

Analog LowPass Filters(t) 1

4

2 3Fs

Receiver Structure

BandpassFilter

5 6Fs/M

r(t)

e jM n

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.

Sampling Oscilloscope Principle

HFWaveform

Sampled data is a time scaled version of HF waveform

FrequencyShift

Low PassFilterSample Resample

1

f0

2

3

low passantialias filter

sample f0

f0 fs / 2

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

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

resample

5b

f

real

f

realreal

f

5a 5c

Delay

t=0.T/4

t=1.T/4

t=2.T/4

t=3.T/4

cancel

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).

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

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 ….

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

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

)(

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

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

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.

Upsampling

T

Spectral Period 1/T

T/M

Spectral Period M/T

ZeroPacking

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

Cooking Class

Biscuit cutter

Biscuit Cutter Model of Zero-Packing and DSP Filtering

BiscuitCutter

New BiscuitCutter

one copy

four copies

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

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

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

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

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.

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

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