sampling, reconstruction, and elementary digital filters r.c. maher ecen4002/5002 dsp laboratory...

21
Sampling, Reconstruction, and Elementary Digital Filters R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002

Post on 20-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Sampling, Reconstruction, and Elementary Digital Filters

R.C. Maher

ECEN4002/5002 DSP Laboratory

Spring 2002

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 2

Sampling and Reconstruction

• Need to understand relationship between a continuous-time signal f(t) and a discrete-time (sampled) signal f(kT), where T is the time between samples (T=1/fs)

dejFkTf kTj)(2

1)(

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 3

Sampling (cont.)

• After some manipulation, can show:

n

T

T

kTj

n

T

njF

TDTFT

deT

njF

T

TkTf

21

21

2)(

1

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 4

Sampling Effects: Frequency DomainXc(j)

N-N

XS(j)

N-N S-S 2S-2S

S-S 2S-2S

XS(j)

S > 2 N

S < 2 N (aliasing)

Fourier Transform of continuous function

Fourier Transform of sampled function

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 5

Reconstruction

• Since spectrum of sampled signal consists of baseband spectrum and spectral images shifted at multiples of 2π/T, reconstruction means isolating the baseband image

• Concept: lowpass filter to pass baseband while removing images

XS(j)

N-N S-S 2S-2S

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 6

Reconstruction (cont.)

• Multiplication by rectangular pulse in frequency domain (LPF) corresponds to convolution by sinc( ) function in time domain

• Because sinc( ) is non-causal and of infinite extent, practical reconstruction requires an approximation to the ideal case

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 7

Delay Lines

• In order to create a frequency-selective function, there must be a delay memory so that the function is able to observe and resolve the frequencies present in the signal

• Digital filters used tapped delay lines to create the z-1 (delay) terms in the z-transform

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 8

Delay Lines (cont.)

Z-1

Z-1

Z-1

+h0

h1

h2

h3

x[n]

x[n-1]

y[n]

x[n-2]

x[n-3]

3

0

)(n

nn zhzH

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 9

Delay Lines (cont.)

• Delay lines can be implemented easily as a one dimensional array or FIFO in DSP memory

• Typically use an address register to point to array, then just increment pointer instead of copying data to achieve the delay

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 10

Modulo Buffers

• DSP supports modulo arithmetic in the address generation unit

• With modulo buffer, incrementing or decrementing address register “rolls over” automatically at beginning and ending of buffer memory range

• Modulo buffers are useful for delay stages in filters and other FIFO queue structures

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 11

Modulo Buffers (cont.)

• Modulo calculations keep address pointer within a fixed range of memory locations

Modulo NBuffer

Memory

N memory locations

Base Address

Base Address + N -1

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 12

56300 Modulo Buffers

• The M registers in the AGU select the modulo size of the buffer– M = $FFFFFF implies no modulo (regular

linear addressing)– M = 0 implies bit-reversed addressing (useful in

FFT algorithms)– M = ‘modulo’-1 implies address range

including ‘modulo’ memory locations (2modulo $7FFF)

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 13

56300 Modulo (cont.)

• The base address of the modulo buffer must be a power of 2

• The base address must either be zero, or a power of 2 that is greater than or equal to the modulo

• In other words, the base address must be 2k, where 2kmodulo, which implies k least significant bits must be zero

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 14

FIR Filter

• FIR filter coefficients are equal to the unit sample response of the filter

• Given filter specifications, we need to choose a unit sample response that is “close” to the desired response, yet within the implementation constraints (memory, computational complexity, etc.)

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 15

FIR Filter Design

• Several FIR design techniques are available• Consider the Window method:

– Determine ideal response function– If length of ideal function is too long, multiply

ideal response by a finite length window function

– Note that multiplication by window in time domain means convolution (and smearing) in the frequency domain

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 16

FIR Window Design Concept• Lowpass filter: cutoff at 0.2 fs .

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

0.2

0.4

0.6

0.8

1

1.2

Frequency (fraction of fs)

Am

plit

ud

e (

line

ar

sca

le)

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 17

FIR Design Concept (cont.)• Time domain response (Inverse DTFT)

-60 -40 -20 0 20 40 60-0.1

-0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

Sample Index

Am

plitu

de

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 18

FIR Design Concept• Window function to limit response length

-60 -40 -20 0 20 40 60-0.2

0

0.2

0.4

0.6

0.8

1

1.2

Sample Index

Am

plitu

de

Hamming window

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 19

FIR Design Concept (cont.)• Windowed and shifted (causal) result

0 5 10 15 20 25 30 35 40-0.1

-0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

Am

plitu

de

Sample Index

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 20

FIR Design Concept• Resulting frequency response of filter

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-60

-50

-40

-30

-20

-10

0

10

Frequency (fraction of fs)

Mag

nitu

de (

dB)

ECEN4002 Spring 2002 Delay Lines and Simple Filters R. C. Maher 21

Lab Assignment #2

• Due at START of class in two weeks• Topics:

– Sampling and reconstruction (MATLAB)– Program #1: Cycle counting– Program #2: Simple delay line– Program #3: File I/O via Debugger– Program #4: FIR filter, non-real time– Program #5: FIR filter, real time