multirate dsp

186

Click here to load reader

Upload: haipm1979

Post on 07-Nov-2014

391 views

Category:

Documents


58 download

TRANSCRIPT

Page 1: Multirate DSP

1

Applications of Multirate DSP to Software Radios

Jeffrey H. Reed

Bradley Dept. of Electrical and Computer Engineering

Virginia Tech

432 Durham Hall

[email protected]

(540) 231-2972

Page 2: Multirate DSP

2

What is a Multirate System?

Any system having more than one sample rate.

Page 3: Multirate DSP

3

Overview (1)

• Applications of Multirate Signal Processing

• Principles of Decimation and Interpolation

• Simplification and Alternative Representations of Decimation and Interpolation Structures– Polyphase Filters– Sample Rate Conversion by Stages

Page 4: Multirate DSP

4

Overview (2)

• Digital Filter Banks– Analysis– Synthesis

• CIC Filters

• Applications– Channelizer for Basestations– Synchronization and Carrier Recovery

Page 5: Multirate DSP

5

Applications to Software Radios

Multirate systems have more than one sample rate

Key Advantage to the Approach is Cost:

• Price for high speed components goes up

exponentially with sample rate or clock

rate • Break the processing into parallel stages

operating at a lower rate.

Page 6: Multirate DSP

6

Multirate DSP Applications to Software Radios

Decimation (reduction of sample rate)

useful for:–Increase effective resolution of A/D–Reduce data for processing–Create low computational count narrowband filters–Perform frequency translation–Divide a wide band into narrow indep. channels–Relax requirement on anti-aliasing filtering

Page 7: Multirate DSP

7

Application of Interpolation

Interpolation (increase sample rate) useful for:

–Useful for effectively increasing resolution of

D/A

–Useful for pulse shaping filter

–Useful for combining several independent narrowband channels into one wideband data stream

Page 8: Multirate DSP

8

Applications of Interpolation and Decimation

• Match system sample rates, e.g., connecting systems with different clock rates

• Synchronize symbol and code timing– Allow for sampling versus data rate

mismatch– Matched Filter is a multirate filter

• Conversion to and from TDM and FDM • Implementation of filter bank

channelizer for wideband transceivers in cellular base station

Page 9: Multirate DSP

9

Other Applications

• Digital Filtering

• Spectral Analysis

• Speech Coding

• A/D and D/A Converters

Page 10: Multirate DSP

10

Sample Rate Conversion

Sample Rate Converter

h(n,m)

x(n)

fx

y(m)

fy

Must be time varyingdepends on input and

output time

Page 11: Multirate DSP

11

Sample Rate Conversion Notation

Ratio of sample rates can be expressed as the ratio of two relatively prime numbers (no common factors)

D

I

f

f

x

y I = interpolation factor (upsample factor, i.e., I = 2 doubles the sample rate)

D = decimation factor (downsample factor, i.e., D = 2 halves the sample rate

Page 12: Multirate DSP

12

Why is Multirate Signal Processing Hard to Understand?

The Notation is Confusing!

Time and Frequency Variables Depend on the Context

Page 13: Multirate DSP

13

Decimation by a Factor D

What process is needed if we wish to reduce its sample rate by D?

Let x(n) be a signal sampled at fx with spectrum is as below

|X()|

-2 - 0 2

A

Page 14: Multirate DSP

14

Decimation by Factor D (contd.)

-4 -3 -2 -1 0 1 2 3 4 5 n

x(n)

T

x(n)

-4 -3 -2 -1 0 1 2 3 4 5 nT

y(m)

-2 - 1 0 1 2 m=n/D 2T

Assume x(n) is causal

Let downsample by D = 2

Contraction in time scale

Dx(n)

fx

y(m)fy= fx/DDownsampling

Page 15: Multirate DSP

15

Decimation Requires Low Pass Filtering

HD()x(n) y(m)

Dv(m)

fx fx fy= fx/D

Page 16: Multirate DSP

16

Decimation by a factor D (contd.)

|HD()|

/D/D

1Assuming HD() is ideal LPF

/D/D

|V()|=|HD()||X()|A

- y=D

|Y()|

-2 -2

D

A

/D 2/D-/D-2/D

Expansion in frequency scale

Page 17: Multirate DSP

17

Analysis of DecimationIn Time Domain

k

D knxkhnv )()()(

)()( mDvmy

k

D kmDxkhmy )()()(

Combining the above two equations

Convolution:

Taking every Dth sample:

Now the sampling of v(n) can be expressed as

Output of decimator:

else

DDnnvnv

0

,...2,,0)()(~

Page 18: Multirate DSP

18

Analysis of Decimation (contd.)

1

0

/21)( Where

)()()(~ D

k

DknjeD

np

npnvnv

In which can be thought of as v(n) sampled by an periodic impulse train p(n) with period D, i.e.,

)(~ nv

Using this relation the output of the decimator can be expressed as

)(~)()()()( mDvmDpmDvmDvmy

Page 19: Multirate DSP

19

Analysis of Decimation (contd.)

/

/

1/2 /

0

2

( ) ( ) , 2 /

( ' )

( )

( ) [ ' ]

( ) ( )

1( )

1( )

y

y

y

y

y

y

j my y y

m

j m

m

j m

m

j m D

m

j m D

m

Dj m Dmk D

m k

j k

Y y m e f f

v m D e

v m D e

v m e m m D

v m p m e

v m e eD

v m eD

1

//

0

1

0

1 2

y

D mj DD

k m

Dy

k

e

kV

D D D

Page 20: Multirate DSP

20

Analysis of Decimation (contd.)

Since ( ) ( ) ( ); ( ) can be expressed asy D y y yV H X Y

y=2f/fy=2(f/fx)D= xD

1

0

221)(

D

k

yyDy D

kX

D

kH

DY

So the spectrum of y(m) repeats itself at every 2/D radians

Page 21: Multirate DSP

21

Analysis of Decimation (contd.)

The lowpass filter, HD () sufficiently reduces the spectral components above =/D, thereby acts as an anti-aliasing filter. In ideal case

else

H yyD

0

1)(

Thus all the images except the primary image (k=0 term) are removed and the Y() becomes

y

yy D

XD

Y ;1

)(

Page 22: Multirate DSP

22

Summary of Decimation

Conceptually, the decimation process can be viewed as a mapping of a signal in frequency form 0x /D to 0y .

The low frequency contents of the signal are expanded in frequency. In time domain, this corresponds to a contraction of the signal i.e., removal of samples according to the decimation factor.

Page 23: Multirate DSP

23

Interpolation by a factor I

Upsampling:

x(n) v(m) I

fxfy=Ifx

Page 24: Multirate DSP

24

Interpolation: A Graphical View

Upsampling by I is the process of placing I-1 equally spaced zeros between each pair of samples of x(n)

x(n)

-1 0 1 2 3 n

v(m)

-3 -2 -1 0 1 2 3 4 5 6 7 8 9 m

x(n) is a causal sequence

Page 25: Multirate DSP

25

Interpolation: A Graphical View (2)

y(m)

-3 -2 -1 0 1 2 3 4 5 6 7 8 9m

The intermediate values corresponds to the hypothetical continuous signal

HI()x(n) y(m)

Iv(m)

fx fy =Ifx fy

Page 26: Multirate DSP

26

Interpolation: A Graphical View (2) (contd.)

|X()|A

y/I-/I

|V(y)|A

2/I-2/I

|HI(y)|

/I-/I y

I

|Y(y)|

y-/I /I

Spectrum of x(n)

Assume HI() ideal LPF

Contraction in frequency scale

Spectrum of v(n)

Page 27: Multirate DSP

27

Interpolation: Summary (1)The spectrum of the upsampled signal v(m) contains not only the primary band of interest, i.e., from - /I to /I but also its images centered around the integer multiples of 2 /I radians

This means that signal in the desired frequency range

maps to x0 Iy 0

where y = 2f / fy = 2f / (Ifx ) = x /I

Page 28: Multirate DSP

28

Interpolation: Summary (2)

A compression in frequency of the primary image with respect to the original spectrum of x(n) corresponds to an expansion in the time scale of the signal.

The anti-imaging filter HI() (interpolation filter) recovers the primary band of interest.

else

II

H yyI

0

Page 29: Multirate DSP

29

Interpolation by a factor of I

Thus the interpolation filter should eliminate the duplicate images. A gain of I is needed for interpolation as the spectrum of interpolated signal must have a scaling factor I time that of the original spectrum of x(n). As upsampling (inserting zero only) does not provide any gain so the interpolation filter must have a gain of I in the passband.

AnalysisTime domain:

else

IImI

mx

mv

0

,...2,,0)(Upsampling:

kI

kI

kIkkxkImh

kvkmhmy

]'[)()(

)'()'()('

Lowpass filtering:

Page 30: Multirate DSP

30

Analysis of Interpolation (contd.)

In Z-Transform domain:

)(

]'[)(

)'()('

