You are on page 1of 23

What is DSP?

Input Output
Signal Analog-to- Digital-to- Signal
Digital Computer Analog
Conversion Conversion

Digital Speech Processing— Digital


Lecture 2 • Method to represent a quantity, a phenomenon or an event
• Why digital?
Signal
• What is a signal?
Review of DSP – something (e.g., a sound, gesture, or object) that carries information
– a detectable physical quantity (e.g., a voltage, current, or magnetic field strength) by
which messages or information can be transmitted

Fundamentals • What are we interested in, particularly when the signal is speech?
Processing
• What kind of processing do we need and encounter almost
everyday?
• Special effects?
1 2

Common Forms of Computing Advantages of Digital Representations


• Text processing – handling of text, tables, basic
arithmetic and logic operations (i.e., calculator Input Output
functions) Signal A-to-D Signal D-to-A Signal
– Word processing Converter Processor Converter
– Language processing
– Spreadsheet processing
– Presentation processing • Permanence and robustness of signal representations; zero-
distortion reproduction may be achievable
• Signal Processing – a more general form of • Advanced IC technology works well for digital systems
information processing, including handling of speech, • Virtually infinite flexibility with digital systems
audio, image, video, etc.
– Multi-functionality
– Filtering/spectral analysis
– Multi-input/multi-output
– Analysis, recognition, synthesis and coding of real world signals
– Detection and estimation of signals in the presence of noise or • Indispensable in telecommunications which is virtually all digital
interference at the present time

3 4

Digital Processing of Analog Signals


Discrete-Time Signals
xc(t) x[n] y[n] yc(t) A sequence of numbers
A-to-D Computer D-to-A
Mathematical representation:
x = {x[n ]}, − ∞ < n < ∞
• A-to-D conversion: bandwidth control, sampling and
quantization Sampled from an analog signal, xa (t ), at time t = nT ,
• Computational processing: implemented on computers or x[n ] = xa (nT ), −∞ < n < ∞
ASICs with finite-precision arithmetic
T is called the sampling period, and its reciprocal,
– basic numerical processing: add, subtract, multiply
(scaling, amplification, attenuation), mute, … FS = 1/ T , is called the sampling frequency
– algorithmic numerical processing: convolution or linear FS = 8000 Hz ↔ T = 1/ 8000 = 125 μ sec
filtering, non-linear filtering (e.g., median filtering), difference
FS = 10000 Hz ↔ T = 1/10000 = 100 μ sec
equations, DFT, inverse filtering, MAX/MIN, …
• D-to-A conversion: re-quantification* and filtering (or FS = 16000 Hz ↔ T = 1/16000 = 62.5 μ sec
interpolation) for reconstruction FS = 20000 Hz ↔ T = 1/ 20000 = 50 μ sec
5 6

1
Varying Sampling Rates
Speech Waveform Display
plot( );
Fs=8000 Hz

Fs=6000 Hz

stem( );
Fs=10000 Hz

7 8

Varying Sampling Rates Quantization


x[ n] can be quantized to one of a finite set of values which is
then represented digitally in bits, hence a truly digital signal; the
course material mostly deals with discrete-time signals
(discrete-value only when noted).
Fs=8000 Hz
out
Quantization:

7 2.4 • Transforming a continuously-


6 1.8
valued input into a
representation that assumes
5 1.2
Fs=6000 Hz one out of a finite set of values
4 0.6
• The finite set of output values
3 in is indexed; e.g., the value 1.8
0.3 0.9 1.5 2.1
Fs=10000 Hz 2 has an index of 6, or (110)2 in
binary representation
1
• Storage or transmission uses
0
binary representation; a
quantization table is needed
9
A 3-bit uniform quantizer

Discrete Signals Sinewave Spectrum


6

sample 4
Sampled quantize
Sinusoid
2
5sin(2πnT)
0
y

6
6
-2

4
Analog Discrete
sinusoid, sinusoid
4
-4

2
5sin(2πx) -6
2 round[5sin(2πnT)]
0 5 10 15 20 25 30 35 40
0 n
y

0
y

-2 6
-2
Quantized
-4 4
sinusoid -4

-6 2 round[5sin(2πx)]
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -6
0 5 10 15 20 25 30 35 40
x
0
n
y

-2

quantize -4
sample SNR is a function of B, the number of bits in the quantizer
-6
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x

11 12

2
Issues with Discrete Signals The Sampling Theorem
Sampled 1000 Hz and 7000 Hz Cosine Waves; Fs = 8000 Hz

• what sampling rate is appropriate 1


– 6.4 kHz (telephone bandwidth), 8 kHz (extended 0.5

amplitude
telephone BW), 10 kHz (extended bandwidth), 16 kHz 0
(hi-fi speech) -0.5
• how many quantization levels are necessary at -1
each bit rate (bits/sample) 0 0.2 0.4 0.6 0.8 1 1.2
time in ms
– 16, 12, 8, … => ultimately determines the S/N ratio of
the speech • A bandlimited signal can be reconstructed exactly
from samples taken with sampling frequency
– speech coding is concerned with answering this
question in an optimal manner 1 2π
= Fs ≥ 2fmax or = ωs ≥ 2ωmax
T T
13 14

Demo Examples Discrete-Time (DT) Signals are Sequences

1. 5 kHz analog bandwidth — sampled at 10, 5,


2.5, 1.25 kHz (notice the aliasing that arises when T
the sampling rate is below 10 kHz)
2. quantization to various levels — 12,9,4,2, and 1
bit quantization (notice the distortion introduced
when the number of bits is too low)
3. music quantization — 16 bit audio quantized to
various levels: • x[n] denotes the “sequence value at ‘time’ n”
• Sources of sequences:
– Sampling a continuous-time signal
x[n] = xc(nT) = xc(t)|t=nT
Maple Rag: 16 bits, 12 bits, 10 bits, 8 bits, 6 bits, 4 bits;
15 – Mathematical formulas – generative system
e.g., x[n] = 0.3 • x[n-1] -1; x[0] = 40

16
Noise: 10 12 bits

Impulse Representation of Sequences Some Useful Sequences


∞ Value of the
⎧1, n = 0 real
A sequence,
x[ n ] = ∑
k =−∞
x[k ]δ [n − k ] function at k
unit sample δ [n] = ⎨
⎩0, n ≠ 0 exponential x[n] = α n
a function

a1δ [n − 1]
a−3δ [n + 3]

a2δ [n − 2] a7δ [n − 7]
⎧1, n ≥ 0
unit step u[n] = ⎨ sine wave x[n] = A cos(ω 0 n + φ )
x[n ] = a−3δ [n + 3] + a1δ [n − 1] + a2δ [n − 2] + a7δ [n − 7] ⎩0, n < 0

17 18

3
Complex Signal
Variants on Discrete-Time Step Function x[n ] = (0.65 + 0.5 j )n u[n ]

u[n] u[n-n0]

u[n0-n]

n → −n ⇔ signal flips around 0 19 20

Complex Signal Complex DT Sinusoid


