Matched filters are used extensively in coherent active sonar. The output of a matched filter is used for detection, classification and localization. This document develops some properties of matched filters, including the SNR response in ambient noise and the response to reverberation.
In a matched filter for active sonar, we are integrating the echo plus interference times the echo’s replica. When an echo passes through the matched filter, we are cross-correlating the echo with a scaled version of the echo, so that the output is a scaled version of the auto-correlation of the echo corrupted by noise. The autocorrelation of the echo has a peak in time whose duration is approximately the inverse of the echo’s bandwidth.
For some waveforms (such as the Sinusoidal Frequency Modulation pulse) the autocorrelation function will have multiple peaks, termed ‘fingers’, due to the periodic structure of the pulse. Each autocorrelation finger has a time width approximately equal to the signal’s bandwidth.
The echo is written as
e(t)=ERr(t)e(t)=ERr(t) size 12{e \( t \) = sqrt {E rSub { size 8{R} } } r \( t \) } {}, where
∫0Tr2(t)dt=1∫0Tr2(t)dt=1 size 12{ Int cSub { size 8{0} } cSup { size 8{T} } {r rSup { size 8{2} } \( t \) } ital "dt"=1} {}
This implies that the echo energy
∫0Te2(t)dt∫0Te2(t)dt size 12{ Int cSub { size 8{0} } cSup { size 8{T} } {e rSup { size 8{2} } \( t \) ital "dt"} } {}is
ERER size 12{E rSub { size 8{R} } } {}, measured in Pascal^2-seconds.
We can write the matched filter operation in continuous time as
m
(
t
)
=
∫
t
t
+
T
y
(
σ
)
r
(
σ
−
t
)
dσ
m
(
t
)
=
∫
t
t
+
T
y
(
σ
)
r
(
σ
−
t
)
dσ
size 12{m \( t \) = Int cSub { size 8{t} } cSup { size 8{t+T} } {y \( σ \) r \( σ - t \) dσ} } {}
y(σ)y(σ) size 12{y \( σ \) } {}is the receiver time series. In response to a target echo that arrives at
TDTD size 12{T rSub { size 8{D} } } {}seconds and without noise or reverberation, the receiver output is
y(t)=e(t−TD)y(t)=e(t−TD) size 12{y \( t \) =e \( t - T rSub { size 8{D} } \) } {}. The output of the matched filter becomes:
m
(
t
)
=
∫
t
t
+
T
e
(
σ
−
T
D
)
r
(
σ
−
t
)
dσ
=
E
R
∫
t
t
+
T
r
(
σ
−
T
D
)
r
(
σ
−
t
)
dσ
m
(
t
)
=
∫
t
t
+
T
e
(
σ
−
T
D
)
r
(
σ
−
t
)
dσ
=
E
R
∫
t
t
+
T
r
(
σ
−
T
D
)
r
(
σ
−
t
)
dσ
size 12{m \( t \) = Int cSub { size 8{t} } cSup { size 8{t+T} } {e \( σ - T rSub { size 8{D} } \) r \( σ - t \) dσ} = sqrt {E rSub { size 8{R} } } Int cSub { size 8{t} } cSup { size 8{t+T} } {r \( σ - T rSub { size 8{D} } \) r \( σ - t \) dσ} } {}
Hence
m(TD)=ERm(TD)=ER size 12{m \( T rSub { size 8{D} } \) = sqrt {E rSub { size 8{R} } } } {}. The peak power output of the matched filter,
m2(t)m2(t) size 12{m rSup { size 8{2} } \( t \) } {}, in response to a echo is
ERER size 12{E rSub { size 8{R} } } {}.
We determine the matched filter response to noise next. Assume the input noise is white with variance
AN0AN0 size 12{ ital "AN" rSub { size 8{0} } } {}:
E
n
(
t
)
n
(
s
)
=
AN
0
δ
(
t
−
s
)
E
n
(
t
)
n
(
s
)
=
AN
0
δ
(
t
−
s
)
size 12{E left lbrace n \( t \) n \( s \) right rbrace = ital "AN" rSub { size 8{0} } δ \( t - s \) } {}
Note that the delta function has units of inverse seconds, and therefore
AN0AN0 size 12{ ital "AN" rSub { size 8{0} } } {}has units of Pascals^2/Hz, equivalent to a spectral density. From the definition of stationary random process autocorrelations and power spectral density, we know that the Fourier transform of the autocorrelation is the spectral density function for the random process. The Fourier transform of covariance becomes
∫ej2πfτAN0δ(τ)dτ=AN0∫ej2πfτAN0δ(τ)dτ=AN0 size 12{ Int {e rSup { size 8{j2πfτ} } } ital "AN" rSub { size 8{0} } δ \( τ \) dτ= ital "AN" rSub { size 8{0} } } {}, which is the spectral density of the noise.
E
m
(
t
)
m
(
s
)
=
E
∫
t
t
+
T
n
(
σ
)
r
(
σ
−
t
)
dσ
∫
t
t
+
T
n
(
β
)
r
(
β
−
t
)
dβ
=
AN
0
∫
t
t
+
T
∫
t
t
+
T
δ
(
σ
−
β
)
r
(
σ
−
t
)
r
(
β
−
t
)
dσdβ
=
AN
0
∫
t
t
+
T
r
2
(
σ
−
t
)
dσ
=
AN
0
E
m
(
t
)
m
(
s
)
=
E
∫
t
t
+
T
n
(
σ
)
r
(
σ
−
t
)
dσ
∫
t
t
+
T
n
(
β
)
r
(
β
−
t
)
dβ
=
AN
0
∫
t
t
+
T
∫
t
t
+
T
δ
(
σ
−
β
)
r
(
σ
−
t
)
r
(
β
−
t
)
dσdβ
=
AN
0
∫
t
t
+
T
r
2
(
σ
−
t
)
dσ
=
AN
0
alignl { stack {
size 12{E left lbrace m \( t \) m \( s \) right rbrace =E left lbrace Int cSub { size 8{t} } cSup { size 8{t+T} } {n \( σ \) r \( σ - t \) dσ} Int cSub { size 8{t} } cSup { size 8{t+T} } {n \( β \) r \( β - t \) dβ} right rbrace ={}} {} #
ital "AN" rSub { size 8{0} } Int cSub { size 8{t} } cSup { size 8{t+T} } {} Int cSub { size 8{t} } cSup { size 8{t+T} } {δ \( σ - β \) r \( σ - t \) r \( β - t \) dσdβ} = ital "AN" rSub { size 8{0} } Int cSub { size 8{t} } cSup { size 8{t+T} } {r rSup { size 8{2} } \( σ - t \) dσ={}} ital "AN" rSub { size 8{0} } {}
} } {}
Thus, the noise power response of a matched filter is the input spectral density,
AN0AN0 size 12{ ital "AN" rSub { size 8{0} } } {}.
We conclude that the signal to noise ratio (SNR) at the output of a matched filter is the ratio of the echo energy to the noise spectral density,
ER/AN0ER/AN0 size 12{E rSub { size 8{R} } / ital "AN" rSub { size 8{0} } } {}. This assumes that the noise is white, e.g. a flat spectral density at the input to the matched filter. This is a general result, independent of the signal waveform details, except for its energy
ERER size 12{E rSub { size 8{R} } } {}.
Discrete time filters have nearly the same properties as continuous time filters. In discrete time, we assume an echo of
e(k)=ERr(k)e(k)=ERr(k) size 12{e \( k \) = sqrt {E rSub { size 8{R} } } r \( k \) } {}, with
∑k=1Tr2(k)=1∑k=1Tr2(k)=1 size 12{ Sum cSub { size 8{k=1} } cSup { size 8{T} } {r rSup { size 8{2} } \( k \) } =1} {}. The discrete matched filter output to the input y(k) is given by:
m
(
k
)
=
∑
l
=
k
k
+
T
−
1
y
(
l
)
r
(
l
−
k
+
1
)
m
(
k
)
=
∑
l
=
k
k
+
T
−
1
y
(
l
)
r
(
l
−
k
+
1
)
size 12{m \( k \) = Sum cSub { size 8{l=k} } cSup { size 8{k+T - 1} } {y \( l \) r \( l - k+1 \) } } {}
In response to the echo,
y(k)=e(k−TD)y(k)=e(k−TD) size 12{y \( k \) =e \( k - T rSub { size 8{D} } \) } {}the output of the discrete time matched filter is
m
(
k
)
=
∑
l
=
k
k
+
T
−
1
e
(
l
−
T
D
)
r
(
l
−
k
+
1
)
=
E
R
∑
l
=
k
k
+
T
−
1
r
(
l
−
T
D
)
r
(
l
−
k
+
1
)
m
(
k
)
=
∑
l
=
k
k
+
T
−
1
e
(
l
−
T
D
)
r
(
l
−
k
+
1
)
=
E
R
∑
l
=
k
k
+
T
−
1
r
(
l
−
T
D
)
r
(
l
−
k
+
1
)
size 12{m \( k \) = Sum cSub { size 8{l=k} } cSup { size 8{k+T - 1} } {e \( l - T rSub { size 8{D} } \) r \( l - k+1 \) } = sqrt {E rSub { size 8{R} } } Sum cSub { size 8{l=k} } cSup { size 8{k+T - 1} } {r \( l - T rSub { size 8{D} } \) r \( l - k+1 \) } } {}
Hence
m(TD−1)=ERm(TD−1)=ER size 12{m \( T rSub { size 8{D} } - 1 \) = sqrt {E rSub { size 8{R} } } } {}. The peak power output of the matched filter,
m2(t)m2(t) size 12{m rSup { size 8{2} } \( t \) } {}, in response to a echo is
ERER size 12{E rSub { size 8{R} } } {}.
We determine the discrete matched filter response to noise next. Assume the input noise is sampled white with variance
AN0AN0 size 12{ ital "AN" rSub { size 8{0} } } {}:
E
n
(
k
)
n
(
l
)
=
AN
0
δ
kl
E
n
(
k
)
n
(
l
)
=
AN
0
δ
kl
size 12{E left lbrace n \( k \) n \( l \) right rbrace = ital "AN" rSub { size 8{0} } δ rSub { size 8{ ital "kl"} } } {}
E
m
(
k
)
m
(
p
)
=
E
∑
l
=
k
k
+
T
−
1
n
(
l
)
r
(
l
−
k
+
1
)
∑
i
=
p
p
+
T
−
1
n
(
i
)
r
(
i
−
p
+
1
)
=
AN
0
∑
l
=
k
k
+
T
−
1
∑
i
=
p
p
+
T
−
1
δ
li
r
(
l
−
k
+
1
)
r
(
i
−
p
+
1
)
=
AN
0
∑
l
=
k
k
+
T
−
1
r
2
(
l
−
k
+
1
)
=
AN
0
E
m
(
k
)
m
(
p
)
=
E
∑
l
=
k
k
+
T
−
1
n
(
l
)
r
(
l