'

I

m

mI

m

m

zX

mImzmIv

zmvzV

The output Y(z) of the Interpolator:

LPFideal )( H)(

)()()(

I zzIX

zVzHzYI

I

DTFT:I

IXY yyy 0)()(

Page 31: Multirate DSP

31

Analysis of Fractional Rate conversion

else

IImI

px

pv

0

2,,0)(

k

k

kxIkph

kvkphpw

)()(

)()()(

k

kxIkmDh

mDwmy

)()(

)()(

Upsampling by I:

Lowpass filtering by h(n):

Final output after downsampling:

In Time Domain:

In Frequency Domain

IIffff

IxH

vHW

xxpp

pp

ppp

//2/2 where

)(

DTFT of the intermediate signal w(p):

Page 32: Multirate DSP

32

Analysis of Fractional rate conversion (contd.)

xxyy

D

k

yy

DIDIffff

D

kW

DY

)/()//(2/2 where

21 1

0

Downsampling of w(n) by D:

Otherwise

I

D

D

IX

D

IY yy

y

0

,min

Final output of the fractional rate converter:

else

DIIIX

W ppp

0

,min)()(

Using definition

of H():

Page 33: Multirate DSP

33

Fractional Rate Conversion by I/DCascade interpolator and decimator.

The cascaded interpolation and decimation filter, i.e., HI() and HD() can be combined to form a single lowpass filter H() as below

Ix(n)

fx

v(p)fp= Ifx

HI()yI(p)

HD() Dw(p) y(m)

fp= Ifx fp= Ifx fy=(I/D)fx

else

DII

H

0

,min)(

Page 34: Multirate DSP

34

Fractional Rate Conversion by I/D

•Interpolation precedes decimation as the spectrum of the intermediate signal yI(p) should, at least, contain all the components of the original spectrum.

•The composite filter H() has gain I as required due to interpolation by I and a cutoff

Page 35: Multirate DSP

35

Multirate Identities•In conventional interpolation and decimation the filtering is done at the side where the signal is at a higher sampling rate.

•Reduced complexity be achieved if filtering can be done at lower sampling rate.

•Exchanging upsampler/downsampler and the anti-imaging/ antialiasing filter can reduce the sample rate.

Page 36: Multirate DSP

36

Implementations of Decimator

Direct Form (Anti-aliasing filter + downsampling)

z-1

x(n)y(m)

Dh(0)

h(1)

z-1

h(2)

Page 37: Multirate DSP

37

Efficient Form (Move the decimator through the summer)

z-1

x(n) h(0)

h(1)

z-1 h(2)

y(m)D

D

D

Page 38: Multirate DSP

38

Implementation of Interpolator

Direct Form (upsampling + anti-imaging filter)

x(n)

z-1

y(m)h(0)

h(1)

z-1h(2)

I

Page 39: Multirate DSP

39

Implementation of Interpolator (contd.)

Transposed form (reversed direction of flow, Time - Inverse Filter), swap output and input branches, nodes become adders and vice versa..

x(n)

z-1

y(m)h(0)

h(1)

z-1

h(2)

I

Page 40: Multirate DSP

40

Efficient Form

x(n)

z-1

y(m)h(0)

h(1)

z-1h(2)

I

I

I

Page 41: Multirate DSP

41

Multirate Identities

For Interpolation:

H(zI) I

=

x(n) y(m)

IH(z)y(m)x(n)

Page 42: Multirate DSP

42

Multirate Identity for Interpolation

In time domain:

I

mm

k

k

mxmh

I

kkk

I

mxkh

I

kmx

I

kh

I

mh

I

mxmy

'

'

)'(*)'(

';)(

''

*)(

Which is the output of the right configuration. In Z-Transform domain:

Output of the left configuration:

)()(

)()()(II

I

zXzH

zXzHzY

By placing the filter before the upsampler, this identity enables the filter to operates at lower sampling rate. This results in a smaller number of filter coefficients.

Page 43: Multirate DSP

43

Multirate Identities for Decimation

H(zD) D

=

D H(z)

x(n)

y(m)x(n)

y(m)

Page 44: Multirate DSP

44

Multirate Identities for Decimation

In time domain:

Output of the left configuration:

D

k

mDmk

mDmk

mDm

mxmh

Dkmxkh

D

kkkDmxkh

kmxD

kh

D

mhmxmy

)(*)(

)()(

';)(

''

*)()(

'

Which is the output of the right configuration. In Z-Transform domain:

)()(

)(1

(1

)()()(

21

0

/1/2

1

0

/1/2/1/2

zHzX

zeHzeXD

zeXzeHHD

zXzHzY

D

kjD

k

DDk

D

k

DDkjDDDkj

DD

Page 45: Multirate DSP

45

Efficient Implementation of Decimator

•The decimator and interpolator structures discussed so far are not very attractive for implementation.

•In decimation by a factor D, the downsampler discards D-1 samples from each set of D samples coming out of the decimation filter so unnecessary filtering is performed

Page 46: Multirate DSP

46

Efficient Implementation of the Decimator

•In interpolation by a factor I, the interpolation

filter has to perform convolution on the zero

inserted upsampled signal so unnecessary

multiplications performed by the filter.

Using the concept of polyphase filter, efficient structures of interpolators and decimators in terms of computational complexity can be formed

Page 47: Multirate DSP

47

Polyphase Interpolation

• Upsampling process inserts I-1 zeros between successive values of x(n)

• But only k out of M input values stored in the FIR filter are non-zero

• At one time instant , the non-zero values multiply h(0), h(I), h(2 I),..., h(M I)

• In the following instant multiply h(1), h(I+1), h(2I+1),..., h(M I +1)

• This implies that interpolation could be performed with I different filters.

Insert I-1 zeros FIR LPF

x(n) y(m)

x(n)

Page 48: Multirate DSP

48

Polyphase InterpolatorInterpretation Example (1/2)

hI(n)x(n) y(m)

3v(m)

fx fv= 3fx fy= 3fx

Example: Interpolation by a factor I=3

( ) ( 3 )Ik

y m h m k x k

Page 49: Multirate DSP

49

Polyphase InterpolatorInterpretation (2/2)

To calculate y(0), y(3), y(6),….;

x(n)’s are convolved with hI(0), hI(3), hI(6),….

To calculate y(1), y(4), y(7),….;

x(n)’s are convolved with hI(1), hI(4), hI(7),….

To calculate y(2), y(5), y(8),….;

x(n)’s are convolved with hI(2), hI(5), hI(8),….

Page 50: Multirate DSP

50

Polyphase Interpolator Interpretation

•The original convolution can be broken down into three independent convolutions, each operating at 1/3 of the original sampling rate.

•The outputs of each of these filters can then be delayed and interleaved at the right order.

Page 51: Multirate DSP

51

• Original large filter can be decomposed to a set of filters with impulse responses as

– pk(n) = h(k + nI) k = 0, 1, ....., I -1n = 0, 1, ....., K - 1

Polyphase Interpolating Filter(1/2)

Page 52: Multirate DSP

52

p0(n)

p1(n)

p2(n)

pI-1(n)

s(n)

Fx

Fy = I Fx

y(m)

•Computation split across filters•Filtering at slower rate

Polyphase Interpolating Filter(2/2)

Page 53: Multirate DSP

53

Iterpolating Polyphase Filters• Length of the interpolating and anti-aliasing filters should be

an integral multiple of I and D• Upsampling process inserts I - 1 zeros between successive

samples of s(n)– only K out of the M values of the FIR filter is used at one time instant

• M = filter length, K = M/I

– At one time instant, non-zero values multiplied by the filter coefficients • h(0), h(I), h(2I),...h(M-I)

– Next time instant• h(1), h(I + 1), h(2I + 1),...h(M - I + 1)

1 0 0 1 0 0 1 0 0 1 0 0

1 2 -1 3 4 -2 1 2 -1 3 4 -2

Interpolated DataI = 3

Filter coefficients at time t

2 -1 3 4 -2 1 2 -1 3 4 -2 1

-1 3 4 -2 1 2 -1 3 4 -2 1 2

Filter coefficients at time t+1

Filter coefficients at time t+2

Page 54: Multirate DSP

54

Polyphase Decimators (D=3) (1/3)

hD(n)x(n) y(m)

3v(m)

fxfx fy= fx/3

( ) ( ) (3 )Dk

y m h k x m k

Output of the Decimator:

Example:

Decimation by a factor D=3

Page 55: Multirate DSP

55

Polyphase Decimators (2/3)

To calculate the output samples, y(0), y(1), y(2)…,the input samples,

..x(-3), x(0), x(3),.. are convolved with h(0), h(3), h(6)

..x(-4), x(-1), x(2).. are convolved with h(1), h(4), h(7)

and

..x(-2), x(1), x(4).. are convolved with h(2), h(5), h(8)

Page 56: Multirate DSP

56

Polyphase Decimator Example (3/3)

•The process can be viewed as three independent convolutions and their summation gives the desired outputs, y(0), y(1), y(2)….

•Instead of a single filter hI(n), now consider three filters, hI(3n), hI(3n+1), hI(3n+2), operating on three input sequences x(3n), x(3n-1), x(3n-2)..respectively. So there is no unnecessary convolution

Page 57: Multirate DSP

57

p0(n)

p1(n)

p2(n)

pD-1(n)

y(m)

Fx

Fy = Fx/D

s(n)

Polyphase Decimating Filter (1/2)

Page 58: Multirate DSP

58

Polyphase Decimating Filter (2/2)

• One out of every D output samples of the filter are used at the output of the decimator

• The set of polyphase filters defined as– pk(n) = h(k + n D)

k = 0, 1, ....., D -1 n = 0, 1, ....., K - 1

Page 59: Multirate DSP

59

Polyphase Decimator Analysis

Time Domain Analysis:

k

D kDmxkhmy )()()(

Output of a conventional decimator:

Substituting:

10,for DililDk

Decimated signal:

1

0

)()(D

i lD iDlmxilDhmy

Page 60: Multirate DSP

60

Polyphase Decimator Analysis (2)

)()( ilDhlp Di

Final output expression:

1

0

1

0

1

0

][)(

)(

)()(

D

iDi

D

ii

D

i li

imxmp

imDxmp

iDlmxlpmy

Defining:

Page 61: Multirate DSP

61

Polyphase Decimator (contd.)

Conventional decimation can be decomposed into D separate filterings operations.

y(m) D p0(m)

D p1(m)

D pD-1(m)

z-1

z-1

x(n)

General Structure of a polyphase decimator

i=0

i=1

i=D-1

Page 62: Multirate DSP

62

Polyphase Decimating Filter

• One out of every D output samples of the filter are used at the output of the decimator

• The set of polyphase filters defined as– pk(n) = h(k + n D) k = 0, 1, ....., D -1

n = 0, 1, ....., K - 1

p0(n)

p1(n)

p2(n)

pD-1(n)

y(m)

Fx

Fy = Fx/D

s(n)

An AlternativeRepresentation

Page 63: Multirate DSP

63

Polyphase Interpolator Analysis (1)

Time domain Analysis:

Output of a conventional interpolator:

k

I I

kmxkhmy )()(

10,for DiliIlk

Substituting:

Page 64: Multirate DSP

64

Polyphase Interpolator Analysis (2)

1

0

)()(I

i lI I

iIlmxiIlhmy

Interpolated Signal:

)()( ilDhlp Ii Defining:

1

0

1

0

])([

)()(

I

iIi

I

i li

imxmp

I

iIlmxlpmyFinal output

expression:

Page 65: Multirate DSP

65

Polyphase Interpolator Implementation

General Structure of an 1:I interpolator

p0(n) I

p1(n) Iz-1

P(I-1)(n) I

x(n) y(n)

z-1

i=0

i=1

i=I-1

Page 66: Multirate DSP

66

Polyphase Interpolating Filter

• Large filter can be decomposed to a set of filters with unit sample response as– pk(n) = h(k + nI) k = 0, 1, ....., I -1

n = 0, 1, ....., K - 1

p0(n)

p1(n)

p2(n)

pI-1(n)

s(n)

Fx

Fy = I Fx

y(m)

Page 67: Multirate DSP

67

Sample Rate Conversion by Stages

Sometimes it is computationally more efficient to perform sample rate conversion in multiple stages.

H(z) Dx(n)

fx

y(m)

fx/D

Single Stage Decimator

fx/(D1D2) =fx/D

H1(z) D1 H2(z) D2x(n)fx fx/D1

y(m)

Two-Stage Decimator

Page 68: Multirate DSP

68

Approach

•The signal is decimated by D1 in the first stage and D2 in the second stage, giving an overall decimation factor of D=D1D2.

•The filters H1(z) and H2(z) can be designed with wider transition bandwidth specifications since the overall filter response is narrow.

Page 69: Multirate DSP

69

Advantages/Disadvantages of Sample Rate Conversion by Stages

• Fewer coefficients reduces finite word-length problems.

• Drawback: original decimation and interpolation ratios cannot always be easily factored into suitable numbers.

•More (likely acceptable) passband aliasing

• Reduced Computation

Page 70: Multirate DSP

70

Input Signal:

Assume a bandlimited digital audio signal.

Bandwidth =4kHz, Sampling rate, Fs=8kHz, D=50

Decimation Lowpass Filter:

Passband: 0 to 75 Hz Peak passband ripple

p=10 -2

Transition band: 75 to 80 Hz Peak stopband ripple s=10 -4

Example Conversion by Stages

Page 71: Multirate DSP

71

Example Conversion by Stages (2)

fN

sp

6.14

13log20 10

Where f = (fs-fp)/Fs is the normalized transition BW of the filter; fs and fp are passband and stopband edge frequencies respectively.

The approximate length of an FIR filter, according to Kaiser formula, is:

Page 72: Multirate DSP

72

Example Conversion Single Stage (3)

Substituting the numerical values,

5150)8000/5(6.14

1310log20 610

N

Lowpass FIR filter has a length of 5150

The number of multiplications per sec is:

82400050

80005150sec M

Page 73: Multirate DSP

73

Multistage Sample Rate Conversion Example (4)

The sample rate can be lowered to 160 Hz and still maintain the information. Hence the decimation factor is can be calculated as

50)80()2( sfD

Page 74: Multirate DSP

74

Example Conversion by Stages (5)

Let the decimation be achieved in two stages. Let D1=25 and D2=2.

Two-Stage Decimator

H1(z) 25 H2(z) 2

x(n)

8 kHz 320 Hz

y(m)

160 Hz

Page 75: Multirate DSP

75

Multistage Sample Rate Conversion Example (6)

•H1(z) and H2(z) are cascaded the overall linear passband specs can be halved between them.• Stopband specs can remain same for both since the cascade filters can only increase the overall stopband attenuation. • In choosing stopband edge, there is a tradeoff between the filter length and amount of tolerable aliasing in the passband

Page 76: Multirate DSP

76

Multiple Stage Conversion Example (7)

Stage 1: Filter Specifications

Passband edge, fp=75 Hz.

Peak passband ripple, p= 0.005=(10-2/2)

Stopband edge, fs=240 Hz (=320-80),

Peak stopband ripple, s = 10-4

Sampling Rate, Fs=8 kHz

Page 77: Multirate DSP

77

Multistage Sample Rate Conversion Example (8)

The choice of passband edge frequency depends on the decimation factor. In this case, due to the attenuation by filter, aliasing energy in the band from 240 Hz to 320 Hz will be small compared to that in 160 to 240 Hz, i.e, the stopband aliases on top of the passband.

Page 78: Multirate DSP

78

Multistage Sample Rate Conversion Example (9)

fp= output sample rate of decimator stage - desired transition band upper frequency

166

8000/)75240(6.14

13)10)(005.0(log20

1

410

1

N

N

By Kaiser Formula, the approximate FIR filter length of the first stage:

Page 79: Multirate DSP

79

Multistage Sample RateConversion Example (10)

Passband edge, fp: 75 HzPassband ripple, p = 0.005(=10-2/2)

Stopband edge, fs: 80 Hzstopband ripple, s = 10-4

Sampling frequency, Fs = 320 Hz

Stage 2: Filter specifications

Page 80: Multirate DSP

80

Multistage Sample RateConversion Example (11)

Approximate length of this second stage FIR

219

320/)7580(6.14

13)10)(005.0(log20

1

410

1

N

N

Multiplication per sec for these two stage

881602

320219

25

8000166

sec.2sec,1sec

MMM

Page 81: Multirate DSP

81

Multistage Sample RateConversion Example (12)

Summary:Implementation

approach Single-stage Two-stage

Number of filter

coefficients

5150 385

Number of multiplications

per sec

824000 88160

Computation is reduced by a factor of 8 with the two stage implementation.

Page 82: Multirate DSP

82

Multistage Sample RateConversion Example (13)

Key to computational advantage:

Aliasing is allowed, especially in the bands of no interest.

Page 83: Multirate DSP

83

Multistage Sample RateConversion Example (14)

f

4 kHz =Fs/2 8kHz =Fs

|X()|

fss=f/5080 Hz =Fs/2

160 Hz=Fs

Original signal spectrum:

Single stage decimation by 50:

No significant aliasing here

Page 84: Multirate DSP

84

Multistage Sample RateConversion Example (15)

fts1=f/25240 Hz

320Hz=Fs

80 Hz

Two-stage decimation: After first stage decimation by 25:

fts2=fts1/2=f/50

80 Hz 160Hz=Fs

After second stage decimation by 2: Overall decimation by 50: Contains aliasing

Page 85: Multirate DSP

85

Digital Filter BanksApplications

* Communications

Convert FDM to TDM signals

* Speech and Image Coding for Data Reduction

More bits to represent the lower band where most of energy is located

* Computational/Structural Advantages for Wideband Processing

Page 86: Multirate DSP

86

Implementation of Digital Filter Banks (DFBs)

• Two basic structures: - DFB Analyzer: Splits signals into subbands - DFB Synthesizer: Combines the subbands into a wideband signal

Page 87: Multirate DSP

87

Analysis Filter Bank

H (z)0

H (z)1

H (z)N-1

x(n)

BPF’s

Wideband

input signal

Narrowband output signals

N

N

N

Page 88: Multirate DSP

88

Implementation ofDigital Filter Bank Analyzer

• The input signal is decomposed into N channel signals band pass filters with center frequencies

1,...,2,1,0;2

NkN

kk

•Each of these filtered signals is decimated to reduce the sample rate for each channel

Page 89: Multirate DSP

89

•Hk (z), k=0,1, ..., N-1 is a uniform filter bank, H0(z) is a LPF.

H Hk

Nk Nk( ) , , , ,...,

0

2012 1

h n h n e k Nk

j nkN( ) ( ) , , , ,...,

0

2

0 1 2 1

or

Implementation of Analysis Filter Bank•Bandpass filtering can be viewed as down conversion and lowpass filtering. The frequency response of the bandpass filter is

Page 90: Multirate DSP

90

Implementation of Analysis Filter Bank (2)

•Channel outputs are assumed to be critically sampled, i.e., the sample rate of the wideband signal is N times the sample rate of each narrow band signal.

•We will consider DFT and IDFT filter bank structures for the analyzer and the synthesizer respectively

Page 91: Multirate DSP

91

Synthesis Filter Bank

G (z)0

G (z)1

G (z)N-1

x(n)

BPF’s

Narrowband input

signals Wideband output signal

N

N

N

Page 92: Multirate DSP

92

Implementation of Digital Filter Bank Synthesizer (1)

• The desired band-pass image created by zero-augmenting is extracted by a BPF. All channels are summed to create a composite wideband signal.

Page 93: Multirate DSP

93

Implementation of Digital Filter Bank Synthesizer (2)

G (z)0

G (z)1

G (z)N-1

x(n)

BPF’s

Nar

row

band

in

put s

igna

ls

Wideband output signal

N

N

N

Page 94: Multirate DSP

94

DFT Filter Bank Analyzer - Basic Form

h0(n)

h0(n)

h0(n)

WN-(N-1)n

WN-(1)n

WN-(0)n

N X0(m)

N X1(m)

N XN-1(m)

x(n)

v0 (n)

v1 (n)

vN-1 (n)

Page 95: Multirate DSP

95

DFT Filter Bank Analyzer - Basic Form (1)

• N-channel Uniform DFT Filter Bank Analyzer•Input signal, x(n) is modulated separately by the complex sinusoid:

NkWe knN

nN

kj

,..,1,0;2

shifting the original band of N channel stacking with center frequencies:

NkN

kk ,...,1,0;2

to N baseband channel signals

Page 96: Multirate DSP

96

DFT Filter Bank Analyzer - Basic Form (2)

•Each channel signal is then lowpass filtered by h0(n), isolating the channel from the adjacent channels. The filter h0(n) also serves as the anti-aliasing filter for subsequent downsampling.• The lowpass filtered signals in each channel are then downsampled by N (critical sampling) to produce the final channel signals, Xk(m), k=0,1,…,N.

Page 97: Multirate DSP

97

DFT Filter Bank Analyzer-Basic Form (contd.)Time Domain Analysis:

The channel outputs can be expressed as:

1,...,1,0),()( NkmNvmX kk

Where, the intermediate signal, v(n) is:

1,...,1,0,)()()( 0

NkWlxlnhnvl

klk

Final expression for the channel output signals :

1,...,1,0,)()()( 0

NkWlxlmNhmX kl

lk

Comparing with the definition of an N-point DFT:

1

0

1,...,1,0,)(N

l

klk NkWlxX

If h0(n)=1, n=0,1,…N-1, then the DFT filter bank analyzer performs an N-point DFT operation to produce the final N channel output signals, Xk(m), k=0,1,…,N-1 at each sample instant, m.

Page 98: Multirate DSP

98

DFT Filter Bank Synthesizer - Basic Form

N g0(n)

WN(0)n

N g0(n)

WN(1)n

N g0(n)

WN(1)n

y(n)

Y0(m)

Y1(m)

YN-1(m)

y0(n)

y1(n)

yN-1(n)

v0(n)

v1(n)

vN-1(n)

Page 99: Multirate DSP

99

DFT Filter Bank Synthesizer - Basic Form (1)

• The individual channel signals are first interpolated by a factor of N, where g0(n) is the lowpass anti-imaging filter for interpolation• Each interpolated channel signal is separately modulated by the complex sinusoid:

1,..,1,0;2

NkWe knN

nN

kj

Page 100: Multirate DSP

100

•These frequency shifts the channel to their desired spectral locations, i.e., centered at: k=2k/N, k=0,1,…,N-1

•The synthesizer then sums all the channel signal to produce a single wideband output signal, y(n).

DFT Filter Bank Synthesizer - Basic Form (2)

Page 101: Multirate DSP

101

DFT Filter Bank Synthesizer-Basic Form (contd.)

Time Domain Analysis

The channel signals in the synthesizer are:

1,...,1,0,)()()( 0

NklvlngWnyl

kkn

Nk

Where, the intermediate signal, vk(n) is:

,...2,,0,)( NNnN

nYnv kk

So, the channel signals are:

1,...,1,0,)()(

')'()(

0

'0

NklYlNngW

N

lYlngWny

kl

knN

lk

knNk

Output of the synthesizer:

l

N

k

knNk

N

kk

WlYN

lNng

nyN

ny

1

00

1

0

)(1

)(

)(1

)(

Definition of IDFT: 1,...,1,0,1

)(1

0

NnWYN

nyN

k

knNk

Therefore, assuming g0(n) is an FIR filter of length N, the synthesizer first perform an N-point IDFT on the N channel inputs, Yk(m), k=0,1,…,N-1 and then interpolates the resulting signal by a factor of N.

Page 102: Multirate DSP

102

Summary of DFT Filter Bank Analyzer - Basic Form

•A wideband input signal is decomposed into several narrowband channel signals in the following way.

- The wideband signal is shifted byk=2k/N, k=0,1,…,N-1 to create N baseband channel signals.

- The N baseband channel signals are individually lowpass filtered to remove any high frequency components.

- The N lowpass filtered channel signals are each downsampled by a factor of N i.e., critical sampling, ensuring that total number of samples per unit time from all the N channel signals together is the same as that of the original wideband signal.

Page 103: Multirate DSP

103

DFT Filter Bank Analyzer-Alternate Form

x(n)

h0(n)=h0(n)Wkn D

W-(0)mD

X0(m)

h1(n)=h0(n)W1n D

W-(1)mD

X1(m)

hN-1(n)=h0(n)W(N-1)n D

W-(N-1)mD

XN-1(m)

DFT Filter Bank Analyzer-Complex Bandpass Filter Representation

Page 104: Multirate DSP

104

DFT Filter Bank Analyzer-Alternate FormAn alternative structure of the basic DFT filter bank analyzer is useful for reducing complexity.

The basic DFT filter bank analyzer output: (no critical sampling)

1,...,1,0,)()()( 0

NkWlxlmDhmXl

klk

It can be rearranged as:

1,...,1,0,)()(

)()(

)()()(

'

'

)(0

NkWnxnh

WlxlmDh

WlxWlmDhmX

kmDDk

kmD

lk

kmD

l

lmDkk

Where Nknjknk enhWnhnh /2

00' )()()( is the lowpass filter upconverted

to a complex bandpass filter by the complex sinusoid, ej2kn/N. So it is a center frequency at k=2k/N, k=0,1,…,N-1.

In case of critical sampling, i.e., D = N, the analyzer output :

1,...,1,0,)()()( ' NknxnhmX Dkk

Page 105: Multirate DSP

105

Summary of DFT Filter Bank Synthesizer - Basic Form

In a DFT filter bank synthesizer several narrowband input signals are combined to form a single wideband output signal as follows:

- The N narrowband input signals are separately upconverted by a complex sinusoid, thereby, translating the baseband signals to N different bandpass signals with bands centered at k=2k/N, k=0,1,…,N-1.

- The N narrowband input signals are each interpolated by a factor of N, i.e., critical sampling, thereby changing the sample rate of each channel signal to that required by a wideband signal.

-The N bandpass channel signals are summed and scaled to form the single wideband output signal of the synthesizer.

Page 106: Multirate DSP

106

DFT Filter Bank Analyzer-Alternate Form (Critical Sampling)

hk(n)=h0(n)Wkn N Xk(m)

DFT Filter Bank Analyzer-Complex Bandpass Filter Representation

(Critical Sampling case, D=N)

x(n)

Page 107: Multirate DSP

107

DFT Filter Bank Synthesizer-Alternate FormSimilarly, for the basic DFT filter bank synthesizer, an efficient alternative structure can be realized in the form of complex bandpass filter representation

The channel signals in a basic DFT filter bank synthesizer: (No critical sampling)

1,...,1,0,)()()( 0

NklYlDngWny kl

knNk

Rearranging the expression:

)()(

)'()'(

)'('

)()()(

'

'

''

'

)'(0

'

)(0

ngWmY

lngWlY

WlngWD

lY

WlDngWlYny

kDkmD

Nk

lkD

DklNk

l

lnkN

DD

lk

Nk

l

lDnkN

klDNkk

Where, gk(n)=g0(n)WNkn is the complex bandpass filter representation of

the lowpass filter g0(n). In the case of critical sampling, i.e., D = N

)()()( ' ngmYny kDkk

Page 108: Multirate DSP

108

Decimation and interpolation are the key operations and can be implemented with a polyphase filter.

Polyphase Implementations of DFT Filter Banks

Recallp0(n)

p1(n)

p2(n)

pD-1(n)

y(m)

Fx

Fy = Fx/D

s(n)

Page 109: Multirate DSP

109

DFT Filter Bank Analyzer-Polyphase ImplementationApplication of polyphase structures for decimator in a DFT filter bank analyzer results in a highly efficient realization for practical purpose.

The basic DFT filter bank analyzer output: (with critical sampling)

1,...,1,0,)()()(

Or,

1,...,1,0,)()()(

0

0

NkWlmNxlhmX

NkWlxlmNhmX

l

klNk

l

klNk

Substituting: 10,, NirirNl

Analyzer output:

1

0

)(0 )()(

N

i r

irNkNk WiNrmxirNhmX

Defining: 1,...,1,0),()()()( 0 NiinNxnxandinNhnp ii

Final expression for the analyzer output:

1,...,1,0,)()(

)()(

)()()(

1

0

1

0

NkmxmpDFT

Wmxmp

WrmxrpmX

ii

N

i

kiNii

N

i r

kiNiik

Page 110: Multirate DSP

110

DFT Filter Bank Analyzer-Polyphase Implementation for One Channel

p0(m)

p1(m)

pN-1(m)

Xk(m)

W-(0)k

W-(1)k

W-(N-1)k

i=0

i=1

i=N-1

x0(m)

x1(m)

xN-1(m)

x(n)

Polyphase Decomposition of the k-th channel of the DFT filter Bank Analyzer

Page 111: Multirate DSP

111

DFT Filter Bank Analyzer-Polyphase Implementation for All Channels

p0(m)

p1(m)

pN-1(m)

i=0

i=1

i=N-1

x0(m)

x1(m)

xN-

1(m)

x(n) N-point DFT

0

1

N-1

X0(m)

X1(m)

XN-1(m)

Overall Polyphase DFT Filter Bank Structure

with an N-point DFT Operation Block

Allchannels

Page 112: Multirate DSP

112

Reason for Computational Efficiency

•Only one branch of polyphase structure of the original lowpass filter, h0(n), is sufficient to calculate all of the N channel output signals, Xk(m), with the help of a DFT block as opposed to the Basic and Alternative forms that required a separate filter for each channel. Thus computation is reduced by a factor of N.

Page 113: Multirate DSP

113

Reason for Computational Efficiency

• The decomposition of the decimation lowpass filter, h0(n) into an N branch polyphase network, pi(n), I=0,1,…, N-1, allows operations to be done using parallel processing with each branch operating at a slower rate.

• Efficient FFT chips are readily available.

Page 114: Multirate DSP

114

DFT Filter Bank Synthesizer-Polyphase Implementation

Similar efficient structure can be realized for the DFT filter bank synthesizer

Output of a basic DFT filter bank synthesizer:

1,...,1,0,)(1

)()(1

00

NkWlYN

lNngnyl

N

k

knNk

Decompose the output into a set of N polyphase signals:

1,...,1,0),()( NiinNymyi

Synthesizer output: 1,...,1,0,,)(1

)(1

00

NkiWlYN

iNlmgmyl

N

k

kiNki

Defining: 1,...,1,0),()( 0 NiimNgmqi

Output of the synthesizer employing polyphase structure: 1,...,1,0,,)()(

)(1

)()(1

0

NkimYIDFTmq

WlYN

lmqmy

ki

l

N

k

kiNkii

Page 115: Multirate DSP

115

DFT Filter Bank Synthesizer-PolyphaseImplementation (1)

N-point IDFT

q0(m)

q1(m)

qN-1(m)

y(n)

y0(m)

y1(m)

yN-1(m)

Y0(m)

Y1(m)

YN-1(m)

i=0

i=1

i=N-1

Page 116: Multirate DSP

116

DFT Filter Bank Synthesizer-Polyphase Implementation

- N-point Inverse DFT of all the N channel signals, YK(m), k=0,1,…,N-1, at a particular sample instant, m.

- kth output of the IDFT operation is convolved with the kth branch polyphase filter, qk(m), k=0,1,…,N-1, at the same sample instant, m. This results in the output of the kth polyphase branch, yk(m).

Page 117: Multirate DSP

117

DFT Filter Bank Synthesizer-Polyphase Implementation

- The final output, y(n), is the periodic (period N) sampling of these N-branch polyphase network and is implemented by a rotating switch.

Page 118: Multirate DSP

118

Quadrature Mirror Filters (QMFs)

- Multistage filtering where each stage splits the band in half

- Used extensively in speech coding. DAT???????

- Used in image coding (capable of reducing 8 bits/pixel to 1/2 bit/pixel)

Page 119: Multirate DSP

119

Analysis Filter

Speech(or Image)

Signal

LPF 2

HPF 2 Encoder 3

LPF 2

HPF 2 Encoder 2

Encoder 1

LPF H

HPF H

: ( )

: ( )0

1

1 2 3

4

2

Partitioned Band

2

H 0 ( ) H 1( )

0

Filter Responses

Characteristics of H0() and H1()This aliasing can be removed later.)