x [n ] = A e jω n
x [n ] = (α + j β )n u[n ] = (re jθ )n u[n ]
• Frequency ω is in radians (per sample), or just
r = α2 + β2 radians
θ = tan−1( β / α ) β r
– once sampled, x[n] is a sequence that relates to
time only through the sampling period T
θ
α • Important property: periodic in ω with period 2π:
x [n ] = r e
n jθ n
u [n ] jω 0n j ( ω 0 + 2 π r )n
n
Ae = Ae
r is a dying exponential – Only unique frequencies are 0 to 2π (or –π to +π)
e jθ n is a linear phase term – Same applies to real sinusoids

21 22

Sampled Speech Waveform Signal Processing


xa(t)
MATLAB: plot
• Transform digital signal into more desirable
form

x[n] y[n]=T[x[n]] x[n] y[n]


x[n]
xa(nT),x(n)
MATLAB: stem

single input—single output single input—multiple output,


e.g., filter bank analysis,
sinusoidal sum analysis, etc.

T=0.125 msec, fS=8 kHz

Trap #1: loss of sampling time index 23 24

4
LTI Discrete-Time Systems LTI Discrete-Time Systems
x[n] y[n] Example:
LTI
System Is system y [n ] = x[n ] + 2 x[n + 1] + 3 linear?
δ [n] h[n] x1[n ] ↔ y1[n ] = x1[n ] + 2 x1[n + 1] + 3
x2 [n ] ↔ y 2 [n ] = x2 [n ] + 2 x2 [n + 1] + 3
• Linearity (superposition): x1[n ] + x2 [n ] ↔ y 3 [n ] = x1[n ] + x2 [n ] + 2 x1[n + 1] + 2x2 [n + 1] + 3
Τ{ax1[n] + bx2 [n]} = aΤ{x1[n]} + bΤ {x2 [n]} ≠ y1[n ] + y 2 [n ] ⇒ Not a linear system!
Is system y [n] = x[n ] + 2 x[n + 1] + 3 time/shift invariant?
• Time-Invariance (shift-invariance):
y [n ] = x[n ] + 2x [n + 1] + 3
x1[n] = x[n − nd ] ⇒ y1[n] = y[n − nd ]
y [n − n0 ] = x [n − n0 ] + 2 x [n − n0 + 1] + 3 ⇒ System is time invariant!
• LTI implies discrete convolution: Is system y [n ] = x [n ] + 2 x [n + 1] + 3 causal?
∞ y [n ] depends on x[n + 1], a sample in the future
y[n] = ∑ x[k]h[n − k] = x[n]∗ h[n] = h[n]∗ x[n] ⇒ System is not causal! 26
k =−∞ 25

h[n] x[n]

Convolution Example
n n
⎧1 0≤n≤3 ⎧1 0≤n≤3 x[n],h[n] 01234 5 01234 5
x[n] = ⎨ h[n ] = ⎨ n=0 n=1 n=2
⎩0 otherwise ⎩0 otherwise
What is y [n ] for this system?
n
Solution : 01234 5 m m m
∞ 01234 5 01234 5 01234 5
y [n ] = x [n ] * h[n ] = ∑ h[m] x[n − m]
m =−∞
n=3 n=4 n=5

⎧ n
⎪ ∑ 1⋅ 1 = (n + 1) 0≤n≤3 y[n]

⎪ m =0 m m m
⎪ 3 01234 5 01234 5 01234 5
= ⎨ ∑ 1⋅ 1 = (7 − n ) 4≤n≤6 n=6 n=7 n=8
⎪ m = n −3
⎪0 n ≤ 0, n ≥ 7 01234 567
n



27 m m m
01234 56 01234 567 01234 5678
28

Convolution Example
Convolution Example
The impulse response of an LTI system is of the form:
h[n ] = a n u[n ] | a |< 1
and the input to the system is of the form:
x [ n ] = b n u [n ] | b |< 1, b ≠ a
Determine the output of the system using the formula
for discrete convolution.
SOLUTION:

y [n ] = ∑a
m =−∞
m
u[ m ] b n − m u[ n − m ]
n n
= bn ∑a
m =0
m
b − m u [n ] = b n ∑ (a / b )
m =0
m
u [n ]

⎡1 − (a / b )n +1 ⎤ ⎡ b n +1 − a n +1 ⎤
= bn ⎢ ⎥=⎢ ⎥ u [n ]
⎣ 1 − (a / b ) ⎦ ⎣ b − a ⎦
29 30

5
Convolution Example Linear Time-Invariant Systems
Consider a digital system with input x [n ] = 1 for
n = 0,1,2,3 and 0 everywhere else, and with impulse • easiest to understand
• easiest to manipulate
response h[n ] = a u[n ], | a |< 1. Determine the
n
• powerful processing capabilities
response y [n ] of this linear system. • characterized completely by their response to unit sample,
h(n), via convolution relationship
SOLUTION: ∞ ∞
We recognize that x [n ] can be written as the difference between two y [n ] = x[n ] ∗ h[n ] = ∑ x[k ] h[n − k ] = ∑ h[k ] x[n − k ]
k =−∞ k =−∞
step functions, i.e., x [n ] = u[n ] − u[n − 4]. Hence we can solve for y [n ]
as the difference between the output of the linear system with a step input y [n ] = h[n ] ∗ x[n ], where ∗ denotes discrete convolution
x[n] y[n]=x[n]
and the output of the linear system with a delayed step input. Thus we solve
h[n] * h[n]
for the response to a unit step as:

⎡ a n − a −1 ⎤ • basis for linear filtering
y 1[ n ] = ∑ u[m] a n −m
u [n − m ] = ⎢ −1 ⎥
u[n ]
m =−∞ ⎣ 1− a ⎦ • used as models for speech production (source convolved
y [n ] = y1[n ] − y1[n − 4] 31 with system) 32

Signal Processing Operations Equivalent LTI Systems


x1[n] h1[n] h2[n] h1[n]
x[n] y[n]
x1[n]+x2[n] x[n] x[n] x[n] y[n]
h2[n]
h2[n] h1[n]
x2[n] x[n] y[n]

h1[n]+h2[n]
x[n] y[n]
x[n] x[n-1] x[n]
h1[n]*h2[n]
y[n]

h1[n]*h2[n]= h2[n]*h1[n] h1[n]+h2[n]= h2[n]+h1[n]


D is a delay of 1-sample
Can replace D with delay element z −1 33 34

More Complex Filter Interconnections Network View of Filtering (FIR Filter)

h2[n]
x[n] y[n]

h1[n]

h3[n]

h4[n]
D (Delay Element) ⇔ z −1
y [n ] = x [n ] * hc [n ] y [n ] = b0 x [n ] + b1x [n − 1] + ... + bM −1x [n − M + 1] + bM x [n − M ]
hc [n ] = h1[n ] * (h2 [n ] + h3 [n ]) + h4 [n ]
35 36

6
Network View of Filtering (IIR Filter)

z-Transform
x[n] y[n]
Representations

y [n ] = −a1y [n − 1] + b0 x[n ] + b1x [n − 1]

37 38

Transform Representations Examples of Convergence Regions


• z-transform: infinite power series in z ,
−1 1

0.9

1. x[n ] = δ [n − n0 ] -- delayed impulse


0.8

