You are on page 1of 37

Analog & digital signals

Analog

Digital
Discrete function Vk of
discrete sampling variable tk,
with k = integer: Vk = V(tk).

0.3

0.3

0.2

0.2

Voltage [V]

Voltage [V]

Continuous function V of
continuous variable t (time,
space etc) : V(t).

0.1
0
-0.1
-0.2

0.1
0
ts ts

-0.1
-0.2

4
6
time [ms]

10

6
8
2
4
sampling time, tk [ms]

Uniform (periodic) sampling.


Sampling frequency fS = 1/ tS

Slides adapted from ME Angoletta, CERN

10

Digital vs analog procing


Digital Signal Processing (DSPing)
Advantages

Limitations

Often easier system upgrade.

A/D & signal processors speed:


wide-band signals still difficult to
treat (real-time systems).

Data easily stored.

Finite word-length effect.

Better control over accuracy


requirements.

Obsolescence (analog
electronics has it, too!).

More flexible.

Reproducibility.

Slides adapted from ME Angoletta, CERN

Digital system example


General scheme

ms

Antialiasing

Sometimes steps missing

ms
A

(ex: economics);

- D/A + filter
(ex: digital output wanted).

A
k
V

Digital
Processing

D/A
Filter

Reconstruction
ms

Slides adapted from ME Angoletta, CERN

ANALOG
DOMAIN

ms

A/D
DIGITAL
DOMAIN

- Filter + A/D

Filter

ANALOG
DOMAIN

Digital system implementation


ANALOG INPUT

Antialiasing
Filter

KEY DECISION POINTS:


Analysis bandwidth, Dynamic range

Pass / stop bands.

Sampling rate.

A/D

No. of bits. Parameters.

Digital
Processing
DIGITAL OUTPUT

Digital format.
What to use for processing?
See slide DSPing aim & tools

Slides adapted from ME Angoletta, CERN

2
3

Sampling

How fast must we sample * a continuous


signal to preserve its info content?
Ex: train wheels in a movie.
25 frames (=samples) per second.
Train starts

wheels go clockwise.

Train accelerates

wheels go counter-clockwise.

Why?
Frequency misidentification due to low sampling frequency.

* Sampling: independent variable (ex: time) continuous

discrete.

Quantisation: dependent variable (ex: voltage) continuous discrete.


Here well talk about uniform sampling.

Slides adapted from ME Angoletta, CERN

Sampling - 2

1.2

__ s(t) = sin(2f t)
0

0.8
0.6

s(t) @ fS

0.4
0.2

f0 = 1 Hz, fS = 3 Hz

tt

-0.2
-0.4
-0.6

__ s (t) = sin(8f t)
0
1

-0.8
-1

__ s (t) = sin(14f t)
0
2

-1.2

s(t) @ fS represents exactly all sine-waves sk(t) defined by:


sk (t) = sin( 2 (f0 + k fS) t ) , k

Slides adapted from ME Angoletta, CERN

The sampling theorem

A signal s(t) with maximum frequency fMAX can be


Theo* recovered if sampled at frequency f > 2 f
S
MAX .
* Multiple proposers: Whittaker(s), Nyquist, Shannon, Kotelnikov.
Naming gets
confusing !

Nyquist frequency (rate) fN = 2 fMAX or fMAX or fS,MIN or fS,MIN/2

Example
s(t) = 3 cos(50 t) + 10 sin(300 t) cos(100 t)

F1

F2

F1=25 Hz, F2 = 150 Hz, F3 = 50 Hz

Condition on fS?

F3
fS > 300 Hz

fMAX
Slides adapted from ME Angoletta, CERN

Frequency domain (hints)

Time & frequency:


frequency two complementary signal descriptions.
Signals seen as projected onto time or frequency domains.
Example
Ear + brain act as frequency analyser: audio spectrum
split into many narrow bands
low-power sounds
detected out of loud background.

Bandwidth:
Bandwidth indicates rate of change of a signal.
High bandwidth
signal changes fast.

Slides adapted from ME Angoletta, CERN

Sampling low-pass signals


Continuous spectrum

(a)

(a) Band-limited signal:


frequencies in [-B, B] (fMAX = B).

-B

(b)

Discrete spectrum
No aliasing

(b) Time sampling

frequency

repetition.
fS > 2 B
-B

B fS/2