Page 120: Multirate DSP

120

Synthesis Filter

Decoder 1 2 Filter

Decoder 2 2 Filter

Decoder 3 2 Filter

2 Filter

Page 121: Multirate DSP

121

Primary building block is the two stage QMF.

LPF H z0( ) 2

2HPF H z1( ) 2 G z1( )

2 G z0( )

Analysis Section Synthesis Section

Xa0( )

Xa1( )

Xs0( )

Xs1( )

( )x n

What the filters must be for perfect reconstruction ?

DTFTs of decimated signals:Outputs of the analysis QMF

X X H X Ha0( )

1

2 2 2

2

2

2

20 0 (1a)

Page 122: Multirate DSP

122

Output of analysis filters

X X H X Ha1 1 1

1

2 2 2

2

2

2

2( )

(due to decimation)

Output of synthesis filter ( ) ( ) ( ) ( ) ( )X X G X Gs s 0 0 1 12 2

(1b)

(2)

(3)

If we directly connect the analysis and synthesis filters, we should be able to perfectly reconstruct the signal.

(amazing because aliasing is present)

Combine Eqs. (1a), (1b) and (2).

( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

X H G H G X

H G H G X

1

2

1

2

0 0 1 1

0 0 1 1

Page 123: Multirate DSP

123

First term is to be unity and second term is due to aliasing and hence is to be zero.

Eliminate aliasing at output by

H G H G0 0 1 1 0( ) ( ) ( ) ( )

G H0 1( ) ( ) G H0 1( ) ( ) Pick and

Recall H0() is an LPF.H1() is an HPF.H H0 1( ) ( ) (Frequency translated HPF)

Page 124: Multirate DSP

124

For notational simplicity define H() as a LPF.

Thus,

h n h n

h n h nn

0

1 1

( ) ( )

( ) ( )

and to eliminate aliasing, pick

g n h n

g n h nn

0

1

2

2 1

( ) ( )

( ) ( )

The "2" is used to normalize the gain for the interpolation.

Given these values, the QMF now behaves as an LTI filter (no aliasing).

Page 125: Multirate DSP

125

Plug these filters into (3) to get the output and constrain the overall filter response to have a unity gain.

( ) ( ) ( ) ( )X H H X 1

22 2

For unity gain,

A H H( ) ( ) ( ) 2 2 1

Page 126: Multirate DSP

126

We avoid filters with an odd number of coefficients (Type II filter) since the magnitude response is zero at =/2 (or at the original sample rate). We can simplify the design criterion above to satisfy by noting that

H H ej N

( ) ( )( )

1

2

H H e j N2 2 1( ) ( ) ( )

H H e

H e

j N

N j N

2 2 1

1 2 11

( ) ( )

( )

( ) ( )

( )

Hence

A H H( ) ( ) ( ) 2 2

(implies symmetry about /2)

Page 127: Multirate DSP

127

1) Computer optimization techniques can be used to design an FIR filter so that A() 1 while having a good stopband characteristics (Tables are available).

