42
2002-07-02 Dan Ellis 1 ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital Signal Processing 3. Basic operations & block diagrams 4. Classes of sequences

ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 1

ELEN E4810: Digital Signal Processing

Week 1: Introduction

1. Course overview

2. Digital Signal Processing

3. Basic operations & block diagrams

4. Classes of sequences

Page 2: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 2

1. Course overview

� Digital signal processing:Modifying signals with computers

� Web site:http://www.ee.columbia.edu/~dpwe/e4810/

� Book:Mitra “Digital Signal Processing” (2nd ed.)2001 printing

� Instructor: [email protected]

Page 3: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 3

Grading structure

� Homeworks: 20%� Mainly from Mitra

� Midterm: 20%� Half-class?

� Final exam: 30%

� Project: 30%

Page 4: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 4

Course project

� Goal: hands-on experience with DSP

� Practical implementation

� Work alone or in pairs

� Brief report, optional presentation

� Recommend MATLAB

� Ideas on website

Page 5: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 5

Example past projects

� DTMF decoder

� Reverb algorithms

� Guitar analysis

� Audio steganography

� Doppler simulation

� Compression algorithms

Page 6: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 6

MATLAB

� Interactive system for numericalcomputation

� Extensive signal processing library

� Focus on algorithm, not implementation

� Access: Eng. Terr. lab, Student Version(need Signal Processing toolbox),ILAB (form)

Page 7: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 7

Course at a glanceDSP

Continuous timeDiscrete time signals + systems

Fourierdomain

Systems

DTFT Filters

FIR IIR

FIR IIR

Filterdesign

z-transform

DFT/FFT

n

x[n]

ω

X(ω)

ω

wk1/2

wk3

wk4

wk5

wk6 wk7

wk8 wk9

wk11

wk10

Page 8: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 8

2. Digital Signal Processing

� Signals:Information-bearing function

� E.g. sound: air pressure variation at apoint as a function of time p(t)

� Dimensionality:Sound: 1-DimensionGreyscale image i(x,y) : 2-DVideo: 3 x 3-D: {r(x,y,t) g(x,y,t) b(x,y,t)}

Page 9: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 9

Example signals

� Noise - all domains

� Spread-spectrum phone - radio

� ECG - biological

� Music

� Image/video - compression

� ….

Page 10: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 10

Signal processing

� Modify a signal to extract/enhance/rearrange the information

� Origin in analog electronics e.g. radar

� Examples…� Noise reduction

� Data compression

� Representation forrecognition/classification…

Page 11: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 11

Digital Signal Processing� DSP = signal processing on a computer

� Two effects: discrete-time, discrete level

time

x

time

x

T

time

x

ε

time

x

T

ε

Continuous time Discrete timeD

iscr

ete

valu

eC

ontin

uous

va

lue

Page 12: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 12

DSP vs. analog SP

� Conventional signal processing:

� Digital SP system:

Processorp(t) q(t)

Processorp(t) q(t)A/D D/Ap[n] q[n]

Page 13: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 13

Digital vs. analog

� Pros� Noise performance - quantized signal

� Use a general computer - flexibility, upgrde

� Stability/duplicability

� Novelty

� Cons� Limitations of A/D & D/A

� Baseline complexity / power consumption

Page 14: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 14

DSP example

� Speech time-scale modification:extend duration without altering pitch

M

0 0.05 0.1 0.15 0.2 0.25 0.1

0

0.1

0.2

0 0.05 0.1 0.15 0.2 0.25 0.1

0

0.1

0.2

time / sec

Page 15: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 15

3. Operations on signals� Discrete time signal often obtained by

sampling a continuous-time signal

� Sequence {x[n]} = xa(nT), n=…-1,0,1,2…� T= samp. period; 1/T= samp. frequency

Page 16: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 16

Sequences

� Can write a sequence by listing values:

� Arrow indicates where n=0

