moving average top 7

45
August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved Top Moving Average 7.2 All weights of the moving average (MA) are set to one: Simple “low pass” characteristic Low cost - no multiplies required. This filter might preferably be implemented use a power of two number of weights - why? y(k) x(k)

Upload: others

Post on 02-Feb-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopMoving Average 7.2

• All weights of the moving average (MA) are set to one:

• Simple “low pass” characteristic

• Low cost - no multiplies required.

This filter might preferably be implemented use a power of two numberof weights - why?

y(k)

x(k)

Page 2: Moving Average Top 7

Notes:

Developed by:

Top

This filter is a very simple low pass characteristic.

1MHz 2MHz 3MHz 4MHz 5MHzfrequency

Page 3: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopDifferentiator 7.3

• Two weight filter, with values of 1 and -1:

• Simple “high pass” magnitude response with no multiplies required.

• Output is: and in the z-domain:

and hence the differentiator transfer function is:

1

y(k)

x(k)

-1

y k( ) x k( ) x k 1–( )–=

Y z( ) X z( ) X z( )z 1––= Y z( ) X z( ) 1 z 1––[ ]=⇒

H z( ) Y z( )X z( )------------ 1 z 1––= =

Page 4: Moving Average Top 7

Notes:

Developed by:

Top

Inputing a constant value, ie. DC or 0 Hz will result in no output appearing after an initial transient. Hence thereis a spectral zero at 0Hz, i.e. a spectral zero is where the gain is precisely 0 in a linear scale, and if we attemptto represent in a log scale: . 20 0log ∞–=

Page 5: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopIntegrator 7.4

• Integrator is a single weight IIR filter:

• “Low pass” (infinite gain at DC) with no multiplies required.

• Output in the time domain is: and in the zdomain:

and hence the integrator transfer function is:

p(k) q(k)+

+

q k( ) p k( ) p k 1–( )+=

Q z( ) P z( ) Q z 1–( )+= Q z( ) 1 z 1––[ ] P z( )=⇒

G z( ) Q z( )P z( )------------ 1

1 z 1––-----------------= =

Page 6: Moving Average Top 7

Notes:

Developed by:

Top

If a feedback weight of b is introduced, where this is often refered to as a leaky integrator. Generallyspeaking for DSP for FPGAs/ASICs we will not be concerned with leaky integrators. If then the filterwould have a pole outside of the unit circle and would be diverging or unstable. .

An integrator and a differentiator are clearly perfect inverses of each other. From a spectral point of view it isinteresting to note that the differentiator has infinite attenuation at 0 Hz and the integrator has infinite gain at 0Hz,.... and any engineer knows infinity multiplied by zero, might just be 1 in many cases!

b 1<b 1>

p(k) q(k)b

G z( )H z( ) 11 z 1––------------------⎝ ⎠⎛ ⎞ 1 z 1––( ) 1= =

p(k)q(k)

1 -1

y(k)

y k( ) q k( ) q k 1–( )– p k( ) q k 1–( )+[ ] q k 1–( )– p k( )= = =

Page 7: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopComb Filter 7.5

• Weights set to 1 and -1 at either end of the filter.

• Simple multichannel frequency response - no multiplies required.

• Using the z-notation to represent the 8 delays we can show as:

1 -1

y(k)

x(k)

1

y(k)

x(k)

-1

z-8

Page 8: Moving Average Top 7

Notes:

Developed by:

Top

A comb filter with N sample delays (or N+1 weights) will have N evenly spaced spectral zeroes from 0 to fs/2.Therefore the 8 delay comb filter above will have 4 spectral zeroes from 0 to 5 MHz, at spacings of 1.25MHz,when the sample rate is set to fs = 10MHz.

1MHz 2MHz 3MHz 4MHz 5MHzfrequency6dB

Gai

n/dB

06

-20

-40

-60

Page 9: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopEight Weight Moving Average 7.6

• Consider again the moving average (MA); all weights of “1”

• True moving average if we scale the output by (left shift 3 places)-equivalent to all weights being 1/8.

• In the spectrum the moving average filter has N-1 spectral zeroes from0 to . In our case , we can see 4 spectral zeroes from 0 to .

y(k)

x(k)

1/8

H z( ) 1 z 1– z 2– z 3– z 4– z 5– z 6– z 7–+ + + + + + += 18---

18---

fs N 8= fs 2⁄

Page 10: Moving Average Top 7

Notes:

Developed by:

Top

To allow a numerical representation, we choose

We can see four spectral zeroes between 0 and , i.e. 8-1=7 spectral zeroes between 0 and .

fs 10 000 000, ,=

fs 2⁄ fsSystemView

200e+3

200e+3

1e+6

1e+6

1.8e+6

