Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Week 1: Introduction
1. Course overview
2. Digital Signal Processing
3. Basic operations & block diagrams
4. Classes of sequences
Speech enhancement
Audio watermarking
Voice alteration with the Phase Vocoder
DTMF decoder
Reverb algorithms
Compression algorithms
W
X()
Fourier Systems wk5
wk3 domain
wk4 Filter
FIR IIR design
DFT/FFT
wk10 wk6 wk7
FIR wk8 IIR wk9
x(t)
Continuous
value
time time
T
x x
x[n]
Discrete
value
time time
T
Dan Ellis 2003-09-02 11
DSP vs. analog SP
Conventional signal processing:
p(t) Processor q(t)
Digital SP system:
p[n] q[n]
p(t) A/D Processor D/A q(t)
0.1
0.1
0 0.05 0.1 0.15 0.2 0.25
0.2
0.1
0.1
0 0.05 0.1 0.15 0.2 0.25 M
time / sec
Left-sided Right-sided
Multiplication operation
A
Multiplier x[n] y[n]
y[n] = A x[n]
1 x[n] + 2 x[n 1]
y[n] =
+ 3 x[n 2] + 4 x[n 3]
x[n] M xd [n]
0.5 0.5
0 0
-0.5 -0.5
-1 -1
0 10 20 30 40 50 0 10 20 30 40 50
x[n] L xu [n]
0.5 0.5
0 0
-0.5 -0.5
-1 -1
0 10 20 30 40 50 0 10 20 30 40 50
x[n] 3 xu [n]
not inverse of downsampling!
Phases modulo 2
Dan Ellis 2003-09-02 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
|x| ej() |x| ej() = |x|2
xx* =imag
x
|x|
x+x*
= 2xre
real
x*
Dan Ellis 2003-09-02 29
Classes of sequences
Useful to define broad categories
Finite/infinite (extent in n)
Real/complex:
x[n] = xre[n] + jxim[n]
Imag
xim[n]
Real
xre[n]
Conjugate antisymmetric:
xca[n] = xca*[-n] = xre[-n] + jxim[-n]
Dan Ellis 2003-09-02 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 2003-09-02 32
Basic sequences
1, n = 0
Unit sample sequence: [ n] =
1
0, n 0
n
4 3 2 1 0 1 2 3 4 5 6
1
Shift in time:
[n - k] n k2 k1 k k+1 k+2 k+3
n
4 3 2 1 0 1 2 3 4 5 6
40
15
30
10
20
10 5
0 0
0 5 10 15 20 25 30 0 5 10 15 20 25 30
|| > 1 || < 1
Dan Ellis 2003-09-02 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 varying
phase R
magnitude
1 2
3 4
4 n
per-sample
phase advance
-0.5 -0.5
-1 -1
0 10 20 30 40 0 10 20 30 40
0.5
0.5
1
0 1 2 3 4 5 6 7 8 9 10
x1 [n] = sin(0n)
x2 [n] = sin((0+2)n) = sin(0n) = x1 [n]