0% found this document useful (0 votes)
155 views42 pages

Topic 1: Introduction: ELEN E4810: Digital Signal Processing

This document provides an overview and syllabus for the course ELEN E4810: Digital Signal Processing. The course covers topics such as digital signal processing concepts, basic operations on signals including addition, multiplication and time shifting, classes of sequences including periodic sequences, and using MATLAB for projects. Students will be evaluated based on homework, a midterm, final exam, and a final DSP implementation project. Example projects from past classes are also provided.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
155 views42 pages

Topic 1: Introduction: ELEN E4810: Digital Signal Processing

This document provides an overview and syllabus for the course ELEN E4810: Digital Signal Processing. The course covers topics such as digital signal processing concepts, basic operations on signals including addition, multiplication and time shifting, classes of sequences including periodic sequences, and using MATLAB for projects. Students will be evaluated based on homework, a midterm, final exam, and a final DSP implementation project. Example projects from past classes are also provided.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

ELEN E4810: Digital Signal Processing

Topic 1: Introduction
1.
2.
3.
4.

Course overview
Digital Signal Processing
Basic operations & block diagrams
Classes of sequences

Dan Ellis

2013-09-04

1. Course overview

Digital signal processing:


Modifying signals with computers
Web site:

http://www.ee.columbia.edu/~dpwe/e4810/
Book:
Mitra Digital Signal Processing
(3rd ed., 2005)
Instructor: [email protected]

Dan Ellis

2013-09-04

Grading structure

Homeworks: 20%

Midterm: 20%

Mainly from Mitra


Wednesday-Wednesday schedule
Collaborate, dont copy
One session

Final exam: 30%


Project: 30%

Dan Ellis

2013-09-04

Course project

Goal: hands-on experience with DSP


Practical implementation
Work in pairs or alone
Brief report, optional presentation
Recommend MATLAB
Ideas on website
Dont copy! Cite your sources!

Dan Ellis

2013-09-04

on web site

Example past projects

Solo Singing Detection


Guitar Chord Classifier
Speech/Music Discrimination
Room sonar
Construction equipment monitoring

Dan Ellis

DTMF decoder
Reverb algorithms
Compression algorithms
2013-09-04

MATLAB

Interactive system for numerical


computation
Extensive signal processing library
Focus on algorithm, not implementation
Access:

Columbia Site License:


https://portal.seas.columbia.edu/matlab/

Dan Ellis

Student Version (need Sig. Proc. toolbox)


Engineering Terrace 251 computer lab
2013-09-04

Course at a glance
DSP
wk11
x[n]

wk1/2

Discrete time
signals + systems

Fourier
domain

wk3

DTFT

Continuous time

X()

Systems

Filters

z-transform
wk4

FIR

DFT/FFT
wk10

wk5

wk6

IIR

Filter
design

wk7

FIR
Dan Ellis

2013-09-04

wk8

IIR

wk9
7

2. Digital Signal Processing

Signals:
Information-bearing function
E.g. sound: air pressure variation at a
point as a function of time p(t)
Dimensionality:
Sound: 1-Dimension
Greyscale image i(x,y) : 2-D
Video: 3 x 3-D: {r(x,y,t) g(x,y,t) b(x,y,t)}

Dan Ellis

2013-09-04

Example signals

Noise - all domains


Spread-spectrum phone - radio
ECG - biological
Music
Image/video - compression
.

Dan Ellis

2013-09-04

Signal processing

Modify a signal to extract/enhance/


rearrange the information
Origin in analog electronics e.g. radar
Examples

Dan Ellis

Noise reduction
Data compression
Representation for recognition/
classification
2013-09-04

10

Digital Signal Processing

DSP = signal processing on a computer


Two effects: discrete-time, discrete level
x(t)

x[n]

Dan Ellis

2013-09-04

11

DSP vs. analog SP

Conventional signal processing:


p(t)

p(t)

Processor

q(t)

Digital SP system:
A/D

Dan Ellis

p[n]

Processor

2013-09-04

q[n]

D/A

q(t)

12

Digital vs. analog

Pros

Noise performance - quantized signal


Use a general computer - flexibility, upgrde
Stability/duplicability
Novelty

Cons

Dan Ellis

Limitations of A/D & D/A


Baseline complexity / power consumption
2013-09-04

13

DSP example

Speech time-scale modification:


extend duration without altering pitch

Dan Ellis

2013-09-04

14

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

Dan Ellis

2013-09-04

15

Sequences
Can write a sequence by listing values:
{x[n]} = {. . . , 0.2, 2.2, 1.1, 0.2, 3.7, 2.9, . . .}

Dan Ellis

Arrow indicates where n=0


Thus,

2013-09-04

16

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


Left-sided

Dan Ellis

Right-sided
2013-09-04

17

Operations on sequences

Addition operation:

Adder

y[n]

x[n]

y[n] = x[n] + w[n]

w[n]

Multiplication operation

Dan Ellis

Multiplier x[n]

y[n]

y[n] = A

2013-09-04

x[n]
18

More operations

Product (modulation) operation:


y[n]

x[n]

Modulator

w[n]

y[n] = x[n]

w[n]

E.g. Windowing:
Multiplying an infinite-length sequence
by a finite-length window sequence
to extract a region

Dan Ellis

2013-09-04

19

Time shifting

Time-shifting operation:
where N is an integer
If N > 0, it is delaying operation

Unit delay x[n]

y[n]

If N < 0, it is an advance operation

Unit advance
y[n]

x[n]
Dan Ellis

2013-09-04

20

Combination of basic operations

Example

y[n] = 1 x[n] + 2 x[n 1]


+ 3 x[n 2] + 4 x[n 3]
Dan Ellis

2013-09-04

21

Up- and down-sampling