� Thus,

},9.2,7.3,2.0,1.1,2.2,2.0,{]}[{ KK −−=↑

nx

,2.0]1[ −=−x ,2.2]0[ =x ,1.1]1[ =x

Page 17: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 17

Left- and right-sided

� x[n] may be defined only for certain n:� N1 ≤ n ≤ N2: Finite length (length = …)

� N1 ≤ n: Right-sided (Causal if N1 ≥ 0)

� n ≤ N2: Left-sided (Anticausal)

� Can always extend with zero-padding

nN1

2Nn

Right-sidedLeft-sided

Page 18: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 18

Operations on sequences

� Addition operation:

� Adder

� Multiplication operation

� Multiplier

][][][ nwnxny +=

Ax[n] y[n] ][][ nxAny ⋅=

x[n] y[n]

w[n]

+

Page 19: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 19

More operations

� Product (modulation) operation:

� Modulator

� E.g. Windowing: multiplying an infinite-length sequence by a finite-lengthwindow sequence to extract a region

×x[n] y[n]

w[n] ][][][ nwnxny ⋅=

Page 20: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 20

Time shifting

� Time-shifting operation:

where N is an integer

� If N > 0, it is delaying operation� Unit delay

� If N < 0, it is an advance operation� Unit advance

y[n]x[n] z

1−z y[n]x[n]

][][ 1−= nxny

][][ 1+= nxny

][][ Nnxny −=

Page 21: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 21

Combination of basic operations

� Example

]3[]2[]1[][][ 4321 −+−+−+= nxnxnxnxny αααα

Page 22: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 22

Up- and down-sampling

� Certain operations change the effectivesampling rate of sequences by addingor removing samples

� Up-sampling = adding more samples =interpolation

� Down-sampling = discarding samples =decimation

Page 23: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 23

Down-sampling

� In down-sampling by an integer factor

M > 1, every M-th samples of the inputsequence are kept and M - 1 in-betweensamples are removed:

][][ nMxny =

][nx ][nyM

Page 24: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 24

Down-sampling

� An example of down-sampling

0 10 20 30 40 50-1

-0.5

0

0.5

1

0 10 20 30 40 50-1

-0.5

0

0.5

1

Page 25: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 25

Up-sampling

� Up-sampling is the converse of down-sampling: L-1 zero values are insertedbetween each pair of original values.

±±=

=otherwise,0

,2,,0],/[][

LLLnLnxnxu

L][nx ][nxu

Page 26: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 26

Up-sampling

� An example of up-sampling

0 10 20 30 40 50-1

-0.5

0

0.5

1

0 10 20 30 40 50-1

-0.5

0

0.5

1

Page 27: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 27

Complex numbers

� Complex numbers are a mathematicalconvenience that lead to simpleexpressions. A 2nd “imaginary”dimension (j≡√-1) is added to all values.

� Rectangular form: x = xre + j·xim

where magnitude |x| = √(xre2 + xim

2) and phase θ = tan-1(xim/xre)

� Polar form: x = |x| ejθ = |x|cosθ + j· |x|sinθ

Page 28: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 28

Complex math� When adding, real

and imaginary partsadd: (a+jb) + (c+jd) =(a+c) + j(b+d)

� When multiplying,magnitudes multiplyand phases add:rejθ·sejφ = rsej(θ+φ)

� Phases modulo 2π

real

imag

xre xre +yre

xim +yim

yre

x+y

x·y

xim

yim

|x|

|y|

|x|·|y|

φ

θ

θ+φ

Page 29: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 29

Complex conjugate

� Flips imaginary part / negates phase:conjugate x* = xre – j·xim = |x| ej(–θ)

� Useful in resolving to real quantities: x + x* = xre + j·xim + xre – j·xim = 2xre

x·x* = |x| ej(θ) |x| ej(–θ) = |x|2

real

imag

|x|

θ

xx+x* = 2xre

x*

Page 30: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 30

Classes of sequences

� Useful to define broad categories…

� Finite/infinite (extent in n)

� Real/complex: x[n] = xre[n] + j·xim[n]

Page 31: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 31

Classification by symmetry� Conjugate symmetric sequence:

x[n] = x*[-n] = xre[-n] – j·xim[-n]

� Conjugate antisymmetric:x[n] = –x*[-n] = –xre[-n] + j·xim[-n]

Real

nIm

ag

xre[n]

xim[n]

Page 32: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 32

Conjugate symmetric decomposition� Any sequence can be expressed as

conjugate symmetric (CS) /antisymmetric (CA) parts:

x[n] = xcs[n] + xca[n]where:

xcs[n] = 1/2(x[n] + x*[-n]) = xcs *[-n]xca[n] = 1/2(x[n] – x*[-n]) = -xca *[-n]

� When signals are real,CS =>Even (xre[n] = xre[-n]), CA => Odd

Page 33: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 33

Basic sequences� Unit sample sequence -

� Shift in time: δ[n - k]

� Can express any sequence with δ:{α0,α1,α2..}= α0δ[n] + α1δ[n-1] + α2δ[n-2]..

==

0,0

0,1][

n

nnδ

1

–4 –3 –2 –1 0 1 2 3 4 5 6n

1

k–2 k–1 k k+1 k+2 k+3 n

Page 34: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 34

More basic sequences

� Unit step sequence -

� Related to unit sample: δ[n] = µ[n] - µ[n-1] µ[n] = Σn

k=-∞ δ[k]

<

≥=

0,0

0,1][

n

nnµ

–4 –3 –2 –1 0 1 2 3 4 5 6

1

n

Page 35: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 35

Exponential sequences

� Exponential sequences= eigenfunctions� General form: x[n] = A·αn

� If A and α are real:

0 5 10 15 20 25 300

10

20

30

40

50

0 5 10 15 20 25 300

5

10

15

20

|α| > 1 |α| < 1

Page 36: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 36

Complex exponentialsx[n] = A·αn

� Constants A, α can be complex :A = |A|ejφ ; α = e(σ + jω)

=> x[n] = |A| eσn ej(ωn + φ)

scale varyingmagnitude

varyingphase R

I

n

1 2 3 4

ω

ω4ω

per-sample phase advance

Page 37: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 37

Complex exponentials� Complex exponential sequence can

‘project down’ onto real & imag axes togive sinusoidal sequences

xre[n] = en/12cos(πn/6) xim[n] = en/12sin(πn/6) M0 10 20 30 40

-1

-0.5

0

0.5

1

0 10 20 30 40-1

-0.5

0

0.5

1

njnx )exp(][612

1 π+−=

xre[n] xim[n]

Page 38: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 38

Periodic sequences

� A sequence satisfyingis called a periodic sequence with aperiod N where N is a positive integer andk is any integer. Smallest value of Nsatisfyingis called the fundamental period

][~ nx ],[~][~ kNnxnx +=

=][~ nx ][~ kNnx +

Page 39: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 39

Periodic exponentials� Sinusoidal sequence and

complex exponential sequence

are periodic sequences of period N only if

, with N & r positive integers

� Smallest value of N satisfying

is the fundamental period of thesequence

� r = 1 => one sinusoid cycle per N samplesr > 1 => r cycles per N samples M

)cos( φω +nA o

)exp( njB oω

rNo πω 2=

rNo πω 2=

Page 40: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 40

Symmetry of periodic sequences

� An N-point finite-length sequence definesa periodic sequence: x[n] = xf[<n>N]

� Symmetry of xf [n] undefinedbecause xf [n] undefined for n < 0

� Define Periodic Conjugate Symmetric: xpcs [n] = 1/2(x[n] + x*[<-n >N]) = 1/2(x[n] + x*[N – n]) 0 ≤ n < N

“n modulo N”

Page 41: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 41

Sampling sinusoids

� Sampling a sinusoid is ambiguous:

� x1 [n] = sin(ω0n) x2 [n] = sin((ω0+2π)n) = sin(ω0n) = x1 [n]

0 1 2 3 4 5 6 7 8 9 10 1

0.5

0

0.5

1

Page 42: ELEN E4810: Digital Signal Processing Week 1: Introductiondpwe/classes/e4810-2002-09/l... · ELEN E4810: Digital Signal Processing Week 1: Introduction 1. Course overview 2. Digital

2002-07-02Dan Ellis 42

Aliasing

� E.g. for cos(ωn), ω = 2πr ± ω0 all appearthe same after sampling

� We say that a larger ω appears asaliased to a lower frequency

� Principal value for discrete-timefrequency: 0 ≤ ω0 ≤ π i.e. less than one-half cycle per sample