1.8e+6

2.6e+6

2.6e+6

3.4e+6

3.4e+6

4.2e+6

4.2e+6

0

-10

-20

-30

-40

-50

-60

Mag

nitu

de d

B

Frequency in Hz (dF = 2.441e+3 Hz)

20 Log |FFT| of Sink 2 (dB)

1MHz 2MHz 3MHz 4MHz 5MHzspectral zero frequency

0dB

-20dB

Page 11: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopNine Weight Moving Average (MA) 7.7

• All weights are “1”

• Multiplying by 1/9 is not so convenient......

y(k)

x(k)

1/9

H z( ) 1 z 1– z 2– z 3– z 4– z 5– z 6– z 7–+ + + + + + + z 8–+( )19---=

Page 12: Moving Average Top 7

Notes:

Developed by:

Top

For ease of numerical representation, we choose

We can see 4 spectral zeroes between 0 and , i.e. 9-1=8 spectral zeroes between 0 and .

fs 10 000 000, ,=

fs 2⁄ fsSystemView

200e+3

200e+3

1e+6

1e+6

1.8e+6

1.8e+6

2.6e+6

2.6e+6

3.4e+6

3.4e+6

4.2e+6

4.2e+6

0

-10

-20

-30

-40

-50

-60

Mag

nitu

de d

B

Frequency in Hz (dF = 2.441e+3 Hz)

20 Log |FFT| of Sink 2 (dB)

1MHz 2MHz 3MHz 4MHz 5MHzfrequency

0dB

-20dB

Page 13: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopCascade Integrator Comb (CIC) 7.8

• Generate a MA impulse response with CIC structure (see Slide 7.6)

• Note that:

• i.e an integrator and M comb weight CIC = M-1 weight MA

b=11 -1

y(k)

x(k)

1/8Integrator Comb

H z( ) 11 z 1––-----------------⎝ ⎠⎛ ⎞ 1 z 8––( ) 1 z 8––

1 z 1––-----------------= =

1 z 8––1 z 1––----------------- 1 z 1– z 2– z 3– z 4– z 5– z 6– z 7–+ + + + + + +=

Page 14: Moving Average Top 7

Notes:

Developed by:

Top

It is interesting to note that the integrator has infinite gain at DC and the comb filter has zero gain an DC!

CIC Advantages: CIC has Only two additions compare to 8 additions in MA.

CIC Disadvantages: CIC requires 9 storage registers, and MA requires only 7 storage register.

1 z 8––1 z 1––----------------- 1 z 1– z 2– z 3– z 4– z 5– z 6– z 7–+ + + + + + +=

1 z 8–– 1 z 1– z 2– z 3– z 4– z 5– z 6– z 7–+ + + + + + +( ) 1 z 1––( )=

1 z 8–– 1 z 1– z 2– z 3– z 4– z 5– z 6– z 7–+ + + + + + += z 1–– z 2–– z 3–– z 4–– z 5–– z 6–– z 7– z 8–––

Page 15: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopIntegrator Overflow 7.9

• The integrator of the CIC has infinite gain at DC (0 Hz).

• Therefore consider the input of a step signal to the CIC:

• The integrator output “grows” unbounded for the step input.

b=11 -1

y(k)

x(k)

u k( )

z k( )

z(k)

123

Page 16: Moving Average Top 7

Notes:

Developed by:

Top

Eventually the integrator output will overflow.....

To address this we can use modulo arithmetic.

Page 17: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopCascade of CICs 7.10

• We can cascade CIC filters to produce “better” low pass characteristics:

• Cascade of 5 CICs of 8th order MA filters:

• Note however the baseband droop is “worse”.

CIC CIC CIC CIC CIC

b=11 -1

x(k)

1/8

CIC

Page 18: Moving Average Top 7

Notes:

Developed by:

Top

Plots of CIC and cascade of 5 CICs for 8th order moving average. SystemView

200e+3

200e+3

1.2e+6

1.2e+6

2.2e+6

2.2e+6

3.2e+6

3.2e+6

4.2e+6

4.2e+6

0

-20

-40

-60

-80

-100

Mag

nitu

de d

B

Frequency in Hz (dF = 2.441e+3 Hz)

Overlay w2: 20 Log |FFT| of Sink 2 (dB), w3: 20 Log |FFT| of Sink 6 (dB)

1MHz 2MHz 3MHz 4MHz 5MHzfrequency

0dB

-20dB

-40dB

5th Order CIC

baseband “droop”

1st Order CIC

Page 19: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopRecovery of an IF modulated Signal 7.11

• Consider the following scenario:

• Signal of interest centered at

• Signal bandwidth = 100kHz

• Sampling rate,

• Requirement is to recover the IF signal at baseband frequencies usingas low computation as possible.