2) Design IIR elleiptic filters.

3) Use half-band filters.

A half band filter can be used to satisfy the aliasing free condition by relaxing the linear phase constraint on h(n).

Half band filter:

Approaches for creating H()

b ncons t n

n

b n b n

( )tan

( ) ( )

20

0 0

These coefficients produce symmetry about /2.

Page 128: Multirate DSP

128

2

2

2

Note:

The QMF can be implemented using polyphases for the decimating and interpolating functions to reduce the hardware complexity. (Details are given in Proakis)

Page 129: Multirate DSP

129

Application of Multirate DSP: Transmultiplexers

* Used to convert between time-division-multiplexed (TDM) and frequency-division-multiflexed (FDM) in telephone communications.

To Transmitter

User 1

User 2

User N-1

TDM

e j 0

e j 1

e j N 1

User 1

User 2

User N-1

To Transmitter

FDM

Page 130: Multirate DSP

130

Basic Group Channel

Stacked SSB Signals (12 form a basic group)

0 f

Voice Spectrum Single Sideband

(1/2 spectrum frequency translated)

-fc0 fc

f

4 KHz

48 f

(gets larger by stacking these basic groups.It is a relatively old transmission technique. TDM is more recent.)

Page 131: Multirate DSP

131

FDM to TDM Conversion

