1. Methodology for channel probing
Signal processing techniques used to find the channel impulse
response from the SAVEX15 dataset
Leon Nguyen
Advisors: Heechun Song and Bill Hodgkiss
August 12, 2015
2. 1 Introduction: SAVEX15 and a signal processing primer
The Fourier transform
Signal processing
Impulse response
Why channel probe?
2 Stationary source experiments
Source signals: Chirp and m-sequence
Matched filtering to estimate the impulse response
3 Optimizing by demodulation
Complex baseband signal
Downsampling by decimation
4 Moving source experiments
Geometry of the problem and the Doppler effect
3. Introduction: SAVEX15
South
Korea
China
Japan
115°
E
120°
E 125°
E 130
°
E
135
°
E
30°
N
35°
N
40°
N
45°
N
• Shallow-water Acoustic
Variability EXperiment
• May 14-28, 2015
• Coupling of oceanography,
acoustics, and underwater
communications
• How do short- and
long-term fluctuations affect
communications
performance?
4. Introduction: SAVEX15
South
Korea
China
Japan
115°
E
120°
E 125°
E 130
°
E
135
°
E
30°
N
35°
N
40°
N
45°
N
• Shallow-water Acoustic
Variability EXperiment
• May 14-28, 2015
• Coupling of oceanography,
acoustics, and underwater
communications
• How do short- and
long-term fluctuations affect
communications
performance?
2015-08-13
Introduction: SAVEX15 and a signal processing
primer
Introduction: SAVEX15
1. Short term on the order of seconds or tens of seconds; e.g. changes
to the impulse response
2. Long term on the order of days; e.g. internal waves
5. Time-frequency analysis and the Fourier transform
Acoustic signal x(t) Time-domain representation
Fourier transform X(f ) Frequency-domain representation
The Fourier Transform and its Inverse
X(f ) =
∞
−∞
x(t)e−i2πft
dt
x(t) =
∞
−∞
X(f )ei2πft
df
Why bother with this?
• Can look at a time signal in terms of its frequency components
• Has an efficient implementation: FFT (Fast Fourier Transform)
• Preserves energy of the signal
6. Time-frequency analysis and the Fourier transform
Acoustic signal x(t) Time-domain representation
Fourier transform X(f ) Frequency-domain representation
The Fourier Transform and its Inverse
X(f ) =
∞
−∞
x(t)e−i2πft
dt
x(t) =
∞
−∞
X(f )ei2πft
df
Why bother with this?
• Can look at a time signal in terms of its frequency components
• Has an efficient implementation: FFT (Fast Fourier Transform)
• Preserves energy of the signal
2015-08-13
Introduction: SAVEX15 and a signal processing
primer
The Fourier transform
Time-frequency analysis and the Fourier
transform
1. The complex exponentials are orthogonal and form a basis for the
space of Fourier transforms. Any time signal can be written as a
linear combination of many complex exponential functions at
varying frequencies.
2. FFT reduces computation complexity from O(n2
) to O(nlogn).
3. Can be thought of as a ”rotation” to a different domain. The
magnitude squared of both domain representations are equal: total
energy across all time is equal to that across all frequencies.
Therefore, operations in one domain fully translate to the other
domain.
7. Modifying signals in the frequency domain
X(f ) =
∞
−∞
x(t)e−i2πft
dt = X(f ) eiφ(f )
• Analyze in terms of magnitude X(f ) and phase φ(f )
f
X1(f )
f
X2(f )
f
X3(f )
X1(f ) × X2(f ) = X3(f ) ⇔ x1(t) ∗ x2(t) = x3(t)
• Multiplication in the frequency domain is convolution in the
time domain
8. Modifying signals in the frequency domain
X(f ) =
∞
−∞
x(t)e−i2πft
dt = X(f ) eiφ(f )
• Analyze in terms of magnitude X(f ) and phase φ(f )
f
X1(f )
f
X2(f )
f
X3(f )
X1(f ) × X2(f ) = X3(f ) ⇔ x1(t) ∗ x2(t) = x3(t)
• Multiplication in the frequency domain is convolution in the
time domain
2015-08-13
Introduction: SAVEX15 and a signal processing
primer
Signal processing
Modifying signals in the frequency domain
1. Look at frequency-domain representation in terms of amplitude and
phase. The amplitude tells us about how much of the original signal
is present at each frequency and the phase tells us about the
position in time for each frequency.
2. If a time signal is corrupted with low-frequency noise, we can
multiply its Fourier transform with that of a high-pass filter.
9. Impulse response
Convolution
f [n] ∗ g[n] =
∞
k=−∞
f [k]g[n − k]
• Same calculation as polynomial multiplication
• E.g. [1, 1] ∗ [1, 1] → (1x + 1)(1x + 1) = 1x2
+ 2x + 1 → [1, 2, 1]
Impulse
δ[n] =
0, n = 0
1, n = 0
n
0−1 1
• Impulse response h[n] is the response
of a system to an impulse δ[n]
• Any sequence convolved with an
impulse δ[n] is itself
δ[n] ∗ h[n] = h[n]
10. Impulse response
Convolution
f [n] ∗ g[n] =
∞
k=−∞
f [k]g[n − k]
• Same calculation as polynomial multiplication
• E.g. [1, 1] ∗ [1, 1] → (1x + 1)(1x + 1) = 1x2
+ 2x + 1 → [1, 2, 1]
Impulse
δ[n] =
0, n = 0
1, n = 0
n
0−1 1
• Impulse response h[n] is the response
of a system to an impulse δ[n]
• Any sequence convolved with an
impulse δ[n] is itself
δ[n] ∗ h[n] = h[n]
2015-08-13
Introduction: SAVEX15 and a signal processing
primer
Impulse response
Impulse response
1. We switch to a discretized notation because computers work with
sampled versions of continuous/analog signals. Convolution can be
seen as a ”sliding” dot product.
2. The continuous/analog delta function is called a Dirac delta function,
which is infinitesimally short in time and infinitesimally large in
amplitude with an area of 1. The discretized version is called the
Kronecker delta function.
11. Why do we probe channels?
• If we know the impulse response h[n], we know the response
to any sampled input signal x[n]
• Can represent any x[n] as a sum of weighted and shifted
impulses δ[n]
• δ[n] ∗ h[n] = h[n]
• E.g. (0.5δ[n] + 3δ[n − 3])
input x[n]
∗ h[n] = 0.5h[n] + 3h[n − 3]
output y[n]
• The ocean is dynamic
Time Delay (ms)
Geotime(s)
0 2 4 6 8 10 12 14 16
10
20
30
40
50
Time Delay (ms)
Geotime(s)
0 2 4 6 8 10 12 14 16
10
20
30
40
50
12. Why do we probe channels?
• If we know the impulse response h[n], we know the response
to any sampled input signal x[n]
• Can represent any x[n] as a sum of weighted and shifted
impulses δ[n]
• δ[n] ∗ h[n] = h[n]
• E.g. (0.5δ[n] + 3δ[n − 3])
input x[n]
∗ h[n] = 0.5h[n] + 3h[n − 3]
output y[n]
• The ocean is dynamic
Time Delay (ms)
Geotime(s)
0 2 4 6 8 10 12 14 16
10
20
30
40
50
Time Delay (ms)
Geotime(s)
0 2 4 6 8 10 12 14 16
10
20
30
40
50
2015-08-13
Introduction: SAVEX15 and a signal processing
primer
Why channel probe?
Why do we probe channels?
1. The ocean sound channel is time-varying. The graphics show a
channel impulse response at the same location but separated in time
by 1 hour. We need frequent updates of channel impulse responses
so that the receiver can decode received communications.
2. Being able to communicate underwater allows for applications in
environmental monitoring, ocean exploration, and military
communications.
13. 1 Introduction: SAVEX15 and a signal processing primer
The Fourier transform
Signal processing
Impulse response
Why channel probe?
2 Stationary source experiments
Source signals: Chirp and m-sequence
Matched filtering to estimate the impulse response
3 Optimizing by demodulation
Complex baseband signal
Downsampling by decimation
4 Moving source experiments
Geometry of the problem and the Doppler effect
14. Stationary acoustic source experimental layout
Sta02 (VLA 1)
Sta03
Sta04 (VLA 2)
Sta05Sta06
126.1
°
E 126.2°
E
32.6
°
N
Source
• 8-element vertical array (1st
at 20 m depth)
• 7.5 m spacing
Receiver
• 16-element vertical array
(1st at 24 m depth)
• 3.75 m spacing
• 100 kHz sampling frequency
Source to Receiver Distances
Sta06 Sta03 Sta05
4.18 km 2.78 km 5.45 km
15. Stationary acoustic source experimental layout
Sta02 (VLA 1)
Sta03
Sta04 (VLA 2)
Sta05Sta06
126.1
°
E 126.2°
E
32.6
°
N
Source
• 8-element vertical array (1st
at 20 m depth)
• 7.5 m spacing
Receiver
• 16-element vertical array
(1st at 24 m depth)
• 3.75 m spacing
• 100 kHz sampling frequency
Source to Receiver Distances
Sta06 Sta03 Sta05
4.18 km 2.78 km 5.45 km
2015-08-13
Stationary source experiments
Stationary acoustic source experimental layout
1. Since the depth is only 100 m and the distances are on the order of
km, we are observing the far field case where we see the multipath
of the acoustic sound channel.
16. Source signal parameters: Chirp and m-sequence
• Source transmits 1-hour long sequence of transmissions
• 8 minutes from the hour used for each probing signal
• 1 minute for each source element
Time (ms)
Frequency(kHz)
10 20 30 40 50
0
5
10
15
20
25
30
35
40
Chirp
• Sweeps 11-31 kHz in 60 ms
• Repeats every 120 ms
m-sequence
• Pseudorandom sequence of
+1, -1 (511 digits)
• Repeats every 51.1 ms
17. Source signal parameters: Chirp and m-sequence
• Source transmits 1-hour long sequence of transmissions
• 8 minutes from the hour used for each probing signal
• 1 minute for each source element
Time (ms)
Frequency(kHz)
10 20 30 40 50
0
5
10
15
20
25
30
35
40
Chirp
• Sweeps 11-31 kHz in 60 ms
• Repeats every 120 ms
m-sequence
• Pseudorandom sequence of
+1, -1 (511 digits)
• Repeats every 51.1 ms
2015-08-13
Stationary source experiments
Source signals: Chirp and m-sequence
Source signal parameters: Chirp and
m-sequence
1. These sequences repeat periodically to fill up about 55 seconds of
the 1 minute transmission. Note that the chirp has 60 ms of silence in
between each chirp sounding.
18. Matched filtering to achieve an impulse response estimate
• Chirps and m-sequences do not model the impulse δ(t)/δ[n]
• How do we get the impulse response h[n]?
• We know: source signal s[n] and received noisy signal r[n]
r[n] = h[n] ∗ s[n]
Matched filter
y[n]
matched filter output
=
∞
k=−∞
r[k]s∗
[k − n]
• Used to detect signals in noise while achieving maximum
signal-to-noise ratio (SNR)
• Looks like convolution: y[n] = ∞
k=−∞ r[k]s[n − k]
• It is instead cross-correlation
19. Matched filtering to achieve an impulse response estimate
• Chirps and m-sequences do not model the impulse δ(t)/δ[n]
• How do we get the impulse response h[n]?
• We know: source signal s[n] and received noisy signal r[n]
r[n] = h[n] ∗ s[n]
Matched filter
y[n]
matched filter output
=
∞
k=−∞
r[k]s∗
[k − n]
• Used to detect signals in noise while achieving maximum
signal-to-noise ratio (SNR)
• Looks like convolution: y[n] = ∞
k=−∞ r[k]s[n − k]
• It is instead cross-correlation
2015-08-13
Stationary source experiments
Matched filtering to estimate the impulse response
Matched filtering to achieve an impulse
response estimate
1. The complex conjugation in one of the matched filter inputs is for
getting a positive contribution from complex signals when the
imaginary parts have the same sign. Recall i2
= −1, so we conjugate
one of the imaginary parts to get a positive contribution to the
correlation.
2. The matched filter is derived in order to attain maximum SNR.
20. Matched filtering to achieve an impulse response estimate
• Can represent matched filter output as a convolution
• We know the received noisy signal r[n] = h[n] ∗ s[n]
• s[n] ∗ s∗[−n] is the autocorrelation Rss[n] of the source signal
• Autocorrelation Rss[n] for chirp and m-sequence approximate
impulse δ[n]
y[n] =
∞
k=−∞
r[k]s∗
[k − n]
= r[n] ∗ s∗
[−n]
= h[n] ∗ s[n] ∗ s∗
[−n]
= h[n] ∗ Rss[n]
≈ h[n] ∗ δ[n] = h[n]
n
511
−1
21. Matched filtering to achieve an impulse response estimate
• Can represent matched filter output as a convolution
• We know the received noisy signal r[n] = h[n] ∗ s[n]
• s[n] ∗ s∗[−n] is the autocorrelation Rss[n] of the source signal
• Autocorrelation Rss[n] for chirp and m-sequence approximate
impulse δ[n]
y[n] =
∞
k=−∞
r[k]s∗
[k − n]
= r[n] ∗ s∗
[−n]
= h[n] ∗ s[n] ∗ s∗
[−n]
= h[n] ∗ Rss[n]
≈ h[n] ∗ δ[n] = h[n]
n
511
−1
2015-08-13
Stationary source experiments
Matched filtering to estimate the impulse response
Matched filtering to achieve an impulse
response estimate
1. The m-sequence algorithm is such that the autocorrelation will be
the length of the sequence when the sequences line up exactly and
-1 otherwise. When all of the +1 and -1 of the sequence line up
exactly, they will multiply and sum up to the length of the sequence.
Otherwise, they won’t line up and the the sum of the products cancel
out. All that remains is a -1 since the sequence does not have an
even number of +1 and -1.
2. Because of this, m-sequences are orthogonal to each other and can
be used in a MIMO system to keep track of the multiple users.
22. 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5
−1
0
1
x 10
4
Time (s)
1.8 1.9 2 2.1 2.2 2.3 2.4 2.5
−1
0
1
x 10
6
Time (s)
2.04 2.045 2.05 2.055 2.06 2.065 2.07 2.075 2.08 2.085
−1
0
1
x 10
6
Time (s)
2.04 2.045 2.05 2.055 2.06 2.065 2.07 2.075 2.08 2.085
0
5
10
x 10
5
Time (s)
23. 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5
−1
0
1
x 10
4
Time (s)
1.8 1.9 2 2.1 2.2 2.3 2.4 2.5
−1
0
1
x 10
6
Time (s)
2.04 2.045 2.05 2.055 2.06 2.065 2.07 2.075 2.08 2.085
−1
0
1
x 10
6
Time (s)
2.04 2.045 2.05 2.055 2.06 2.065 2.07 2.075 2.08 2.085
0
5
10
x 10
5
Time (s)
2015-08-13
Stationary source experiments
Matched filtering to estimate the impulse response
1. The noisy received signal r[n] is from an m-sequence. Note that the
waveform looks just like noise.
2. The matched filter output y[n] ≈ h[n] has 1074 peak detections
since the 51.1 ms m-sequence is repeated 1074 times within the 1
minute transmission. Here we only show the first 10.
3. This is a zoomed-in version of the second matched filter output. This
is the impulse response estimate from that exact point in time.
4. This is an envelope of the second matched filter output. We do this
to get a smoother output for graphical purposes because the
high-frequency components from the modulation look choppy. It is
obtained by taking the real part of the analytic signal, which gives
the baseband envelope. In MATLAB we use abs(hilbert(y)).
25. 0 2 4 6 8 10 12 14 16 18
0
2
4
6
8
x 10
5
Time Delay (ms)
MatchedFilterOutput
Time Delay (ms)
Geotime(s)
0 2 4 6 8 10 12 14 16 18
10
20
30
40
50
Time Delay (ms)
RxChannelDepth(m)
0 2 4 6 8 10 12 14 16 18
24
27.75
31.5
35.25
39
42.75
46.5
50.25
54
57.75
61.5
65.25
69
72.75
76.5
80.25
2015-08-13
Stationary source experiments
Matched filtering to estimate the impulse response
1. We stack up the 1074 envelopes to show the time-varying channel
impulse response in the bottom left. Since this represents 1 channel
from the 16 elements in the receiver array, we do the same process
for the other 15 channels and stack them all up to get the figure on
the right. Here, we can see the multipath that the sound takes at that
moment in time.
2. These graphics show a 30 dB range of matched filter output
magnitude.
26. 1 Introduction: SAVEX15 and a signal processing primer
The Fourier transform
Signal processing
Impulse response
Why channel probe?
2 Stationary source experiments
Source signals: Chirp and m-sequence
Matched filtering to estimate the impulse response
3 Optimizing by demodulation
Complex baseband signal
Downsampling by decimation
4 Moving source experiments
Geometry of the problem and the Doppler effect
27. Demodulating the passband to a baseband signal
f [kHz]
Rp[f ]
11 21 31 50
f [kHz]
Rb[f ]
10 50
• Sampling frequency 100 kHz
• Real (passband) signals are
modulated by a cosine
• m-sequence is centered at
21 kHz and has a bandwidth
of 20 kHz
• Shift passband signal to the
baseband and low-pass filter
• Centered at 0 Hz
28. Demodulating the passband to a baseband signal
f [kHz]
Rp[f ]
11 21 31 50
f [kHz]
Rb[f ]
10 50
• Sampling frequency 100 kHz
• Real (passband) signals are
modulated by a cosine
• m-sequence is centered at
21 kHz and has a bandwidth
of 20 kHz
• Shift passband signal to the
baseband and low-pass filter
• Centered at 0 Hz
2015-08-13
Optimizing by demodulation
Complex baseband signal
Demodulating the passband to a baseband
signal
1. We modulate to send signals. We occupy a high frequency band in
order to prevent low-frequency noise from interfering with our
signal. A more familiar example of modulation is FM radio, which
allows us to have multiple stations.
2. By demodulating, we get an opportunity to utilize more of the
frequency band by decimating the signal.
3. Note that negative frequencies, Nyquist theorem, and the periodicity
of the Fourier transform is not presented here.
29. Downsampling to get rid of excess data
x
y
y = sin x
x
y
y = sin 4x
f [kHz]
Rb[f ]
10 50
f [kHz]
Rd[f ]
10 12.5
• Only keep every 4th sample
• Sampling frequency and
R(f ) reduce by a factor of 4
• Low-pass filtering and
downsampling is called
decimation
• r[n]: 6 million samples to 1.5
million
• Reduces matched filtering
FFT size from 223 to 221
30. Downsampling to get rid of excess data
x
y
y = sin x
x
y
y = sin 4x
f [kHz]
Rb[f ]
10 50
f [kHz]
Rd[f ]
10 12.5
• Only keep every 4th sample
• Sampling frequency and
R(f ) reduce by a factor of 4
• Low-pass filtering and
downsampling is called
decimation
• r[n]: 6 million samples to 1.5
million
• Reduces matched filtering
FFT size from 223 to 221
2015-08-13
Optimizing by demodulation
Downsampling by decimation
Downsampling to get rid of excess data
1. The original sine wave has 40 samples to represent the period, and
the downsampled version has 10 samples.
2. Going through a 19-22 hour transmission, I was able to cut
processing time from about 2 hours to 1 hour with a downsampling
factor of 4.
31. 1 Introduction: SAVEX15 and a signal processing primer
The Fourier transform
Signal processing
Impulse response
Why channel probe?
2 Stationary source experiments
Source signals: Chirp and m-sequence
Matched filtering to estimate the impulse response
3 Optimizing by demodulation
Complex baseband signal
Downsampling by decimation
4 Moving source experiments
Geometry of the problem and the Doppler effect
32. Moving acoustic source experimental layout
Sta02 (VLA 1)
Sta04 (VLA 2)
1b
1e 1f
1a1b
1c 1h
2a
2b
2e
2f
2h
2c
3b
3a
3f
3e
126.1
°
E 126.2°
E
32.5
°
N
32.6
°
N
• Source fish towed by ship at 1.5 m/s
• Same 16-element receiver arrays from
stationary experiment
33. Moving acoustic source experimental layout
Sta02 (VLA 1)
Sta04 (VLA 2)
1b
1e 1f
1a1b
1c 1h
2a
2b
2e
2f
2h
2c
3b
3a
3f
3e
126.1
°
E 126.2°
E
32.5
°
N
32.6
°
N
• Source fish towed by ship at 1.5 m/s
• Same 16-element receiver arrays from
stationary experiment
2015-08-13
Moving source experiments
Moving acoustic source experimental layout
1. The source was at a depth of around 50 m, but ocean waves and ship
movement will cause a varying source depth in these experiments.
34. Geometry of the problem and the Doppler effect
receiver
ship velocity v
radial velocity vr
θ
• Can linearize problem around a small observation time
• Doppler effect caused by radial velocity vr = v cos θ
• Moving away from receiver causes a time dilation (+vr )
• Moving towards receiver causes a time compression (−vr )
r (t) = r((1 −
vr
c
)t)
35. Geometry of the problem and the Doppler effect
receiver
ship velocity v
radial velocity vr
θ
• Can linearize problem around a small observation time
• Doppler effect caused by radial velocity vr = v cos θ
• Moving away from receiver causes a time dilation (+vr )
• Moving towards receiver causes a time compression (−vr )
r (t) = r((1 −
vr
c
)t)
2015-08-13
Moving source experiments
Geometry of the problem and the Doppler effect
Geometry of the problem and the Doppler
effect
1. Looking at a small observation time window, θ remains almost
constant and we can linearize the Doppler effect to just the radial
velocity component. This is because the source will be kilometers
away from the receiver, and in a 30 second m-sequence transmission,
the source will only move about 45 m if the ship is moving at 1.5 m/s.
2. We have to resample the time signal to undo the effects of time
dilation/compression. This is done by interpolation, which is not
presented here.
37. 0 5 10 15 20 25 30 35 40
5
10
15
20
25
30
Time Delay (ms)
Geotime(s)
Time Delay (ms)
Geotime(s)
0 5 10 15 20 25 30 35 40
5
10
15
20
25
30
2015-08-13
Moving source experiments
Geometry of the problem and the Doppler effect
1. This channel impulse response was from when the ship was
approaching towards to receiver, starting at 6.1635 km and ending at
6.1266 km for a distance traveled of 36.9 m. The top graphic has no
Doppler effect compensation, and the bottom graphic has
compensation.
2. These graphics show a 25 dB range of matched filter output
magnitude.
38. Recap
• Impulse response allows you to know what the output will be
to any input for a linear and time-invariant system/channel
• Matched filter detects signals in noise with maximum SNR and
can be used to estimate impulse responses
• Lots of nifty signal processing tricks to speed up data
processing
Thank you for listening, and a big thanks to MPL, my advisors,
lab-mates, and fellow interns!