Discrete spectrum
Aliasing & corruption

(c)

fS/2

no aliasing.

(c) fS
f

2B

aliasing !

Aliasing: signal ambiguity


in frequency domain

Slides adapted from ME Angoletta, CERN

Antialiasing filter

1
(a)

(a),(b) Out-of-band noise can alias

Signal of interest

Out of band
noise

Out of band
noise

-B

(b)

into band of interest. Filter it before!

(c) Antialiasing filter


Passband: depends on bandwidth of
interest.

Attenuation AMIN : depends on


(c)

-B

ADC resolution ( number of bits N).

B fS/2

AMIN, dB ~ 6.02 N + 1.76


Antialiasing
filter

Passband
frequency

Out-of-band noise magnitude.


Other parameters: ripple, stopband
frequency...

-B

Slides adapted from ME Angoletta, CERN

ADC - Number of bits N

Continuous input signal digitized into 2N levels.


Uniform, bipolar transfer function (N=3)

1113
2

Quantization step q =

1
0
-4

-3

-2

-1

Ex: VFSR = 1V , N = 12

-1

V FSR
2N
q = 244.1 V

010
-2
001
-3

Voltage ( = q)

000
-4

LSB

VFSR

Scale factor (= 1 / 2N )

Percentage (= 100 / 2N )

q/2
0.5

-4

-3

-2

-1

-0.5

-q/2

Quantisation error

-1

Slides adapted from ME Angoletta, CERN

ADC - Quantisation error

2
0.3

Quantisation Error eq in
[-0.5 q, +0.5 q].

Voltage [V]

0.2
0.1
0
0

-0.1
-0.2

time [ms]

10

eq limits ability to resolve


small signal.
Higher resolution means
lower eq.

Slides adapted from ME Angoletta, CERN

Frequency analysis: why?


Fast & efficient insight on signals building blocks.
Simplifies original problem - ex.: solving Part. Diff. Eqns. (PDE).
Powerful & complementary to time domain analysis techniques.
The brain does it?

time, t

analysis

General Transform as
problem-solving tool

frequency, f

F
S(f) = F[s(t)]

s(t)

s(t), S(f) :

Transform Pair

synthesis
Slides adapted from ME Angoletta, CERN

Fourier analysis - tools


Input Time Signal

Frequency spectrum

2.5
2
1.5
1

Periodic

0.5
0
0

time, t

Continuous

2.5

(period T)

Aperiodic

2
1.5
1

FS

Discrete

FT

Continuous

T
1
c k = s(t) e j k t dt
T
0
j2 f t
+
S(f) = s(t) e
dt

0.5
0
0

time, t

10

12

2.5
2

Periodic

1.5
1
0.5

(period T)

0
0

time, tk

Discrete
2.5

Aperiodic

2
1.5
1
0.5
0
0

time, tk
6

10

12

2kn

N
1
j

1
~
N
ck = s[n] e
N
n =0

DFS** Discrete
DTFT

Continuous

DFT** Discrete

Note: j =-1, = 2/T, s[n]=s(tn), N = No. of samples

S(f) =

s[n] e j 2 f n

n=

j
1 N1
~
ck = s[n] e
N
n =0

**

2kn
N

Calculated via FFT

Slides adapted from ME Angoletta, CERN

A little history
Astronomic predictions by Babylonians/Egyptians likely via trigonometric sums.
1669:
1669 Newton stumbles upon light spectra (specter = ghost) but fails to
recognise frequency concept (corpuscular theory of light, & no waves).
18th century:
century two outstanding problems
celestial bodies orbits: Lagrange, Euler & Clairaut approximate observation data
with linear combination of periodic functions; Clairaut,1754(!) first DFT formula.
vibrating strings: Euler describes vibrating string motion by sinusoids (wave
equation).

1807:
1807 Fourier presents his work on heat conduction Fourier analysis born.
Diffusion equation series (infinite) of sines & cosines. Strong criticism by peers
blocks publication. Work published, 1822 (Theorie Analytique de la chaleur).

Slides adapted from ME Angoletta, CERN

A little history -2
19th / 20th century:
century two paths for Fourier analysis - Continuous & Discrete.
CONTINUOUS

Fourier extends the analysis to arbitrary function (Fourier Transform).

Dirichlet, Poisson, Riemann, Lebesgue address FS convergence.