SSB Demod. D s (n)1

SSB Demod. D s (n)2

SSB Demod. D s (n)N-1

TDM

Users

A/D

Signal

0 f

BasebandSSBSignal

LPF h(n)

cos ( )k n

SSB Demodulation

Page 132: Multirate DSP

132

Note the similarity to the DFT analysis DFB.

e j n 0

e j n 1

e j nN

1

x(n)

h (n)0

h (n)0

h (n)0

X (m)0

X (m)1

X (m)N-1

D

D

D

LPF

FDMTDMOut

which can also be implemented as shown next.

Page 133: Multirate DSP

133

p(m)0

p(m)1

p (m)N-1

x(l)

x(m)0

x(m)1

x(m)N-1

r(m)0

r(m)1

r(m)N-1

DFT

X(m)0

X(m)1

X(m)N-1

m=0

TDMOut

FDMIn

D=12 forbasic group

Recovered users

96KHz

Page 134: Multirate DSP

134

TDM to FDM

Interpolator SSB Modulator

Interpolator SSB Modulator

Interpolator SSB Modulator

12 Channels8 KHz In12.8-96 KHz Out

D/A

TDM In

FDM Out

B(f)

1B(f)

f e j nk

VoiceSSB Modulated Signal

SSB Modulator

Page 135: Multirate DSP