fc 2.5MHz=

fs 10MHz=

1MHz 2MHz 3MHz 4MHz 5MHz

frequencyMag

nitu

de

0fs 2⁄

100kHz

Page 20: Moving Average Top 7

Notes:

Developed by:

Top

This bandpass signal has been created by simple amplitude modulation:

Amplitude of a “high” frequency carrier sinusoid is varied in proportion to the amplitude of signal with lowerfrequency components.

Carrier

Signal

Modulated Signal

f t( )

2.5MHz

Mag

nitu

de

0 freq

50kHz

Mag

nitu

de

0 freq

2.5MHz

Mag

nitu

de

0 freq

s t( ) c t( ) f t( )×=

Modulated Signal

Mag

nitu

de

0 freq

Page 21: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopRecovery of an IF modulated Signal 7.12

• When the signal is received, the spectrum outside of the 50kHz bandof interest is likely to be occupied with other signals and noise:

• To recover we require to demodulate to baseband and then low passfilter to recover the signal.

frequency

Mag

nitu

de

1MHz 2MHz 3MHz 4MHz 5MHz0

100kHz

Page 22: Moving Average Top 7

Notes:

Developed by:

Top

Page 23: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopDemodulation of Signal 7.13

• Sampling with a high frequency ADC we can first digitally demodulatethe signal:

ADC

fs 10MHz=

2.5MHz cosine

1MHz 2MHz 3MHz 4MHz 5MHz frequency

Mag

nitu

de

0

1MHz 2MHz 3MHz 4MHz 5MHzfrequency

Mag

nitu

de

0

AntiAlias

Page 24: Moving Average Top 7

Notes:

Developed by:

Top

Page 25: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopDemodulation of Signal 7.14

• ....then low pass filter:

ADCLow Pass

Digital Filter

fs 10MHz=

2.5MHz cosine

1MHz 2MHz 3MHz 4MHz 5MHzfrequency

Mag

nitu

de

0

1MHz 2MHz

Mag

nitu

de

0

2701 weights

AntiAlias

50kHz

50kHz

1MHz 2MHz 3MHz 4MHz 5MHz frequency

Mag

nitu

de

0

Page 26: Moving Average Top 7

Notes:

Developed by:

Top

Cost of Digital Filter

MACs/sec = 10,000,000 x 2701 = 27,010,000,000 = 27 billion MACs/sec!

Page 27: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopBut remember the Downsampling...! 7.15

• ....then low pass filter:

ADCLow Pass

Digital Filter

fs 10MHz=

2.5MHz cosine

50kHz

frequency

Mag

nitu

de

0

20MHz 40MHz

Mag

nitu

de

0

2701 weights

40

fs 250kHz=

AntiAlias

50kHz

1MHz 2MHz 3MHz 4MHz 5MHz frequency

Mag

nitu

de

0

Page 28: Moving Average Top 7

Notes:

Developed by:

Top

In this example the final required sample rate is 250kHz and hence as we have bandlimited we can nowdownsample by a factor of 40.

Cost of Digital Filter

MACs/sec = 10,000,000/40 x 2701 = 270,100,000 = 675 million MACs/sec!

Page 29: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopCIC stage for Decimation 7.16

• Consider now designing the low pass filter to extract 0 to 50kHz usinga cascade of low cost simpler filters. Is there a cost saving?

• If we low pass filter the signal of interest with the 5th order CIC thendownsample by 2 to 5MHz, then the aliasing of higher frequencysignals comes from frequency regions where the energy is very low.

1MHz 2MHz 3MHz 4MHz 5MHzfrequency

Gai

n

5th Order CIC

0dB

-100dB

50kHz50kHz

Input signal spectrum from 0 to 5MHz

2

fs=10MHz fs=5MHz

5th Order CIC

Page 30: Moving Average Top 7

Notes:

Developed by:

Top

The output spectrum almost leaves the 0 to 50kHz signal untouched in and attentuates the signal energy above50kHz as below.

1MHz 2MHz 3MHz 4MHz 5MHzfrequency

Gai

n

5th Order CIC

0dB

-100dB

50kHz50kHz

Output signal spectrum from 0 to 5MHz

Aliasing region

Page 31: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopFinal Stage Decimation 7.17

• Noting the other empty spectral regions we could downsample by 4:

....in fact we could probably downsample by 8:

1MHz 2MHz 3MHz 4MHz 5MHzfrequency

Gai

n

5th Order CIC

0dB

-100dB

2.5MHz

1MHz 2MHz 3MHz 4MHz 5MHzfrequency

Gai

n

5th Order CIC

0dB

-100dB

1.25MHz 2.5MHz 3.75MHz

Page 32: Moving Average Top 7