0.7

x[n ] ←⎯
→ X (z) with x[n] as coefficients of
0.6

plitude
0.5

am
−n
0.4

X (z ) = z − n0 − − converges for | z |> 0, n0 > 0;


0.3

term in z
0.2

0.1


0
0 1 2 3 4 5 6 7 8 9
sample number

X (z) = ∑ x[n]z
n =−∞
−n
• direct evaluation using residue theorem
| z |< ∞, n0 < 0; ∀z, n0 = 0
2. x[n ] = u[n ] − u[n − N ] -- box pulse
1

• partial fraction expansion of X(z)


0.9

0.8

0.7

1 N-1
1 − z −N
0.6

∫ X(z) = ∑ (1)z − n =
• long division

amplitude
x[ n ] = X (z)z n −1dz -- converges for 0 <| z |< ∞
0.5

0.4

1 − z −1
0.3

2π j
0.2

• power series expansion n =0


0.1

C
0
0 1 2 3 4 5 6 7 8 9
sample number

• all finite length sequences converge in the region 0 <| z |< ∞


• X(z) converges (is finite) only for certain values of z: 3. x[n ] = a nu[n ] (a < 1) 1

∞ ∞
1
0.9

∑ | x[n] | | z −n X (z ) = ∑ a n z − n =
0.8

|<∞ --converges for | a |<| z |


0.7

- sufficient condition for convergence 1 − az −1


0.6

amplitude
0.5

n =0
0.4

n =−∞
0.3

• all infinite duration sequences which are non-zero for n ≥ 0


0.2

0.1

0
0 5 10 15 20 25 30 35 40 45 50
sample number

• region of convergence: R1 < |z| < R2 converge in a region | z |> R1


39

40

Examples of Convergence Regions 0

-0.1

-0.2

-0.3
Example
-0.4
amplitude

-0.5

-0.6

If x [n ] has z-transform X ( z ) with ROC of


-0.7

-0.8

4. x[n ] = −b nu[ −n − 1]
-0.9

-1
-50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0

ri <| z |< ro , find the z -transform, Y ( z ), and


sample number

−1
1
X ( z ) = ∑ −b z = n −n
--converges for | z |<| b | the region of convergence for the sequence
n =−∞ 1 − bz −1
• all infinite duration sequences which are non-zero for n < 0 y [n ] = a n x [n ] in terms of X ( z )

converge in a region | z |< R2 Solution:



5. x[n ] non-zero for − ∞ < n < ∞ can be viewed X (z) = ∑ x [ n ]z −n

as a combination of 3 and 4,giving a convergence n =−∞


∞ ∞
region of the form R1 <| z |< R2
R2
Y (z) = ∑ y [ n ]z −n
= ∑a n
x [ n ]z − n
• sub-sequence for n ≥ 0 => | z |> R1 n =−∞ n =−∞

• sub-sequence for n < 0 => | z |< R2 R1 = ∑ x[n](z / a)
n =−∞
−n
= X (z / a)
• total sequence => R1 <| z |< R2
41
ROC: | a | ri <| z |<| a | ro 42

7
z-Transform Property Inverse z-Transform
The sequence x [n ] has z-transform X ( z ).
Show that the sequence nx[n ] has z-transform 1
∫ X ( z )z
n −1
x[ n ] = dz
−z
dX ( z )
. 2π j C
dz
Solution:
where C is a closed contour that encircles the origin
∞ of the z-plane and lies inside the region of convergence
X (z) = ∑ x [ n ]z
n =−∞
−n


dX ( z )
= − ∑ nx[n ]z − n −1
dz n =−∞ C for X(z) rational, can use
1 ∞ a partial fraction
= − ∑ nx[n ]z − n R1
R2
z n =−∞ expansion for finding
1 inverse transforms
= − Z (nx[n ])
z
43 44

Partial Fraction Expansion Example of Partial Fractions


z2 + z + 1
b0 z M + b1z M −1 + ... + bM Find the inverse z-transform of H (z ) = 1 <| z |< 2
H (z) = (z 2 + 3z + 2)
z N + a1z N −1 + ... + aN
H (z ) z2 + z + 1 A A A
b z M + b1z M −1 + ... + bM = = 0+ 1 + 2
= 0 ; (N ≥ M ) z z (z + 1)(z + 2) z z + 1 z + 2
(z − p1 )(z − p2 )...(z − pN )
z2 + z + 1 1 z2 + z + 1
A1 A2 AN A0 = = A1 = = −1
H (z) = + + ... + (z + 1)(z + 2) z =0 2 z(z + 2) z =−1
z − p1 z − p2 z − pN
z2 + z + 1 3
H (z) A0 A1 A2 AN A2 = =
= + + + ... + ; p0 = 0 z(z + 1) z =−2 2
z z − p0 z − p1 z − p2 z − pN
1 z (3 / 2)z
H (z ) H (z ) = − + 1 <| z |< 2
Ai = (z − pi ) i = 0,1,..., N 2 z +1 z + 2
z z = pi 1 3
h[n ] = δ [n ] − (−1)n u[n ] − (−2)n u[−n − 1]
2 2
45 46

Transform Properties
Linearity ax1[n]+bx2[n] aX1(z)+bX2(z)
Shift
Exponential Weighting
x[n-n0]
anx[n]
z − n0 X ( z)
X(a-1z)
Discrete-
Linear Weighting n x[n] -z dX(z)/dz Time Fourier
Time Reversal x[-n] X(z-1)
Transform
non-causal, need x[N0-n] to be
causal for finite length sequence

Convolution x[n] * h[n] X(z) H(z)


Multiplication of x[n] w[n]
Sequences
1
2π j ∫ X (v )W (z / v )v
−1
dv
C circular convolution in the frequency
domain
(DTFT)
47 48

8
Discrete-Time Fourier Transform Simple DTFTs
∞ Impulse x[n ] = δ [n ], X (e j ω ) = 1
X (e jω ) = X (z ) |z =e jω = ∑ x[n]e
n =−∞
− jωn
Delayed
impulse
x[n ] = δ [n − n0 ], X (e jω ) = e − jωn0
z = e jω ; | z |= 1, arg(z ) = j ω Step function
x[n ] = u[n ], X (e j ω ) =
1
π 1 − e − jω
1
∫π X (e

x[ n ] = )e jωn dω 1 − e − jωN
2π Rectangular
x[n ] = u[n ] − u[n − N ], X (e jω ) =

1 − e − jω
window

• evaluation of X(z) on the unit circle in the z-plane 1


Exponential x[n ] = a n u[n ], X (e j ω ) = , a <1
• sufficient condition for existence of Fourier transform is:
1 − ae − jω
∞ ∞
1
∑ | x[n] | | z −n
|= ∑ | x[n] |< ∞, since | z |= 1
Backward
exponential x[n ] = −b n u[ −n − 1], X (e jω ) = , b >1
n =−∞ n =−∞ 49 1 − be − jω 50

DTFT Examples DTFT Examples


x [n ] = cos(ω0 n ), −∞ < n < ∞
x[n ] = β nu[n ] β = 0.9 ∞