135

Implementations

G(f) is the combine interpolation LPF and B(f).

e j n0

e j n1

e j nN

1

D

D

D

N-1Y (m)

Y (m)1

Y (m)0

TDM In 96 KHz

G(f)

G(f)

G(f)

FDM Out

LPF

Page 136: Multirate DSP

136

Alternate Approach

e j mD0

e j m D 1

e j m DN 1

Y (m)0

Y (m)1

Y (m)N-1

D

D

DN-1

G (f)0

G (f)1

G (f)

BPF

TDM In

FDM Out

Page 137: Multirate DSP

137

Example: Use of Multirate DSP: Watkin-Johnson’s Base2

TM Base Station

• Motivation– Service the IS-136 market– Dynamic allocation of channel,modes,and bands– cost and size savings– ease in modifying vocoder, interference rejection

technique, and air interface change– smart antenna capability– enable: CDPD, RF finger printing, 911

Page 138: Multirate DSP

138

Watkin-Johnson’s Wideband Base2 Transmitter

Cellular Forward Link Band

A,A+ or B,B+

16 bits

FFT-based channelizer not used because it would constrain the channels to equal bandwidths

LPFs must be good to reduce spurious from across channels.

NCO Software Defined

Connected to T1 line

Page 139: Multirate DSP

139

Watkins-Johnson’s Wideband Base2 Receiver

A+ B+

clock12 bits

80 dB dynamic range30 dB added from AGC

NCO with goodspurious response

16 bits

Software Defined

Connected to T1 line

> 80 dB needed for SFDR achieved through dithering A/D

AGC is trick, overload impacts all calls and on the other end low level callers could be lost

A, A+ or B,B+

Cellular reverse link band

Page 140: Multirate DSP

140

Drawback to the WJ Approach• Multicarrier Power Amplifiers

– Must have high dynamic range– Power per channel reduced for each new

channel

• Cost savings come with more RF channels– TDMA uses fewer RF channels

• Difficult to connect to the mobile switching center -- proprietary interface

Page 141: Multirate DSP

141

Ericsson Base-Station

H0(z) N Sample Rate Conversion

Baseband Processing

H1(z) N Sample Rate Conversion

Baseband Processing

HM-1(z) N Sample Rate Conversion

Baseband Processing

x(n)

Figure: Classical Filter Bank View of a wide-band Channelizer

•The structure of the channelizer in the W-J Base-station receiver is similar to a classic DFT filter bank Analyzer (Basic Form)

•The alternate form (complex bandpass filter representation) of the a W-J Base-station is shown below, where Hk() = H0(-2k/M), H0(z) is LPF

Page 142: Multirate DSP

142

Ericsson Base-Station (contd.)

Figure: Channelizer Employing DFT Filter Bank Polyphase Structure

E0(zM) N Sample Rate Conversion

Baseband Processing

E1(zM) N

EM-1(zM) N

x(n)

Sample Rate Conversion

Baseband Processing

Sample Rate Conversion

Baseband Processing

M-point IDFT

z-1

z-1

z-1