Notes:

Developed by:

Top

4

fs=10MHz fs=2.5MHz

5th Order CIC

8

fs=10MHz fs=1.25MHz

5th Order CIC

Page 33: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopDownsampling Values 7.18

• We can then perform a final stage of decimation using a standard lowpass filter:

• Therefore we are now anticipating that the above staged decimation issimilar to the one step decimation presented earlier (and shown below):

8fs=10MHz fs=1.25MHz

5th Order CIC

Low PassFilter

0.625MHz50kHz

5

171 weights

fs=250kHz

40fs=10MHz

Low PassFilter fs=250kHz

2701 weights

Page 34: Moving Average Top 7

Notes:

Developed by:

Top

Page 35: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopCost Comparison 7.19

• One stage Low Pass Filter decimation:

• 2701 weights, 10MHz sampling, Downsample 40

• 5th Order CIC and low pass (at = 1.25MHz)

• 171 weights, 1.25MHz sampling, Downsample 5

• 5 CICs with 2 adds each at 10MHz = 100 million adds/sec

• Computation reduced by a factor of almost 16!

2701 10 000 000, ,×40

---------------------------------------------------- 675.25 million MACs/sec=

fs

171 1 250 000, ,×5

--------------------------------------------- 42.75 million MACs/sec=

Page 36: Moving Average Top 7

Notes:

Developed by:

Top

Page 37: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopCIC Droop 7.20

• One difference we have ignored so far is the “droop” at low frequenciesof the CIC low pass filter:

200e+3 1.2e+6 2.2e+6 3.2e+6 4.2e+6

0

-20

-40

-60

-80

-100

Mag

nitu

de d

B

Frequency in Hz (dF = 2.441e+3 Hz)1MHz 2MHz 3MHz 4MHz 5MHzfrequency

0dB

-20dB

-40dB

5th Order CIC

baseband “droop”

1st Order CIC

Page 38: Moving Average Top 7

Notes:

Developed by:

Top

Careful viewing of the spectrum shows that the droop is around 0.5dB:

frequency

0.45dB

100kHz

Gain

0dB

Page 39: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopCorrecting the Droop 7.21

• So how do we correct the droop?

• Incorporate a “lift” in passband of the final stage low pass filter:

• ....therefore the decision of this final stage filter must be done verycarefully to correct for the droop.

0.625MHz50kHz

0.5dB

Page 40: Moving Average Top 7

Notes:

Developed by:

Top

Page 41: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopCIC Implementation 7.22

• Consider the 3rd order CIC cascade shown below with a final stagedownsampler:

• We can rearrange the order of the filtering:

1 -1

IntegratorComb

z-1

z-8

1 -1

IntegratorComb

z-1

z-8

1 -1

IntegratorComb

z-1

z-8

8

Integrator

z-1

Integrator

z-1

Integrator

z-11 -1

Comb

z-8

1 -1

Comb

z-8

1 -1

Comb

z-8

8

Page 42: Moving Average Top 7

Notes:

Developed by:

Top

We can represent the comb filter more compactly using the z-1 notation for a delay:

1 -1y(k)

x(k)

Integrator Comb

1 -1y(k)

x(k)

Integrator Comb

z-1

z-1 z-1 z-1 z-1 z-1 z-1 z-1 z-1

z-1

z-8

8 delays

Page 43: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopCIC Implementation 7.23

• Based on the noble identity we can move the downsampler to beforethe comb filters:

• Hence the comb filters now run at the downsampled rate, and requirefewer registers for implementation.

Integrator

z-1

Integrator

z-1

Integrator

z-11 -1

Comb

z-1

1 -1

Comb

z-1

1 -1

Comb

z-18

Page 44: Moving Average Top 7

Notes:

Developed by:

Top

The noble identity allows the two systems below to be demonstrated to be equivalent.:

y(k)

1 -1y(k)

Comb

z-1

8

8x(k)

1 -1

Comb

z-8x(k)

Page 45: Moving Average Top 7

August 2007, Version 3.8/21/07 For Academic Use Only. All Rights Reserved

TopCIC Filter study 7.24

• In the next few slides the Cascaded Integrator-Comb filter is examinedin more detail. This will cover the following areas:

• Introduction to the CIC filter and some examples of where itmay be used

• An examination of word length growth in CIC filters and how‘bit-pruning’ may be used to reduce resource consumption

• The Sharpened CIC (SCIC) filter structure: how it differs fromthe CIC filter and where its use is appropriate

• The Interpolated Second Order Polynomial (ISOP) filter: analternative to the SCIC filter for compensating for CIC filterpassband droop

• A discussion of the costs and benefits of CIC and SCIC filterscompared with non-recursive, ‘moving average’-based filterstructures