Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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
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]
2002-07-02Dan Ellis 3
Grading structure
� Homeworks: 20%� Mainly from Mitra
� Midterm: 20%� Half-class?
� Final exam: 30%
� Project: 30%
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
2002-07-02Dan Ellis 5
Example past projects
� DTMF decoder
� Reverb algorithms
� Guitar analysis
� Audio steganography
� Doppler simulation
� Compression algorithms
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)
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
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)}
2002-07-02Dan Ellis 9
Example signals
� Noise - all domains
� Spread-spectrum phone - radio
� ECG - biological
� Music
� Image/video - compression
� ….
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…
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
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]
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
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
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
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
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
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]
+
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 ⋅=
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 −=
2002-07-02Dan Ellis 21
Combination of basic operations
� Example
]3[]2[]1[][][ 4321 −+−+−+= nxnxnxnxny αααα
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
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
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
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
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
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θ
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|
φ
θ
θ+φ
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*
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]
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]
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
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
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
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
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
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]
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 +
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=
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”
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
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