Certain operations change the effective


sampling rate of sequences by adding
or removing samples
Up-sampling = adding more samples
= interpolation
Down-sampling = discarding samples
= decimation

Dan Ellis

2013-09-04

22

Down-sampling

In down-sampling by an integer factor


M > 1, every M-th sample of the input
sequence is kept and M - 1 in-between
samples are removed:
xd [n] = x[nM ]
M

Dan Ellis

xd [n]

2013-09-04

23

Down-sampling

An example of down-sampling

3
Dan Ellis

2013-09-04

y[n] = x[3n]
24

Up-sampling

Up-sampling is the converse of downsampling: L-1 zero values are inserted


between each pair of original values.

xu [n] =

x[n/L] n = 0, L, 2L, . . .
0
otherwise
L

Dan Ellis

2013-09-04

25

Up-sampling

An example of up-sampling

3
not inverse of downsampling!
Dan Ellis

2013-09-04

26

Complex numbers

.. a mathematical convenience that lead


to simple expressions
A second imaginary dimension (j-1)
is added to all values.
Rectangular form: x = xre + jxim
where magnitude |x| = (xre2 + xim2)
and phase = tan-1(xim/xre)
Polar form: x = |x| ej = |x|cos + j |x|sin
j
! (! e =! cos ! + j sin )

Dan Ellis

2013-09-04

27

Complex math

imag

x+y

xim
+yim

xy
|y|
|x||y|

xim

Q F

|x|

yim
F

yre

Q
xre xre
+yre

real

Dan Ellis

When adding, real


and imaginary parts
add: (a+jb) + (c+jd)
= (a+c) + j(b+d)
When multiplying,
magnitudes multiply
and phases add:
rejsej = rsej(+)
Phases modulo 2

2013-09-04

28

Complex conjugate

Flips imaginary part / negates phase:


Conjugate x* = xre jxim = |x| ej()

Useful in resolving to real quantities:


x + x* = xre + jxim + xre jxim = 2xre
xx* = |x| ej() |x| ej() = |x|2
imag

x
|x|

x+x*
= 2xre
real

x*
Dan Ellis

2013-09-04

29

Classes of sequences

Useful to define broad categories

Finite/infinite (extent in n)

Real/complex:
x[n] = xre[n] + jxim[n]

Dan Ellis

2013-09-04

30

Classification by symmetry
Conjugate symmetric sequence:
Imag

if x[n] = xre[n] + jxim[n]

xim[n]
Real

then xcs[n] = xcs*[-n]

xre[n]

= xre[-n] jxim[-n]
n

Conjugate antisymmetric:
xca[n] = xca*[-n] = xre[-n] + jxim[-n]

Dan Ellis

2013-09-04

31

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

Dan Ellis

2013-09-04

32

Basic sequences

Unit sample sequence:


1

Shift in time:
[n - k]

k2

k1

k+1

k+2

k+3

Can express any sequence with :


{0,1,2..}= 0[n] + 1[n-1] + 2[n-2]..
Dan Ellis

2013-09-04

33

More basic sequences

Unit step sequence: [n] =

Relate to unit sample:

1,
0,

n 0
n<0

[n] = [n] [n 1]
[n] =

n
k=

Dan Ellis

[k]
2013-09-04

34

Exponential sequences

Exponential sequences are


eigenfunctions of LTI systems
General form: x[n] = An

If A and are real (and positive):

|| > 1
Dan Ellis

|| < 1
2013-09-04

35

Complex exponentials

x[n] = An

Constants A, can be complex :


A = |A|ej ; = e( + j!)
x[n] = |A| en ej(!n + )
I
scale

varying
magnitude

varying
phase

R
1 2
3 4
W

per-sample
phase advance
Dan Ellis

2013-09-04

W

36

Complex exponentials

Complex exponential sequence can


project down onto real & imaginary
axes to give sinusoidal sequences
1

x[n] = exp{( 12 + j 6 )n} e = cos + j sin


j

xre[n]

xim[n]

xre[n] = e-n/12cos(n/6) xim[n] = e-n/12sin(n/6)


Dan Ellis

2013-09-04

37

Periodic sequences

A sequence
satisfying
is called a periodic sequence with a
period N where N is a positive integer and
k is any integer.
Smallest value of N satisfying
is called the fundamental period

Dan Ellis

2013-09-04

38

Periodic exponentials

Sinusoidal sequence
and
complex exponential sequence
are periodic sequences of period N only if
o N = 2 r with N & r positive integers
Smallest value of N satisfying
is the fundamental period of the
sequence
r = 1 one sinusoid cycle per N samples
r > 1 r cycles per N samples
M
Dan Ellis

2013-09-04

39

Symmetry of periodic sequences

An N-point finite-length sequence xf[n]


defines a periodic sequence:

x[n] = xf [ n

N]

n modulo N

n N = n + rN
s.t. 0
n N < N, r

Symmetry of xf [n] is not defined


because xf [n] is undefined for n < 0

Define Periodic Conjugate Symmetric:

xpcs [n] =1/2 (x[n] + x [

=1/2 xf [n] + xf [N
Dan Ellis

2013-09-04

N ])

n]

n<N
40

Sampling sinusoids

Sampling a sinusoid is ambiguous:


1

0.5

-0.5

-1

10


x1 [n] = sin(!0n)
x2 [n] = sin((!0+2r)n) = sin(!0n) = x1 [n]
Dan Ellis

2013-09-04

41

Aliasing

E.g. for cos(!n), ! = 2r !0


all (integer) r appear the same after
sampling
We say that a larger ! appears
aliased to a lower frequency
Principal value for discrete-time
frequency: 0 !0
( i.e. less than 1/2 cycle per sample)

Dan Ellis

2013-09-04

42

You might also like