Employing the concept of polyphase implementation of a DFT filter bank analyzer, an efficient channelizer structure can be realized

Polyphase decomposition of H0(z) is:

1

00 )()(

M

i

Mi

i zEzzH

which is the z-domain representation of 10),()( 0 MiinMhnei

Page 143: Multirate DSP

143

Problem with the DFT filter bank channelizer

From the implementation point of view the problem with both of these structures is the the filtering is done at higher sampling rate.

Due to downsampling by N, every N-th sample of the polyphase filter output is required.

A slight rearrangement in the polyphase filter structure can provide the solution (using the noble identity for the decimator)

Ei(zM) N = N

Ei,1

Ei,0

N

Assuming each polyphase filter, Ei(z) has two nonzero coefficients

1,...,1,0),()( 1,0, MizEEzE Mii

Mi

Where, Ei,o and Ei,1 are scalar quantities

The resulting Channelizer structure is called the Open Filter Bank (OFB) Channelizer

Page 144: Multirate DSP

144

Open Filter Bank (OFB) Channelizer

M-point IDFT

Sample RateConversion

Baseband Processing

Sample RateConversion

Baseband Processing

Sample RateConversion

Baseband Processing

N E0,0

z-1

N E1,0

N EM-1,0

z-1

z-1

N E0,0

z-1

N E1,0

N EM-1,0

z-1

z-1

x(n)

Figure: Open Filter bank Channelizer

Page 145: Multirate DSP

145

Reference of W-J and Ericsson Base Station

Watkins-Johnson’s Base Station

[1] Lober R. M., “Wideband, Software-Definable Base Station Technology: Approaches, benefits and Applications”, 7th Virginia Tech/MPRG Symposium on WIRELESS PERSONAL COMMUNICATIONS, June 11-13, 1997, pp. 15-1 thru. 15-12

Ericsson Base Station

[1] Zangi K. C., “Software Radio Issues in Cellular Base Stations”, IEEE Journal on Selected Areas in Communications, vol. 17, No. 4, April 1999, pp. 561-573

Page 146: Multirate DSP

146

Multirate DSP and the Need for Synch.

• Carrier and Symbol Recovery– Oscillators vary from unit-to-unit

– Time, temperature and aging change

– Doppler

Page 147: Multirate DSP

147

First Generation Digital Receiver Timing Recovery

SymbolTimingAnd CarrierSynch

IF

Anit-Alias Filter

ADCMatchedFilterX

Anit-Alias Filter

ADCMatchedFilter

900

X

I data

Q data

Page 148: Multirate DSP

148

Problems

• Feedback path to continuous-time requires overhead parts and timing control.

• Matched filter delay in the feedback path reduces response time.

• Timing jitter in feedback clocks introduce noise.

• IF sampling not possible.

Page 149: Multirate DSP

149

A More Modern Approach

SymbolTimingAnd CarrierSynch

IF

Anit-Alias Filter

ADCPolyphaseMatchedFilter

X

Anit-Alias Filter

ADCPolyphaseMatchedFilter

900

X

I data

Q data

Cos(2fct) clock

Page 150: Multirate DSP

150

Advantages to the Modern Approach

• Handle multiple signal channels

• No feedback to the analog domain

• More flexible DSP implementation

Page 151: Multirate DSP

151

Why is Synch. Difficult and How Do We Address the Problem?

Matched Filtered Symbol

Problem of Symbol Synchronization: Sample the symbol at the optimum point from the matched filer.

Matched Filter and Interpolated Symbol

Solution to the Problem:Upsample and match filter the signal so that a near optimal sample can be extracted.

Page 152: Multirate DSP

152

p0(n)

p1(n)

p2(n)

pI-1(n)

s(n)

Fx

Fy = I Fx

y(m)

•Subsampled impulse response is combination of LPF and pulse impulse response•Computation split across filters•Filtering at slower rate (not all filters really needed)

Polyphase Matched Filter

Synchronization is a matter of picking the appropriate filter.

Page 153: Multirate DSP

153

Approaches to Pick the Right Switch Position

• Early/Late Gate– Take advantage of symbol symmetry

• Maximum Likelihood– Take advantage of the derivative of the pulse

Page 154: Multirate DSP

154

Early/Late Bit Synchronizers - Exploits the symmetry of the matched filtered signal.- Note the matched filtered signal output R() has a symmetric shape (neglecting distortion and noise)

Baseband signal

T0 2T

Early sampleLate sample

Optimal sample time

R()

T0+ T0-

Matched Filter

OutputSignal function of

The optimal timing is obtained when R() is sampled. If we take two measurements R(T0+) and R(T0-) and if T0=T, the two measurements

are equal then the optimal sample would be 1/2 between. An error signal to a timing recovery loop could be created by using |R(T0+)| - |R(T0-)| .

Note the absolute value eliminates ambiguity of data polarity.

Page 155: Multirate DSP

155

Maximum Likelihood Techniques

• Measure the slope of the pulse to get a sense of what side of the peak the samples are on.

• A zero derivative means the peak has been sampled.

Interpolated Matched Filtered Signal

Positive slope:Move pointer to the right

Slope= S

•Slope times y(m) or sign(y(m)) gives a polarity independent metric of distance from the optimal point for tracking which are the useful polyphase filter outputs

Page 156: Multirate DSP

156

Realization 1: Maximum Likelihood

p0(n)

p1(n)

p2(n)

pI-1(n)

s(n)

Fx

Fy = I Fx

y(m-1)

•Pick three outputs at once.•Numerical derivative [y(m-1) – y(m+1)]/T can be computed.•Derivative is used to know if the switch should be advanced or delayed

y(m+1)

y(m)

Page 157: Multirate DSP

157

Realization 2: Maximum Likelihood

p’0(n)

p’1(n)

p’2(n)

p’I-1(n)Fx

Fy = I Fx

y ’(m)

p0(n)

p1(n)

p2(n)

pI-1(n)

s(n)

Fx

Fy = I Fx

y(m)

Note: pi’ is the derivative of the interpolating matched filter pi

Page 158: Multirate DSP

158

Symbol and Carrier Synch.

N-point IDFT

q0(m)

q1(m)

qN-1(m)

y(n)

y0(m)

y1(m)

yN-1(m)

Y0(m)

Y1(m)

YN-1(m)

i=0

i=1

i=N-1

IF

Slow Drift

Freq.

Removal

X

BasebandSignal

Interpolator and Channelizer

Switch Position for Frequency Translation

Swich position for interpolator phase (symbol timing)

Page 159: Multirate DSP

159

Cascaded Integrated Comb Filters

Page 160: Multirate DSP

160

Overview of CIC Filters• CIC Filters: What are they?

• Characteristics– Advantages, Disadvantages, Uses

• Frequency Characteristics

• Transfer Function for Partial stages

• Maximum Register Growth

• Truncation Effects

• Design Example

• Interpolation Filters

Page 161: Multirate DSP

161

Introduction to CIC Filters

• Efficient way to implement multirate filters without the use of multipliers

• Structure– Integrator section operating at the high

sample rate – Comb section operating at the low

sample rate

Page 162: Multirate DSP

162

Integrator Section

• Integrator section – N ideal digital integrator stages operating at

the high sampling rate, fs

– HI(Z) = 1/(1 – Z-1)

Z-1 Z-1

Stage 1

Page 163: Multirate DSP

163

Comb Section

• Comb section – M differential stages operating at

low sampling rate fs/R

– HC1(Z) = 1 – Z-M

Z-M Z-M

-1 -1

Page 164: Multirate DSP

164

CIC Decimation and Interpolation Filters

Integrator Sectionfs

Comb Section fs/R

Integrator Section

Comb Sectionfs fs/R

Decimation Filter

Interpolation Filter

Page 165: Multirate DSP

165

Example Decimation Filter

Decimation Filter

Z-1 Z-1

Stage 1

Z-M Z-M

-1 -1

fs fs/R

Stage N Stage N+1 Stage 2N

Page 166: Multirate DSP

166

Derivation of Transfer Function

• Decimation filter

• Sampling frequency reduction from fs to fs/R, is done at the switch

• Comb section operates at low sampling rate fs/R

• System function of a single comb section as referred to the higher frequency,HC(z) = 1 – z-RM

Equivalent Structures

Page 167: Multirate DSP

167

Characteristics Advantages

No multipliers or storage for filter coefficients Structure is very ‘regular’ Little external control or complicated timing

required Same filter design can be used for wide range of

R

Disadvantage– Register widths can become large for large rate

change factors– Limited range of filter characteristics

Page 168: Multirate DSP

168

Applications of CIC Filters

• Applications–Areas where high sampling rates

make multipliers an uneconomical choice

–Areas where large rate change factors R, would require large amounts of coefficient storage or high speed filtering

Page 169: Multirate DSP

169

Frequency Characteristics

• Transfer function of decimation filter

NRM

k

kN

NRM

NC

NI

zz

z

zHzHzH

1

01)1(

)1(

)()()(

X[N]

[N]

[N]

[N]

RM

2

Equation (1)

Page 170: Multirate DSP

170

Frequency Response

N

jj

RMjRMj

j

RMj

Nj

NRMj

ee

ee

e

e

e

ezH

)(

)(

)1(

)1()(

22

22

2

2

jez Equation (2)

Page 171: Multirate DSP

171

Magnitude Response

NN

R

ffM

RM

zH

)sin(

)2sin(

)2