Other FT variants born from varied needs (ex.: Short Time FT - speech analysis).

DISCRETE: Fast calculation methods (FFT)

1805 - Gauss, first usage of FFT (manuscript in Latin went unnoticed!!!


Published 1866).

1965 - IBMs Cooley & Tukey rediscover FFT algorithm (An algorithm for
the machine calculation of complex Fourier series).

Other DFT variants for different applications (ex.: Warped DFT - filter design &
signal compression).

FFT algorithm refined & modified for most computer platforms.

Slides adapted from ME Angoletta, CERN

Fourier Series (FS)


A periodic function s(t) satisfying Dirichlets conditions * can be expressed
as a Fourier series, with harmonically related sine/cosine terms.
is
s
+
he
t
n s(t) = a0 + [ak cos (k t) bk sin (k t)]
sy
k =1 For all t but discontinuities

a0, ak, bk : Fourier coefficients.


k: harmonic number,
T: period, = 2/T

s
si
y
T
al
n
1
(signal average over a period, i.e. DC term &
a a = s(t)dt
0
zero-frequency component.)
T
0
T
2
ak = s(t) cos(k t) dt
Note: {cos(kt), sin(kt) }k
T
0
form orthogonal base of
T
function space.
2
- bk = s(t) sin(k t) dt
T
0
* see next slide

Slides adapted from ME Angoletta, CERN

FS convergence
Dirichlet conditions
(a) s(t) piecewise-continuous;
(b) s(t) piecewise-monotonic;

In any period:

(c) s(t) absolutely integrable ,

s(t) dt <

Example:
square wave

Rate of convergence

if s(t) discontinuous then


|ak|<M/k for large k (M>0)
s(t)
T

(a)

(b)

Slides adapted from ME Angoletta, CERN

(c)

FS analysis - 1
T = 2 = 1
2

a0 =
dt + ( 1)dt = 0
2

0
2

ak = cos kt dt cos kt dt = 0

(zero average)
(odd function)

2
1

{ 1 cos k } =
- bk = sin kt dt sin kt dt = ... =
k

4
k , k odd

=
0 , k even

4
4
4
sw(t) = sin t +
sin 3 t +
sin 5 t + ...

3
5

1.5

square signal, sw(t)

FS of odd* function: square wave.

1
0.5
0
-0.5

10

-1
-1.5

* Even & Odd functions


s(x)

Even :
s(-x) = s(x)

x
s(x)

Odd :
s(-x) = -s(x)

Slides adapted from ME Angoletta, CERN

FS synthesis
Square wave reconstruction
from spectral terms
1.5

