The Institute for Signal and Information Processing

ECE8423
8443––Adaptive
Pattern Recognition
ECE
Signal Processing
LECTURE 07: TIME-DELAY ESTIMATION
AND ADPCM
• Objectives:
Time-Delay Estimation
The LMS Time-Delay Estimator
Adaptive Differential PCM
• Resources:
CNX: Time-Delay Estimation
CNX: Beamforming
Wiki: Pulse Code Modulation
Kurssit: Differential Coding of Images
• URL: .../publications/courses/ece_8423/lectures/current/lecture_07.ppt
• MP3: .../publications/courses/ece_8423/lectures/current/lecture_07.mp3
Time-Delay Estimation
• Our challenge is to estimate the
time-delay between two signals.
• Applications include radar, sonar,
geophysics, biomedical, and audio.
• Two measurements are made at
sensors P1 and P2 separated by a
distance d.
• A simple model for the received signals is:
x1 (t )  s(t )  v1 (t )
x 2 (t )  s(t  D)  v 2 (t )
s(t) is the signal which is derived from some distant source, and modeled as
traveling at a constant speed.
• v1(t) and v2(t) are additive noise terms measured at the receiver and D is the
delay. v1(t) and v2(t) are assumed to be zero-mean, stationary, mutually
uncorrelated.
• We also assume that these measurement noises are uncorrelated with the
signal, s(t). (We will relax these assumptions later.)
ECE 8423: Lecture 07, Slide 1
Angle of Arrival
• The delay, D, can be related to the
angle of arrival of the signal:
d 
D    sin  
c
where  is the arrival of bearing angle
to the source, and c is the propagation
velocity of the signal through the
medium.
• The estimation of the bearing angle is reduced to the estimation of the delay,
D, given the noisy measurements x1(t) and x2(t).
• Note that this approach can be extended to multiple dimensions using
multiple sensors.
ECE 8423: Lecture 07, Slide 2
Correlation-Based Estimation
• The time-delay can be estimated using correlation techniques:
rx1x2    Ex1 (t ) x 2 (t   )
We can set the time-delay as the peak in the correlation function.
• A more rigorous approach is known as the Knapp and Carter generalized
correlation method:
ry1 y2    w   rx1x2  
• A maximum likelihood estimate can be derived that achieves the Cramer-Rao
lower bound as the estimation time increases.
• The ML weighting function can be expressed in terms of the magnitudesquared coherence function (in the frequency domain):
msc   12   
2
Rx1x2  
2
Rx1x1  Rx2 x2  
• The ML weighting function can be shown to have the form:
Rss   / Rvv2  
WML   
1  (2 Rss   / Rvv  )
assuming that the noises at each sensor have the same spectra, Rvv().
ECE 8423: Lecture 07, Slide 3
The LMS Time-Delay Estimator
• We can formulate this using our
standard LMS approach:
f n1  f n  e(n)x n
x2 (n)  s(n  D)  v2 (n)
e(n)  x2 (n)  y(n)  x2 (n)  f nt x (n1 )
x1 (n)  s(n)  v1 (n)
• The delay is taken as the maximum
value of the filter’s impulse response.
+
f
–
y (n)
e(n)
• However, sometimes this peak does not occur exactly at a sample instant, and
a more refined estimate of the delay requires interpolation.
• However, for simplicity, let’s assume D=kT (integer multiple of samples).
• We can write an expression for the error:
e(n)  x2 (n)  y(n)  [s(n  D)  v2 (n)  f (n)]  [s(n)  v1 (n)]
• Given that v1(n) and v2(n) are mutually uncorrelated, a good solution might be:
f ( n)   ( n  D )
which produces:
e(n)  v2 (n)  v1 (n  D) and


E e 2 n   22   12
• But there are drawbacks to this approach. Why?
ECE 8423: Lecture 07, Slide 4
Two-Sided Wiener Filter
• Recall our two-sided Wiener solution for the LMS filter:
 
Fe
j
 
e 
R x1 x2 e j
R x1 x1
j
x1 (n)  s(n)  v1 (n)
x 2 ( n)  s ( n  D )  v 2 ( n )
• In the noise-free case (v1 (n)  v2 (n)  0 ):
 
Fe
j
 
 
Rss e j e  jD
 jD


e
Rss e j
f ( n)   ( n  D )
• A more general solution for non-zero noise and v1 (n)  v2 (n) is:
 
Fe
j
 
Rss e j

e  jD
j
j
Rss e  Rvv e
 
 
• To illustrate this process, consider four examples (fs = 1000 Hz, D = 10 samp.):
(1) s (n)  w(n)

H e
H e

1
1
(2) s (n)  h1 (n)  w(n) where H 1 e j 2 / T  1 150  F  350 Hz
(3) s (n)  h1 (n)  w(n) where
(4) s (n)  h1 (n)  w(n) where
ECE 8423: Lecture 07, Slide 5
j 2 / T
1
1
j 2 / T
200  F  300 Hz
225  F  275 Hz
Examples
ECE 8423: Lecture 07, Slide 6
Adaptive Differential Pulse Code Modulation
• We can use our LMS filter as
a linear predictor to reduce
the dynamic range of and
compress an audio signal.
s (n)
–
Q
f
• The error signal can be written as:
to receiver
sˆ( n)
sˆ(n / n  1)
e(n)  s(n)  sˆ(n / n  1)
• The error signal is applied to
a quantizer:
eq (n)  Qe(n)
+
e q (n )
sˆ( n)
e q (n )
+
from transmitter
+
• The prediction filter has the form:
sˆ(n / n  1)  f nt 1e q n
f
• At the receiver:
sˆ(n)  sˆ(n / n  1)  eq (n)
• The filter coefficients are updated using:
f n  f n-1  e q n  1eq (n)
• The challenge in such systems is to allow the filters at the transmitter and
receiver to stay in sync without transmitting side information about the filter.
ECE 8423: Lecture 07, Slide 7
Echo Cancellation
N 1
r (i )   h(k ) y (i  k )
k 0
N 1
rˆ(i )   a k y (i  k )
k 0
a k (i  1)  a k (i )  2  E[e(i ) y (i  k )
 a k (i ) 
2
M
ECE 8423: Lecture 07, Slide 8
M 1
 e(i  m) y(i  m  k )
m 0
 (i ) 
1
2 Py (i )
Py (i )  L y (i ) 
2
L y (i  1)  (1   ) L y (i )   y (i )
Summary
• We demonstrated how to use an LMS filter to estimate the time delay (and
source location) of a signal.
• We discussed correlation and LMS approaches to this problem.
• introduced adaptive differential pulse code modulation as an application of
LMS filtering.
• Briefly discussed an echo cancellation application.
• Next: we will investigate new computational forms of the LMS filter (e.g.,
leaky gradient descent and lattice filters).
ECE 8423: Lecture 07, Slide 9