sin(

)2

sin()(

Equation 2

Rf 2

Page 172: Multirate DSP

172

Power Response

N

R

ffM

fP

2

)sin(

)2sin()(

Page 173: Multirate DSP

173

Frequency Response

0 0.5 1 1.5 2 2.5 3-120

-100

-80

-60

-40

-20

0

Frequency relative to low sampling rate (f)

Mag

nitu

de r

espo

nse

(dB

)

f

c

2fc

2fc

Aliasing Bands

If fc = 1/8

Frequency Response N = 4, M = 1, R = 7

Page 174: Multirate DSP

174

Register Growth and Truncation Effects

• Maximum register growth value useful in determining truncation effects

• Partial transfer function– Transfer function from each stage gives

insight into truncation effects– Helps determine number of bits which can

be discarded at each stage– Helps determine characteristics of the

overall filter

Page 175: Multirate DSP

175

Transfer Function from the jth Stage

• 1 j N

• Substitute k = RMl +v – Range of l that does not force v out of range

• l = 0, 1,…, [k/(RM)]

j = 1,2, …, N

NC

jNIj HHzH 1)( 11)1(

)1()(

jN

NRM

iz

zzH

)(

0 0

00

)1(

)1()(

vRMlN

l

l

v

v

v

N

l

lRMlj

zv

vjN

l

N

zv

vjNz

l

NzH

k

k

lRMk

lj z

RMlk

RMlkjN

l

NzH

0

/

0)1()(

Equation (4)

Equation (5)

Equation (6)

Page 176: Multirate DSP

176

Dimensional Analysis

• 1 < j < N– Divide numerator by denominator in Equation (4)

• Order of the polynomial in terms of z-1

– RM(j – 1) + (RM-1)(N-j+1) = (RM – 1)N + j – 1 Equation (8)

• Hence

11

0

1)1()(

jNRM

k

kjRMj zzzH Equation (7)

1)1(

0)()(

jNRM

k

kjj zkhzH Equation (9)

Page 177: Multirate DSP

177

Transfer Function from the jth Stage

• N < j 2N

• Overall Transfer Function

12

0

12

)1(

)1(12

)1(

)()(

jN

k

kRMk

jNRM

jNCj

zk

jN

z

zHzH Equation (10)

12

0

1)1(

0

)(

)()(

jN

k

kRMj

jNRM

k

kjj

zkh

zkhzHEquation (11)

j = 1, 2, … N

j = N+1, N+2, … 2N

Page 178: Multirate DSP

178

Maximum Register Growth• Maximum output magnitude resulting from the

worst possible input signal relative to the maximum input magnitude – If M2 is the maximum possible output when the worst

case input M1 is applied, the register growth Gmax is defined as• Gmax = M2/M1

• M2 = Gmax M1

• Impulse response from the jth stage onwards: hj(k)– For the worst case conditions, all the 2N stages of CIC filter have

to be considered

– The corresponding impulse response

• h1(k), k = 0 … (RM-1)N

Page 179: Multirate DSP

179

Evaluating Register Growth

• Output of the filter

• Taking the magnitude

– M1 is the maximum possible value of the input which gives an output of M2

• Maximum register growth

• Since all the coefficients are positive, |h1(k)| = h1(k)

NRM

kkhknxny

)1(

01 )()()(

NRM

kkhknxny

)1(

01 )()(|)(|

1|)(||)(||)(|)()(|)(|)1(

01

)1(

01

)1(

01 Mkhknxkhkhknxny

NRM

k

NRM

k

NRM

k

NRM

kkhMMG

)1(

01max |)(|1/2

Page 180: Multirate DSP

180

Evaluating Register Growth

• evaluated at z = 1

• Let Bin be the number of bits in the input data

– Bin = log2(M1),

– Bmax = output bits required when there is maximum register growth

)()( 1

)1(

01 zHkhNRM

k

NNRM

kz

RMzH )(1)(1

01

NNRM

k

NRM

kRMkhkhG )()(|)(|

)1(

01

)1(

01max

See Equation (11)

inBRMNMGB )(logloglog 22max2max

Page 181: Multirate DSP

181

Affects of Truncation and Rounding• In practice it may be necessary to truncate registers

• Truncation or rounding used to constrain Bmax

• Total of 2N+1 error sources – 2N sources from truncation/rounding at inputs to 2N filter

stages– Last error source from truncation/rounding at output register

• Assume each error source produces white noise uncorrelated with input and other error sources

• Error at jth source (ej) assumed to have uniform probability distribution in range [0 - ] – Bj = number of LSB's discarded at the jth source

jB2

Page 182: Multirate DSP

182

Mean and Variance of Error• Mean error at jth source

• Variance of error at jth source

• Output error mean and variance due to stage j

– Note: expressed in terms of impulse response from the jth stage to the output

• Total statistics at jth stage are sums of statistics for each impulse response coefficient

jBjB

jBjj xdxeE 22

1

2

1][

2

0

222 ])[(][])[( jjjjj eEeEeE

222

0

2 )2(3

1

2

1][ jB

jB

jBj dxxeE 2)2(

12

1 jBj

)(, kh jjkj )(22,

2 kh jjkj

Page 183: Multirate DSP

183

Mean and Variance of Error

• Total statistics at jth stage are sums of statistics for each impulse response coefficient

j = 1,2, … 2N

j = 2N+1

j = 1,2, … 2N

j = 2N+1

• Mean Error gain is zero except for j = 1 and 2N+1

j

kjjTj kh

)(

1

)(22

k

jjkhF

k

j kh )(

N

kRMkh )()(1

222j

jTj F

Page 184: Multirate DSP

184

Total Mean and Variance at Output

• Mean: affected by truncation/rounding at first and last sources

• Variance: affected by truncation/rounding at all error sources• Design decision

– Make variance from the first 2N error sources less than or equal to variance from last error source

– Distribute the error equally among these sources–

• Number of bits that can be discarded at each stage

)12(1

12

1

NTT

N

jTjT

12

1

22N

jTjT

N

FB Njj6

log2/1loglog 21222

212

22 62 Nj

jB

NF

Page 185: Multirate DSP

185

Design Example: What’s Possible• Design a filter to reduce sampling rate from 6MHz to 240 kHz

– passband = 30kHz – aliasing attenuation must be better than 60 dB with a fall off in the

passband of less than 3dB – number of bits in the input and output registers is 16

• Rate change factor R = 25

• Bandwidth relative to the low sampling rate fc = 30/240 = 1/8

• Filter with N = 4 and M = 1 results in an aliasing attenuation of 68.5dB, and passband attenuation of 0.9dB

• Number of LSBs discarded: B2N+1= Bmax - Bout = 19

• LSBs discarded at each stage is: 1, 6, 9, 13, 14, 15, 16, and 17

3516644.4*416)25(log4 2max B

Page 186: Multirate DSP

186

CIC References

• Eugene B Hogenauer, “An economical class of digital filters for decimation and interpolation,” IEEE Transactions on Acoustics, speech and signal processing, vol. ASSP-29, No. 2, pp. 155-162, April 1981

• Callie Riley et. al., ”High decimation digital filters,” ICASSP, vol. 3, pp. 1613-1616, 1991

• Alan Y. Kwentus, “Application of Filter sharpening to cascaded integrator comb decimation filters,” IEEE Transactions on Signal Processing, vol. 45, No. 2, pp. 457-467, 1997