7
3
15
911
sw1
(t)
sin(kt)
(t)===
sin(kt)
sin(kt)
]]]]
[[--[b-bkbkksin(kt)
7
3
5
11
9(t)
kkk==1=11

square signal, sw(t)

1
0.5
0
-0.5
-1
-1.5
0

Convergence may be slow (~1/k) - ideally need infinite terms.


Practically, series truncated when remainder below computer tolerance
( error).
error BUT Gibbs Phenomenon.

Slides adapted from ME Angoletta, CERN

10

Gibbs phenomenon
1.5

sw 79 (t) =

79

[- bk sin(kt)]

k =1

square signal, sw(t)

Overshoot exist @
each discontinuity

0.5
0
-0.5
-1
-1.5
0

First observed by Michelson, 1898. Explained by Gibbs.


Max overshoot pk-to-pk = 8.95% of discontinuity magnitude.
Just a minor annoyance.
FS converges to (-1+1)/2 = 0 @ discontinuities, in this case.
case

Slides adapted from ME Angoletta, CERN

10

FS time shifting

4
k , k odd, k = 1, 5, 9...

ak = 4
, k odd, k = 3, 7, 11...
k

0
, k even.

- bk = 0

(even function)

Note: amplitudes unchanged BUT


phases advance by k/2.

square signal, sw(t)

(zero average)

1
0.5
0
-0.5

10

-1
-1.5

rk
4/
4/3

f1

3f1

5f1

7f1

f1

3f1

5f1

7f1

ph
as
e

a 0= 0

1.5

am
pl
it
ud
e

FS of even function:
/2-advanced square-wave

Slides adapted from ME Angoletta, CERN

Complex FS
Eulers notation:
e-jt = (ejt)* = cos(t) - jsin(t)

phasor

e jt + e jt
cos(t) =
2

e jt e jt
sin(t) =
2 j

s
T
si
1
y
l
a c k = s(t) e - j k t dt
n
a
T

is
s
he
t
n
sy s(t) =

Complex form of FS (Laplace 1782). Harmonics


ck separated by f = 1/T on frequency plot.

jk t
c

e
k
k =
z=re

Note:
Note c-k = (ck)*
Link to FS real coeffs.

c 0 = a0
ck =

1
1
(ak + j bk ) = (a k j b k )
2
2

Slides adapted from ME Angoletta, CERN

r = a2 + b2
= arctan(b/a)

FS properties
Time
Homogeneity

as(t)

Additivity

s(t) + u(t)

Linearity

as(t) + bu(t)

Time reversal
Multiplication *
Convolution *
Time shifting

Frequency
aS(k)
S(k)+U(k)
aS(k)+bU(k)

s(-t)

S(-k)

s(t)u(t)

T
1
s(t t ) u( t ) dt
T
0
s(t t )

Frequency shifting e

+j

2 m t
T s(t)

S(k m)U(m)

m =

S(k)U(k)
e

2 k t
T

S(k)

S(k - m)

Slides adapted from ME Angoletta, CERN

FS - oddities
Orthonormal base
Fourier components {uk} form orthonormal base of signal space:
T

*
uk = (1/T) exp(jkt) (|k| = 0,1 2, +) Def.: Internal product : uk um = uk um
dt

uk um = k,m (1 if k = m, 0 otherwise).

(Remember (ejt)* = e-jt )

Then ck = (1/T) s(t) uk i.e. (1/T) times projection of signal s(t) on component uk

Negative frequencies & time reversal


k = - , -2,-1,0,1,2, + ,

k = k, k = kt, phasor turns anti-clockwise.

Negative k phasor turns clockwise (negative phase k ), equivalent to negative time t,


time reversal.
Careful:
Careful phases important when combining several signals!

Slides adapted from ME Angoletta, CERN

FS - power
Average power W :

1
W =
T

Parsevals Theorem
W=

ck

k =

1
= a0 2 +
2

s(t) 2 dt s(t) s(t)

FS convergence ~1/k

Example
Pulse train, duty cycle = 2 / T
s(t)

2
T

bk = 0

a0 = sMAX

ak = 2sMAX sync(k )

lower frequency terms

ak 2 + bk 2
k =1

Wk = |ck|2 carry most power.


Wk vs. k: Power density spectrum.
spectrum

2
1
10

-1

10

-2

10

-3

Wk/W0

Wk = 2 W0 sync2(k )

kf
0

50

W0 = ( sMAX)2
sync(u) = sin( u)/( u)

100

150

200

W = W0 1+ k
k =1 W0

Slides adapted from ME Angoletta, CERN

FS of main waveforms

Slides adapted from ME Angoletta, CERN

Discrete Fourier Series (DFS)


Band-limited signal s[n], period = N.

DFS defined as:


is
2 k n
s
y
N

1
l
j

a
1
N
an ~
ck =
s[n] e

n =0

~
~
Note: ck+N = ck same period N
i.e. time periodicity propagates to frequencies!
s
si
e
2 k n
th
N

1
j
n
~
sy s[n] =
ck e N

k =0

DFS generate periodic ck


with same signal period
Orthogonality in DFS:
2 n(k -m)
N

1
j
1
N
e
= k,m

N
n =0
Kroneckers delta

N consecutive samples of s[n]


completely describe s in time
or frequency domains.

Synthesis: finite sum band-limited s[n]

Slides adapted from ME Angoletta, CERN

DFS analysis
DFS of periodic discrete
1-Volt square-wave
s[n]: period N, duty factor L/N

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

am
pl
it
ud
e

-5

ck

0.24

0.24

0.2

0.6

0.6

0.6

0.6

0.24

0.24

0 1 2 3 4 5 6 7 8 9 10

ph
as
e

,
k = 0, + N, 2N,...

~
ck =
k (L 1)
kL
j
sin

N
N
e

, otherwise

N
k
sin

s[n]

0.4

0.2

Discrete signals periodic frequency spectra.


Compare to continuous rectangular function
(slide # 10, FS analysis - 1)

0.4
0.2

4 5 6 7 8 9 10

-0.2
-0.4

Slides adapted from ME Angoletta, CERN

n
-0.2

-0.4

DFS properties
Time
Homogeneity

as[n]

Additivity

s[n] + u[n]

Linearity

as[n] + bu[n]

Multiplication *

s[n] u[n]
N1

Frequency
aS(k)
S(k)+U(k)
aS(k)+bU(k)
1 N1
S(h)U(k - h)
N h=0

s[m] u[n m]

Convolution *

S(k)U(k)

m =0

Time shifting

s[n - m]

Frequency shifting

+j

2 h t
T s[n]

2 k m
T

S(k)

S(k - h)

Slides adapted from ME Angoletta, CERN

DFT Window characteristics

Finite discrete sequence spectrum convoluted with rectangular window spectrum.

Leakage amount depends on chosen window & on how signal fits into the window.

(1) Resolution: capability to distinguish different tones. Inversely proportional to mainlobe width. Wish: as high as possible.

(2) Peak-sidelobe level: maximum response outside the main lobe.


Determines if small signals are hidden by nearby stronger ones.
Wish: as low as possible.

(3) Sidelobe roll-off: sidelobe decay

(2)

(1)

(3)

per decade. Trade-off with (2).

Several windows used (applicationdependent): Hamming, Hanning,


Blackman, Kaiser ...

Rectangular window

Slides adapted from ME Angoletta, CERN

DFT of main windows


Windowing reduces leakage by
minimising sidelobes magnitude.
In time it reduces endpoints discontinuities.
Sampled sequence
Non
windowed

Windowed

Some window functions


Slides adapted from ME Angoletta, CERN

DFT - Window choice


Common windows characteristics
Window type

-3 dB Mainlobe width

-6 dB Mainlobe width
[bins]
1.21

Max sidelobe
level

Sidelobe roll-off
[dB/decade]

Rectangular

[bins]
0.89

Hamming

1.3

1.81

- 41.9

20

Hanning

1.44

- 31.6

60

Blackman

1.68

2.35

-58

60

Observed signal

[dB]
-13.2

20

Window wish list

Far & strong interfering components

Near & strong interfering components

Accuracy measure of single tone

high roll-off rate.


small max sidelobe level.
wide main-lobe

NB: Strong DC component can shadow nearby small signals. Remove it!

Slides adapted from ME Angoletta, CERN

DFT - Window loss remedial


Smooth data-tapering windows cause information loss near edges.

Solution:
sliding (overlapping) DFTs.
Attenuated inputs get next
windows full gain & leakage
reduced.

2 x N samples (input signal)


DFT #1

DFT #2

DFT #3

Usually 50% or 75% overlap


(depends on main lobe width).

Drawback: increased
total processing time.

DFT AVERAGING

Slides adapted from ME Angoletta, CERN

DFT - parabolic interpolation


Rectangular window

Hanning window

1.968

0.977

1.967

1.966

0.976

1.965

1.964

0.975

1.963

1.962
198

199

200

201

202

203

0.974
199

200

201

202

Parabolic interpolation often enough to find position of


peak (i.e. frequency).
Other algorithms available depending on data.

Slides adapted from ME Angoletta, CERN

203

204

Systems spectral analysis (hints)


System analysis: measure input-output relationship.
Linear Time Invariant

x[n]

DIGITAL LTI
SYSTEM

[n]

y[n]

h[n]

x[n]

h[n]

y[n] = x[n] h[n] =

DIGITAL
LTI
SYSTEM

h[n]
0

h[t] = impulse response

x[n m] h[m]

y[n] predicted from { x[n], h[t] }

m =0

X(f)

H(f)

Y(f) = X(f) H(f)

H(f) : LTI transfer function

Transfer function can be estimated by Y(f) / X(f)

Slides adapted from ME Angoletta, CERN

Estimating H(f)
G xx (f) = X(f) X* (f)
G yx (f) = Y(f) X* (f)

(hints)

Power Spectral Density of x[t]


(FT of autocorrelation).

Cross Power Spectrum of x[t] & y[t]


(FT of cross-correlation).

Y(f) Y(f) X* (f) G yx


H(f) =
=
=
*
X(f) X(f) X (f) G xx

Transfer Function
(ex: beam !)

It is a check on
H(f) validity!
Slides adapted from ME Angoletta, CERN

You might also like