X (e jω ) =
1
| β |< 1
X (e ) = jω
∑ [πδ (ω − ω 0 + 2π k ) + πδ (ω + ω0 + 2π k )]
1 − β e − jω k =−∞

Within interval − π < ω < π , X (e jω ) is comprised


of a pair of impulses at ± ω0

x[n ] = cos(ω0 n )

51 52

DTFT Examples DTFT Examples


x[n ] = rect M [n ]

h[n ]

53 54

9
Fourier Transform Properties Periodic DT Signals
0.25, π/2, FS/ 4, π FS/ 2

• A signal is periodic with period N if x[n] = x[n+N]


• periodicity in ω for all n
0. 5, π, FS/ 2, π FS
0,0,0,0
1, 2π, FS, 2π FS
• For the complex exponential this condition
X (e jω ) = X (e j (ω + 2π n ) ) f, ω, f 0.75, 3π/2, 3FS/ 4, π 3FS/ 2 D, ωD becomes
• period of 2π corresponds to once around jω0 n jω0 ( n + N ) j (ω0 n +ω0 N )
Ae = Ae = Ae
unit circle in the z -plane
which requires ω0N = 2π k for some integer k
Units of Frequency (Digital Domain) (Trap #2 - loss of FS) • Thus, not all DT sinusoids are periodic!
• normalized frequency: f, 0Æ0.5Æ1 (independent of FS) • Consequence: there are N distinguishable
• normalized radian frequency: ω, 0Æ πÆ2 π (independent of FS) frequencies with period N
• digital frequency: fD= f *FS, 0ÆFS/2ÆFS – e.g., ωk = 2π k/N, k=0,1,…,N-1
• digital radian frequency: ωD= ω *FS, 0Æ πFSÆ2πFS 55 56

Periodic DT Signals Periodic DT Signals


Example 1:
Example 2:
Fs = 10, 000 Hz
Fs = 11059 Hz; Is the signal
Is the signal x[n] = cos(2π ⋅100n / Fs ) a periodic signal?
x[n] = cos(2π ⋅100n / Fs ) periodic? If so, what is the period.
If so, what is the period.
Solution:
Solution:
If the signal is periodic with period N , then we have:
If the signal is periodic with period N , then we have:
x [ n ] = x[ n + N ]
x[ n] = x[ n + N ]
cos(2π ⋅ 100n / Fs ) = cos(2π ⋅ 100( n + N ) / Fs )
cos(2π ⋅100n / Fs ) = cos(2π ⋅100( n + N ) / Fs )
2π ⋅ 100 N
2π ⋅100 N = 2π ⋅ k ( k an integer )
= 2π ⋅ k (k an integer ) Fs
Fs
100 N 100 N
100 N 100 N N k= =
k= = = Fs 11, 059
Fs 10, 000 100
11059
For k an integer we get N = 100k = 100 (for k = 1) For k an integer we get N = k which is not an integer
100
Thus x[ n] is periodic of period 100 samples.
57 Thus x[n ] is not periodic at this sampling rate. 58

Periodic Sequences??
Periodic DT Signals
Example 3:
Fs = 10, 000 Hz
Is the signal x[n] = cos(2π ⋅101n / Fs ) a periodic signal?
If so, what is the period.

Solution:
If the signal is periodic with period N , then we have:
x[ n] = x[ n + N ]
cos(2π ⋅101n / Fs ) = cos(2π ⋅101(n + N ) / Fs )
2π ⋅101N
= 2π ⋅ k ( k an integer )
Fs
101N 101N
k= = which is not an integer
Fs 10, 000
Thus x[ n] is not periodic at this sampling rate.
59 60

10
Discrete Fourier Transform
• consider a periodic signal with period N (samples)
x%[n ] = x%[n + N ], − ∞ < n < ∞
x%[n ] can be represented exactly by a discrete
The DFT – Discrete sum of sinusoids
N −1
X% [k ] = ∑ x%[n ]e − j 2π kn / N
Fourier Transform n =0
• N sequence values

N −1
1
x%[n ] = ∑ X% [k ]e j 2π kn / N
N k =0
• N DFT coefficients

61
• exact representation of the discrete periodic sequence 62

DFT Unit Vectors (N=8) DFT Examples


k = 0; e − j 2π k /8 = 1
2
k = 1; e − j 2π k /8 = (1 − j )
2
− j 2π k /8
k = 2; e =−j δ [ n] DFT{δ [n]}
− j 2π k /8 2
k = 3; e = (−1 − j )
2 1 1
− j 2π k /8
k = 4; e = −1
2
k = 5; e − j 2π k /8 = ( −1 + j ) n k
2
k = 6; e − j 2π k /8 = j
2
k = 7; e − j 2π k /8 = (1 + j )
2
63 64

DFT Examples
DFT Examples x%[n ] = (0.9)n 0 ≤ n ≤ 31 (N = 32)

x[n] X [k]

65 66

11
Circularly Shifting Sequences Review
DTFT of sequence { x[n ], − ∞ < n < ∞}
x[n-2] x((n-2)) ∞
x[n] X (e jω ) = ∑ x [n ] e
n =−∞
− j ωn

1 π
2π ∫−π
x[n ] = X (e jω ) e jωn
x[n-1] x[-n] x((-n))
x((n-1)) DFT of periodic sequence { x% [n], 0 ≤ n ≤ N − 1}
N −1
X% [k ] = ∑ x% [n ] e − j 2π nk / N , 0 ≤ k ≤ N − 1
n =0

1 N −1
x% [n ] = ∑ X% [k ] e j 2π nk / N , 0 ≤ n ≤ N − 1
N k =0
67 68

Finite Length Sequences


• consider a finite length (but not periodic)
sequence, x[n], that is zero outside the interval
0 ≤ n ≤ N −1
DFT for Finite Length N −1
X (z ) = ∑ x[n ]z − n
Sequences n =0

• evaluate X(z) at N equally spaced points on the unit circle,


j 2π k / N
zk = e , k = 0,1, ..., N − 1

j 2π k / N N −1
X [k ]=X (e ∑ x[n ]e− j 2π kn /N , k =0,1,...,N −1
)=
n =0
69 70
--looks like DFT of periodic sequence!

Relation to Periodic Sequence


Periodic and Finite Length Sequences
-consider a periodic sequence, x% [n ], consisting of an infinite 1

0.9

sequence of replicas of x[n] 0.8

0.7

~
0.6


amplitude

~
0.5

∑ x [n + r N ]
x[n]
x% (n ) = X[k]
0.4

0.3

0.2

r =−∞ periodic signal => line


0.1

0
0 2 4 6 8 10 12 14 16 18
s ample number

spectrum in frequency
- the Fourier coefficients, X% [k ], are then identical to the values
n k
j 2π k /N
of X (e ) for the finite duration sequence => a sequence
of length N can be exactly represented by a DFT representation
x[n] X(ejω)
of the form:
finite duration =>
N −1
− j 2π nk / N continuous spectrum
X [k ] = ∑ x[n ]e , k = 0,1,..., N − 1 Works for both n ω in frequency
n=0 finite sequence
and for periodic
1 N −1 j 2π kn / N , n = 0,1,..., N − 1 sequence
x[ n ] = ∑ X [k ]e
Nk =0

71 72

12
Sampling in Frequency (Time Domain Aliasing) Sampling in Frequency (Time Domain Aliasing)
Consider a finite duration sequence: jω
S(e )
x[n ] ≠ 0 for 0 ≤ n ≤ L − 1
i.e., an L − point sequence, with discrete time Fourier transform . . .
L −1
If the duration of the finite duration signal satisfies the relation
X (e jω ) = ∑ x[n ] e − jωn 0 ≤ ω ≤ 2π
n =0 0 1 2 3 4 N-1 k N ≥ L, then only the first term in the infinite summation affects
ω=2πk/N
Consider sampling the discrete time Fourier transform by
s[n]
the interval 0 ≤ n ≤ L − 1 and there is no time domain aliasing, i.e.,
multiplying it by a signal that is defined as:
N −1
x%[n ] = x[n ] 0 ≤ n ≤ L − 1
S (e ) = ∑ δ [ω − 2π k / N ]

. . . . . .
k =0
If N < L, i.e., the number of frequency samples is smaller than the
with time-domain representation
-N 0 N 2N n
duration of the finite duration signal, then there is time domain aliasing

s[n ] = ∑ δ [n − rN ]
r =−∞
and the resulting aliased signal (over the interval 0 ≤ n ≤ L − 1) satisfies
Thus we form the spectral sequence the aliasing relation:
X% (e jω ) = X (e jω ) ⋅S (e jω ) x%[n ] = x[n ] + x[n + N ] + x[n − N ] 0 ≤ n ≤ N − 1
which transforms in the time domain to the convolution
∞ ∞
x% [n ] = x[n ]∗ s[n ] = x[n ] ∗ ∑ δ [n − rN ] = ∑ x[n − rN ]
r =−∞ r =−∞

x%[n ] = x[n ] + x[n − N ] + x[n + N ] + ... 73 74

Time Domain Aliasing Example


Consider the finite duration sequence
DFT Properties
4
Periodic Sequence Finite Sequence
x[n ] = ∑ (m + 1) δ [n − m] = δ [n ] + 2δ [n − 1] + 3δ [n − 2] + 4δ [n − 3] + 5δ [n − 4]
m =0 Period=N Length=N
Sequence defined for all n Sequence defined for n=0,1,…,N-1
DFT defined for all k DTFT defined for all ω
-2 -1 0 1 2 3 4 5 6 7 8 n

The discrete time Fourier transform of x[n] is computed and sampled at N frequencies • when using DFT representation, all sequences behave as if they
around the unit circle. The resulting sampled Fourier transform is inverse were infinitely periodic => DFT is really the representation of the
transformed back to the time domain. What is the resulting time domain signal, x%[n], ∞
(over the interval 0 ≤ n ≤ L − 1) for the cases N = 11, N = 5 and N = 4. extended periodic function, x%[n ] = ∑ x[n + rN ]
r =−∞

SOLUTION: • alternative (equivalent) view is that all sequence indices must be


For the cases N = 11 and N = 5, we have no aliasing (since N ≥ L) and we get x%[n ] = x[n ] interpreted modulo N
over the interval 0 ≤ n ≤ L − 1. For the case N = 4, the n = 0 value is aliased, giving ∞

x%[0] = 6 (as opposed to 1 for x[0]) with the remaining values unchanged. x%[n ] = ∑ x[n + rN ] = x[n modulo N ] = x ([n])
r =−∞
N

75 76

DFT Properties for Finite Sequences DFT Properties


N-point sequences N-point DFT
• X[k], the DFT of the finite sequence x[n], can be
viewed as a sampled version of the z-transform
(or Fourier transform) of the finite sequence 1. Linearity ax1[n ] + bx2 [n ] aX1[k ] + bX 2 [k ]
(used to design finite length filters via frequency 2. Shift x( [n − n0 ])N e − j 2π kn0 / N X [k ]
sampling method)
• the DFT has properties very similar to those of 3. Time Reversal x ([−n ])N X ∗ [k ]
the z-transform and the Fourier transform N −1

• the N values of X[k] can be computed very


4. Convolution ∑ x[m] h([n − m])
m =0
N X [k ] H [k ]
efficiently (time proportional to N log N) using the
1 N −1
set of FFT methods 5. Multiplication x[n ] w [n ] ∑ X [r ]W ([k − r ])N
N r =0
• DFT used in computing spectral estimates,
correlation functions, and in implementing digital
filters via convolutional methods
77 78

13
Key Transform Properties Sampling Function
y [n ] = x1[n ] ∗ x2 [n ] ⇔ Y (e jω ) = X1(e jω ) ⋅ X 2 (e jω )
convolution multiplication x[n]
... ...
jω jω jω
y [n ] = x1[n ] ⋅ x2 [n ] ⇔ Y (e ) = X1(e ) ⊗ X 2 (e )
multiplication circular convolution 0 M 2M n

Special Case: x2 [n ] = impulse train of period M samples


∞ X [k]
x2 [ n ] = ∑ δ [k − nM ]
k =−∞
...
M −1
X 2 [k ] = ∑ δ [n ] e − j 2π nk / M
= 1, k = 0,1,..., M − 1 0 1 2 3 4 5 M-1 k
n =0
0 2π 4π 6π (M-1)2π
1 M −1 1 M −1
x2 [n ] = ∑ X 2 [k ] e j 2π nk / M = ∑ e j 2π nk / M sampling function ω M M M M
M k =0 M k =0 79 80

Summary of DSP-Part 1
• speech signals are inherently bandlimited => must
sample appropriately in time and amplitude
• LTI systems of most interest in speech processing; can
characterize them completely by impulse response, h(n)
• the z-transform and Fourier transform representations
enable us to efficiently process signals in both the time Digital Filters
and frequency domains
• both periodic and time-limited digital signals can be
represented in terms of their Discrete Fourier transforms
• sampling in time leads to aliasing in frequency; sampling
in frequency leads to aliasing in time => when
processing time-limited signals, must be careful to
sample in frequency at a sufficiently high rate to avoid
time-aliasing
81 82

Digital Filters Digital Filters


• digital filter is a discrete-time linear, shift invariant
system with input-output relation: • causal linear shift-invariant => h[n]=0 for n<0

y [n ] = x[n ] ∗ h[n ] = ∑ x[m] h[n − m] • stable system => every bounded input produces a
m =−∞
bounded output => a necessary and sufficient
Y (z ) = X (z) ⋅ H (z)
condition for stability and for the existence of
• H (z) is the system function with H (e jω )
as the complex frequency response
H (e j ω )
H (e jω ) = Hr (e jω ) + jHi (e jω ) real, imaginary representation

∑ | h[n] |< ∞

H (e jω ) =| H (e jω ) | e j arg|H ( e )| magnitude, phase representation

log H (e jω ) = log | H (e jω ) | + j arg | H (e jω ) |


n =−∞
log | H (e jω ) |= Re ⎡⎣log H (e jω ) ⎤⎦
j arg | H (e jω ) |= Im ⎡⎣ log H (e jω ) ⎤⎦ 83 84

14
Digital Filter Implementation Digital Filters
• input and output satisfy linear difference equation of the
form:
N M −1
y [n ] − ∑ ak y [n − k ] = ∑ br x[n − r ] • H(z) is a rational function in z
k =1 r =0 O
• evaluating z-transforms of both sides gives: M
A∏ (1 − cr z ) −1
N M X
H (z) = => M zeros, N poles O
Y (z) − ∑ ak z − kY (z ) = ∑ br z − r X (z)
r =1
N
X
k =1 r =0
∏ (1 − dk z −1 ) O
X
N M k =1 X
Y (z) (1 − ∑ ak z − k ) = X (z)∑ br z − r
k =1 r =0
• converges for | z |> R1 , with R1 < 1 for stability O
M

Y (z ) ∑b z r
−r canonic form
showing poles
=>
H (z) = = r =0
all poles of H (z ) inside the unit circle for a
X (z) N and zeros
1 − ∑ ak z − k stable, causal system
k =1 85 86

Ideal Filter Responses FIR Systems


• if ak=0, all k, then

M
y [n ] = ∑ br x[n − r ] = b0 x[n ] + b1 x[n − 1] + ... + bM x[n − M ] =>
r =0

1. h[n ] = bn 0 ≤ n ≤ M
=0 otherwise
M M −1
2. H (z ) = ∑ bn z − n => ∏ (1 − c m z −1 ) => M zeros
n =0 m =0

3. if h[n ] = ± h[M − n ] (symmetric, antisymmetric)


H(e jω ) = A(e jω )e − jωM / 2 , A(e jω ) = real (symmetric), imaginary (anti-symmetric)

• linear phase filter => no signal dispersion because of non-linear phase =>
precise time alignment of events in signal

event at t0 FIR Linear event at t0 +


87 Phase Filter fixed delay 88

FIR Filters Window Designed Filters


• cost of linear phase filter designs
– can theoretically approximate any desired Windowed impulse response
response to any degree of accuracy
– requires longer filters than non-linear phase h[n ] = hI [n ] ⋅w [n ]
designs In the frequency domain we get
• FIR filter design methods
H (e jω ) = HI (e jω ) ∗W (e jω )
– window design => analytical, closed form
method
– frequency sampling => optimization method
– minimax error design => optimal method
89 90

15
LPF Example Using RW LPF Example Using RW

0 0.2 π 0.4 π 0.6 π 0.8 π π


Frequency

91 0 0.2 π 0.4 π 0.6 π 0.8 π π 92


Frequency

LPF Example Using RW Common Windows (Time)


⎧1 0≤n≤M
1. Rectangular w [n ] = ⎨
⎩0 otherwise
2|n −M / 2|
2. Bartlett w [n ] = 1 −
M
⎛ 2π n ⎞ ⎛ 4π n ⎞
3. Blackman w [n ] = 0.42 − 0.5cos ⎜ ⎟ + 0.08cos ⎜ ⎟
0 0.25 π 0.5 π 0.75 π π ⎝ M ⎠ ⎝ M ⎠
Frequency
⎛ 2π n ⎞
4. Hamming w [n ] = 0.54 − 0.46 cos ⎜ ⎟
⎝ M ⎠
⎛ 2π n ⎞
5. Hanning w [n ] = 0.5 − 0.5cos ⎜ ⎟
⎝ M ⎠

6. Kaiser w [n ] =
{
I0 β 1 − ((n − M / 2) / (M / 2)) 2 }
0 0.25 π 0.5 π 0.75 π π I0 {β }
93 94
Frequency

Common Windows (Frequency) Window LPF Example

Window Mainlobe Sidelobe


Width Attenuation
Rectangular 4π / M − 13 dB 0 0.2 π 0.4 π 0.6 π 0.8 π π
Frequency
Bartlett 8π /M − 27 dB
Hanning 8π /M − 32 dB
Hamming 8π /M − 43 dB
Blackman 12π /M − 58dB

95 0 0.2 π 0.4 π 0.6 π 0.8 π π 96


Frequency

16
Equiripple Design Specifications Optimal FIR Filter Design
• Equiripple in each defined band (passband
and stopband for lowpass filter, high and
low stopband and passband for bandpass
filter, etc.)
• Optimal in sense π
that the cost function
1
2π ∫π
E= β (ω ) | H (ω) − H (ω) | dω
d
2


ωp = normalized edge of passband frequency is minimized. Solution via well known
ωs = normalized edge of stopband frequency
δ p = peak ripple in passband
iterative algorithm based on the alternation
δ s = peak ripple in stopband theorem of Chebyshev approximation.
Δω =ωs − ωp = normalized transition bandwidth 97 98

Remez Lowpass Filter Design


MATLAB FIR Design
1. Use fdatool to design digital filters
2. Use firpm to design FIR filters
• B=firpm(N,F,A)
• N+1 point linear phase, FIR design
• B=filter coefficients (numerator polynomial)
• F=ideal frequency response band edges (in pairs) (normalized to 1.0)
• A=ideal amplitude response values (in pairs)
3. Use freqz to convert to frequency response (complex)
• [H,W]=freqz(B,den,NF)
• H=complex frequency response
• W=set of radian frequencies at which FR is evaluated (0 to pi) N=30
• B=numerator polynomial=set of FIR filter coefficients F=[0 0.4 0.5 1];
A=[1 1 0 0];
• den=denominator polynomial=[1] for FIR filter B=firpm(N,F,A)
• NF=number of frequencies at which FR is evaluated
NF=512; number of frequency points
4. Use plot to evaluate log magnitude response [H,W]=freqz(B,1,NF);
• plot(W/pi, 20log10(abs(H))) 99 100
plot(W/pi,20log10(abs(H)));

Remez Bandpass Filter Design


% bandpass_filter_design
N=input('Filter Length in Samples:'); FIR Implementation
F=[0 0.18 .2 .4 .42 1];
A=[0 0 1 1 0 0];
B=firpm(N,F,A);
NF=1024; x[n] x[ n − 1] x[n − 2] x[n − 3] x[n − M ]
[H,W]=freqz(B,1,NF);

figure,orient landscape;
stitle=sprintf('bandpass fir design,
N:%d,f: %4.2f %4.2f %4.2f %4.2f %4.2f
%4.2f',N,F);
y[n]
n=0:N;
subplot(211),plot(n,B,'r','LineWidth',2);
axis tight,grid on,title(stitle);
xlabel('Time in Samples'),ylabel('Amplitude');
legend('Impulse Response');
• linear phase filters can be implemented with half
subplot(212),plot(W/pi,20*log10(abs(H)),'b','LineWidth',2);
the multiplications (because of the symmetry of
axis ([0 1 -60 0]), grid on; the coefficients)
xlabel('Normalized Frequency'),ylabel('Log Magnitude (dB)');
legend('Frequency Response'); 101 102

17
IIR Systems IIR Design Methods
N M
y [n ] = ∑ ak y [n − k ] + ∑ br x[n − r ] • Impulse invariant transformation – match the
k =1 r =0

• y [n ] depends on y [n − 1], y [n − 2],..., y [n − N ] as well as analog impulse response by sampling; resulting


x[n ], x[n − 1],..., x[n − M ] frequency response is aliased version of analog
• for M < N frequency response
M • Bilinear transformation – use a transformation
∑b z r
−r
N
Ak to map an analog filter to a digital filter by
H (z ) = r =0
=∑ - partial fraction expansion
N
1 − dk z −1 warping the analog frequency scale (0 to infinity)
1 − ∑ ak z −k k =1

k =1 to the digital frequency scale (0 to pi); use


N
h[n ] = ∑ Ak (d k )n u[n ] - for causal systems frequency pre-warping to preserve critical
k =1 frequencies of transformation (i.e., filter cutoff
h[n ] is an infinite duration impulse response frequencies)
103 104

IIR Filter Design Butterworth Design

0 0.2 π 0.4 π 0.6 π 0.8 π π


Frequency

105 106
0 0.2 π 0.4 π 0.6 π 0.8 π π
Frequency

Chebyshev Type I Design Chebyshev BPF Design

0 0.2 π 0.4 π 0.6 π 0.8 π π


Frequency

107 0 0.2 π 0.4 π 0.6 π 0.8 π 108


ππ
Frequency

18
Chebyshev Type II Design Elliptic BPF Design

0 0.2 π 0.4 π 0.6 π 0.8 π π 0 0.2 π 0.4 π 0.6 π 0.8 π π


Frequency Frequency

0 0.2 π 0.4 π 0.6 π 0.8 π π 109 0 0.2 π 0.4 π 0.6 π 0.8 π π 110
Frequency Frequency

IIR Filters Matlab Elliptic Filter Design


• IIR filter issues: • use ellip to design elliptic filter
– efficient implementations in terms of computations – [B,A]=ellip(N,Rp,Rs,Wn)
– B=numerator polynomial—N+1 coefficients
– can approximate any desired magnitude response – A=denominator polynomial—N+1 coefficients
with arbitrarily small error
– N=order of polynomial for both numerator and denominator
– non-linear phase => time dispersion of waveform – Rp=maximum in-band (passband) approximation error (dB)
• IIR design methods – Rs=out-of-band (stopband) ripple (dB)
– Butterworth designs-maximally flat amplitude – Wp=end of passband (normalized radian frequency)
– Bessel designs-maximally flat group delay • use filter to generate impulse response
– y=filter(B,A,x)
– Chebyshev designs-equi-ripple in either passband or
– y=filter impulse response
stopband
– x=filter input (impulse)
– Elliptic designs-equi-ripple in both passband and
stopband • use zplane to generate pole-zero plot
– zplane(B,A)
111 112

Matlab Elliptic Lowpass Filter


IIR Filter Implementation

M=N=4

N M
y [n ] = ∑ ak y [n − k ] + ∑ br x[n − r ]
k =1 r =0
N
w [n ] = ∑ ak w [n − k ] + x[n ]
k =1
M
y [n ] = ∑ br w [n − r ]
r =0
[b,a]=ellip(6,0.1,40,0.45); [h,w]=freqz(b,a,512); x=[1,zeros(1,511)]; y=filter(b,a,x); zplane(b,a);
appropriate plotting commands; 113 114

19
IIR Filter Implementations IIR Filter Implementations
N K
c0 k + c1k z −1
A∏ (1 − cr z −1 )
H (z) = ∑ −1
, parallel system
H (z) = - zeros at z = cr , poles at z = d k
k =1 1 − a1k z − a2 k z −2
r =1
N

∏ (1 − d z
k =1
k
−1
)
c01
- since ak and br are real, poles and zeros occur in complex conjugate pairs =>
−1 −2
b0k + b1k z + b2 k z
K
⎡ N + 1⎤
H(z) = A∏ , K =⎢
1 − a1k z −1 − a2k z −2
k =1 ⎣ 2 ⎥⎦ Common form
- cascade of second order systems for speech
a21
synthesizer
Used in formant c02 implementation
synthesis
systems based
a12
on ABS c12
methods
115 116

DSP in Speech Processing Sampling of Waveforms


• filtering — speech coding, post filters, pre-filters, noise xa(t) Sampler and x[n],x(nT)
reduction Quantizer
• spectral analysis — vocoding, speech synthesis,
speech recognition, speaker recognition, speech Period, T
enhancement
• implementation structures — speech synthesis,
analysis-synthesis systems, audio encoding/decoding for
MP3 and AAC x[n ] = xa (nT ), − ∞ < n < ∞
• sampling rate conversion — audio, speech
– DAT — 48 kHz
T = 1/ 8000 sec =125 μ sec for 8kHz sampling rate
– CD — 44.06 kHz T = 1/10000 sec = 100 μ sec for 10 kHz sampling rate
– Speech — 6, 8, 10, 16 kHz
– Cellular — TDMA, GSM, CDMA transcoding T = 1/16000 sec = 67 μ sec for 16 kHz sampling rate
T = 1/ 20000 sec = 50 μ sec for 20 kHz sampling rate
117 118

The Sampling Theorem Sampling Theorem Equations


If a signal xa(t) has a bandlimited Fourier transform Xa(jΩ)
such that Xa(jΩ)=0 for Ω≥2πFN, then xa(t) can be uniquely ∞
xa (t ) ←⎯
→ X a ( j Ω) = ∫x (t ) e − j Ωt dt
reconstructed from equally spaced samples xa(nT), -∞<n<∞, if
a
1/T≥2 FN (FS≥2FN) (A-D or C/D converter)
−∞
xa(t)

→ X (e j ΩT ) =
x[n ] ←⎯ ∑x
n =−∞
a (nT )e − j ΩnT
xa(nT)

1
X (e j ΩT ) =
T
∑X
k =−∞
a ( j Ω + j 2π k / T )

xa(nT) = xa(t) uT(nT), where uT(nT) is a periodic pulse train of period T,


119 120
with periodic spectrum of period 2π/T

20
Sampling Theorem Interpretation Sampling Rates
• FN = Nyquist frequency (highest frequency with
significant spectral level in signal)
• must sample at at least twice the Nyquist
To avoid aliasing need: frequency to prevent aliasing (frequency
2π / T − ΩN > ΩN
overlap)
– telephone speech (300-3200 Hz) => FS=6400 Hz
⇒ 2π / T > 2 ΩN
– wideband speech (100-7200 Hz) => FS=14400 Hz
⇒ Fs = 1/ T > 2FN
– audio signal (50-21000 Hz) => FS=42000 Hz
– AM broadcast (100-7500 Hz) => FS=15000 Hz
case where 1 / T < 2FN ,
• can always sample at rates higher than twice the
aliasing occurs Nyquist frequency (but that is wasteful of
processing)
121 122

Decimation and Interpolation of


Recovery from Sampled Signal
Sampled Waveforms
• If 1/T > 2 FN the Fourier transform of the sequence of samples is
proportional to the Fourier transform of the original signal in the • CD rate (44.06 kHz) to DAT rate (48 kHz)—media
baseband, i.e., conversion
1 π • Wideband (16 kHz) to narrowband speech rates (8kHz,
X (e j ΩT ) = X a ( j Ω), | Ω | <
T T 6.67 kHz)—storage
• can show that the original signal can be recovered from the sampled • oversampled to correctly sampled rates--coding
signal by interpolation using an ideal LPF of bandwidth π /T, i.e.,

bandlimited sample
x[n ] = xa (nT ), X a ( j Ω) = 0 for | Ω |> 2π FN

⎡ sin(π (t − nT ) / T ) ⎤
∑ xa (nT ) ⎢ π (t − nT ) / T ⎥ if 1/ T > 2FN (adequate sampling) then
interpolation—perfect at
x a (t ) = every sample point,
n =−∞ ⎣ ⎦ perfect in-between
samples via interpolation
1 π
• digital-to-analog converter X(e j ΩT ) = X a ( j Ω), | Ω |<
T T
123 124

Decimation and Interpolation


Decimation
Standard Sampling: begin with digitized signal:
x[ n] = xa (nT ) ↔ X a ( jΩ) = 0, | Ω |≥ 2π FN ( a)
1
Fs = ≥ 2 FN
T
j ΩT 1 π
X (e ) = X a ( jΩ), | Ω |< (b)
Decimation, M=2 => T’=2T T T
X (e jΩT ) = 0, 2π FN ≤| Ω |≤ 2π ( Fs − FN )
can achieve perfect recovery of xa (t ) from
digitized samples under these conditions

Interpolation, L=2 => T’=T/2

125 126

21
Decimation Decimation
want to reduce sampling rate of
sampled signal by factor of M ≥ 2
want to compute new signal xd [n]
with sampling rate Fs ' = 1/ T ' = 1( MT ) = Fs / M
such that xd [n] = xa (nT '' ) with no aliasing need
one solution is to downsample x[n] = xa (nT ) Fs ' ≥ 2 FN
to avoid aliasing for M = 2 (c )
by retaining one out of every M samples of x[n],
when
giving xd [n] = x[nM ] Fs ' < 2 FN
we get aliasing for M = 2 (d )

127 128

Decimation Decimation
to decimate by factor of M with no aliasing, need to
ensure that the highest frequency in x[n] is no greater
DTFTs of x[n] and xd [n] related by aliasing relationship: than Fs / (2M )
1 M −1 thus we need to filter x[n] using an ideal lowpass
X d (e jω ) = ∑ X (e j (ω −2π k )/ M )
M k =0 filter with response:
or equivalently (in terms of analog frequency): ⎧1 | ω |< π / M
H d (e jω ) = ⎨
⎩0 π / M <| ω |≤ π
M −1
1
X d (e j ΩT '
)=
M
∑ X (e
k =0
j ( ΩT ' − 2π k )/ M
)
using the appropriate lowpass filter, we can down-
1 sample the reuslting lowpass-filtered signal
assuming Fs ' = ≥ 2 FN , (i.e., no aliasing) we get:
MT by a factor of M without aliasing
j ΩT ' 1 jΩT '/ M 1 1 1
X d (e ) = X (e )= X (e jΩT ) = X a ( jΩ)
M M MT
1 π π
= X a ( jΩ), − < Ω < 129 130
T' T' T'

Decimation Interpolation
using a lowpass filter gives: assume we have x[n] = xa ( nT ), (no aliasing) and we wish to increase
1 π π the sampling rate by the integer factor of L
Wd (e jΩT ' ) = H d (e jΩT ) X a ( jΩ), − < Ω < we need to compute a new sequence of samples of xa (t ) with period
T' T' T'
T '' = T / L, i.e.,
if filter is used, the down-sampled signal, wd [ n],
xi [ n] = xa (nT '') = xa ( nT / L)
no longer represents the original analog signal, It is clear that we can create the signal
xa (t ), but instead the lowpass filtered version of xi [ n] = x[ n / L] for n = 0, ± L, ±2 L,...
but we need to fill in the unknown samples by an interpolation process
xa (t ) can readily show that what we want is:
the combined operations of lowpass filtering ∞
⎡ sin[π (nT ''− kT ) / T ] ⎤
xi [ n] = xa (nT '') = ∑ x (kT ) ⎢ ⎥
⎣ [π ( nT ''− kT ) / T ] ⎦
a
and downsampling are called decimation. k =−∞

equivalently with T '' = T / L, x[n] = xa ( nT ) we get



⎡ sin[π (n − k ) / L] ⎤
xi [ n] = xa (nT '') = ∑ x (k ) ⎢ ⎥
⎣ [π ( n − k ) / L] ⎦
a
k =−∞
131 which relates xi [ n] to x[ n] directly 132

22
Interpolation
implementing the previous equation by filtering the upsampled sequence
Interpolation
⎧ x [n / L] n = 0, ± L, ±2 L,...
xu [ n] = ⎨
⎩ 0 otherwise (a ) Plot of X ( e jΩT )
xu [ n] has the correct samples for n = 0, ± L, ±2 L,..., but it has zero-valued (b) Plot of X u (e jΩT '' ) showing double
samples in between (from the upsampling operation) periodicity for L = 2, T '' = T / 2
(c ) DTFT of desired signal with
The Fourier transform of xu [n] is simply:
⎧(2 / T ) X a ( jΩ) | Ω |≤ 2π FN
X u (e jω ) = X (e jω L ) X i ( e jΩT '' ) = ⎨
⎩ 0 2π FN <| Ω |≤ π / T ''
j ΩT '' j ΩT '' L j ΩT
X u (e ) = X (e ) = X (e ) can obtain results of ( c) by applying ideal
Thus X u (e jΩT '' ) is periodic with two periods, namely lowpass filter with gain L (to restore amplitude)
and cutoff frequency 2π FN = π / T , giving:
with period 2π / L, due to upsampling) and 2π due to being a digital signal
⎧(1 / T '') X (e jω L ) 0 ≤| ω |< π / L
X i ( e jω ) = ⎨
⎩ 0 π / L ≤| ω |≤ π
⎧L | ω |< π / L
H i ( e jω ) = ⎨
⎩ 0 π / L ≤| ω |≤ π

133 134

SR Conversion by Non-Integer Factors


Interpolation
• T’=MT/L => convert rate by factor of M/L
Original signal, x[n], at sampling period, T , • need to interpolate by L, then decimate by M (why can’t
is first upsampled to give signal xu [n] with it be done in the reverse order?)

sampling period T '' = T / L


lowpass filter removes images of original
spectrum giving:
Lowpass Interpolation Decimation
xi [ n] = xa (nT '') = xa ( nT / L) Filter LPF LPF
need to combine specifications of both LPFs and
implement in a single stage of lowpass filtering

• can approximate almost any rate conversion with appropriate values of L and M

• for large values of L, or M, or both, can implement in stages, i.e., L=1024, use
L1=32 followed by L2=32
135 136

Summary of DSP-Part II
• digital filtering provides a convenient way of processing
signals in the time and frequency domains
• can approximate arbitrary spectral characteristics via
either IIR or FIR filters, with various levels of
approximation
• can realize digital filters with a variety of structures,
including direct forms, serial and parallel forms
• once a digital signal has been obtain via appropriate
sampling methods, its sampling rate can be changed
digitally (either up or down) via appropriate filtering and
decimation or interpolation

137

23

You might also like