Matched filter

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

In signal processing, a matched filter is obtained by correlating a known signal, or template, with an unknown signal to detect the presence of the template in the unknown signal. This is equivalent to convolving the unknown signal with a conjugated time-reversed version of the template. The matched filter is the optimal linear filter for maximizing the signal to noise ratio (SNR) in the presence of additive stochastic noise. Matched filters are commonly used in radar, in which a known signal is sent out, and the reflected signal is examined for common elements of the out-going signal. Pulse compression is an example of matched filtering. It is so called because impulse response is matched to input pulse signals. Two-dimensional matched filters are commonly used in image processing, e.g., to improve SNR for X-ray. Matched filtering is a demodulation technique with LTI (Linear Time Invariant) filters to maximize SNR.[1] It was originally known as a North filter[2]

Derivation of the matched filter impulse response

The following section derives the matched filter for a discrete-time system. The derivation for a continuous-time system is similar, with summations replaced with integrals.

The matched filter is the linear filter, h, that maximizes the output signal-to-noise ratio.

\ y[n] = \sum_{k=-\infty}^{\infty} h[n-k] x[k].

Though we most often express filters as the impulse response of convolution systems, as above (see LTI system theory), it is easiest to think of the matched filter in the context of the inner product, which we will see shortly.

We can derive the linear filter that maximizes output signal-to-noise ratio by invoking a geometric argument. The intuition behind the matched filter relies on correlating the received signal (a vector) with a filter (another vector) that is parallel with the signal, maximizing the inner product. This enhances the signal. When we consider the additive stochastic noise, we have the additional challenge of minimizing the output due to noise by choosing a filter that is orthogonal to the noise.

Let us formally define the problem. We seek a filter, h, such that we maximize the output signal-to-noise ratio, where the output is the inner product of the filter and the observed signal x.

Our observed signal consists of the desirable signal s and additive noise v:

\ x=s+v.\,

Let us define the covariance matrix of the noise, reminding ourselves that this matrix has Hermitian symmetry, a property that will become useful in the derivation:

\ R_v=E\{ vv^\mathrm{H} \}\,

where v^\mathrm{H} denotes the conjugate transpose of v, and E denotes expectation. Let us call our output, y, the inner product of our filter and the observed signal such that

\ y = \sum_{k=-\infty}^{\infty} h^*[k] x[k] = h^\mathrm{H}x = h^\mathrm{H}s + h^\mathrm{H}v = y_s + y_v.

We now define the signal-to-noise ratio, which is our objective function, to be the ratio of the power of the output due to the desired signal to the power of the output due to the noise:

\mathrm{SNR} = \frac{|y_s|^2}{E\{|y_v|^2\}}.

We rewrite the above:

\mathrm{SNR} = \frac{|h^\mathrm{H}s|^2}{E\{|h^\mathrm{H}v|^2\}}.

We wish to maximize this quantity by choosing h. Expanding the denominator of our objective function, we have

\ E\{ |h^\mathrm{H}v|^2 \} = E\{ (h^\mathrm{H}v){(h^\mathrm{H}v)}^\mathrm{H} \} = h^\mathrm{H} E\{vv^\mathrm{H}\} h = h^\mathrm{H}R_vh.\,

Now, our \mathrm{SNR} becomes

\mathrm{SNR} = \frac{ |h^\mathrm{H}s|^2 }{ h^\mathrm{H}R_vh }.

We will rewrite this expression with some matrix manipulation. The reason for this seemingly counterproductive measure will become evident shortly. Exploiting the Hermitian symmetry of the covariance matrix R_v, we can write

\mathrm{SNR} = \frac{ | {(R_v^{1/2}h)}^\mathrm{H} (R_v^{-1/2}s) |^2 }
                  { {(R_v^{1/2}h)}^\mathrm{H} (R_v^{1/2}h) },

We would like to find an upper bound on this expression. To do so, we first recognize a form of the Cauchy-Schwarz inequality:

\ |a^\mathrm{H}b|^2 \leq (a^\mathrm{H}a)(b^\mathrm{H}b),\,

which is to say that the square of the inner product of two vectors can only be as large as the product of the individual inner products of the vectors. This concept returns to the intuition behind the matched filter: this upper bound is achieved when the two vectors a and b are parallel. We resume our derivation by expressing the upper bound on our \mathrm{SNR} in light of the geometric inequality above:

\mathrm{SNR} = \frac{ | {(R_v^{1/2}h)}^\mathrm{H} (R_v^{-1/2}s) |^2 }
                  { {(R_v^{1/2}h)}^\mathrm{H} (R_v^{1/2}h) }
             \leq
             \frac{ \left[
             			{(R_v^{1/2}h)}^\mathrm{H} (R_v^{1/2}h)
             		\right]
             		\left[
             			{(R_v^{-1/2}s)}^\mathrm{H} (R_v^{-1/2}s)
             		\right] }
                  { {(R_v^{1/2}h)}^\mathrm{H} (R_v^{1/2}h) }.

Our valiant matrix manipulation has now paid off. We see that the expression for our upper bound can be greatly simplified:

\mathrm{SNR} = \frac{ | {(R_v^{1/2}h)}^\mathrm{H} (R_v^{-1/2}s) |^2 }
                  { {(R_v^{1/2}h)}^\mathrm{H} (R_v^{1/2}h) }
             \leq s^\mathrm{H} R_v^{-1} s.

We can achieve this upper bound if we choose,

\ R_v^{1/2}h = \alpha R_v^{-1/2}s

where \alpha is an arbitrary real number. To verify this, we plug into our expression for the output \mathrm{SNR}:

\mathrm{SNR} = \frac{ | {(R_v^{1/2}h)}^\mathrm{H} (R_v^{-1/2}s) |^2 }
                  { {(R_v^{1/2}h)}^\mathrm{H} (R_v^{1/2}h) }
           = \frac{ \alpha^2 | {(R_v^{-1/2}s)}^\mathrm{H} (R_v^{-1/2}s) |^2 }
                  { \alpha^2  {(R_v^{-1/2}s)}^\mathrm{H} (R_v^{-1/2}s) }
           = \frac{ | s^\mathrm{H} R_v^{-1} s |^2 }
                  { s^\mathrm{H} R_v^{-1} s }
           = s^\mathrm{H} R_v^{-1} s.

Thus, our optimal matched filter is

\ h = \alpha R_v^{-1}s.

We often choose to normalize the expected value of the power of the filter output due to the noise to unity. That is, we constrain

\ E\{ |y_v|^2 \} = 1.\,

This constraint implies a value of \alpha, for which we can solve:

\ E\{ |y_v|^2 \} = \alpha^2 s^\mathrm{H} R_v^{-1} s = 1,

yielding

\ \alpha = \frac{1}{\sqrt{s^\mathrm{H} R_v^{-1} s}},

giving us our normalized filter,

\ h = \frac{1}{\sqrt{s^\mathrm{H} R_v^{-1} s}} R_v^{-1}s.

If we care to write the impulse response of the filter for the convolution system, it is simply the complex conjugate time reversal of h.

Though we have derived the matched filter in discrete time, we can extend the concept to continuous-time systems if we replace R_v with the continuous-time autocorrelation function of the noise, assuming a continuous signal s(t), continuous noise v(t), and a continuous filter h(t).

Alternative derivation of the matched filter

Alternatively, we may solve for the matched filter by solving our maximization problem with a Lagrangian. Again, the matched filter endeavors to maximize the output signal-to-noise ratio (\mathrm{SNR}) of a filtered deterministic signal in stochastic additive noise. The observed sequence, again, is

\ x = s + v,\,

with the noise covariance matrix,

\ R_v = E\{vv^\mathrm{H}\}.\,

The signal-to-noise ratio is

\mathrm{SNR} = \frac{|y_s|^2}{ E\{|y_v|^2\} }.

Evaluating the expression in the numerator, we have

\ |y_s|^2 = {y_s}^\mathrm{H} y_s = h^\mathrm{H} s s^\mathrm{H} h.\,

and in the denominator,

\ E\{|y_v|^2\} = E\{ {y_v}^\mathrm{H} y_v \} = E\{ h^\mathrm{H} v v^\mathrm{H} h \} = h^\mathrm{H} R_v h.\,

The signal-to-noise ratio becomes

\mathrm{SNR} = \frac{h^\mathrm{H} s s^\mathrm{H} h}{ h^\mathrm{H} R_v h }.

If we now constrain the denominator to be 1, the problem of maximizing \mathrm{SNR} is reduced to maximizing the numerator. We can then formulate the problem using a Lagrange multiplier:

\ h^\mathrm{H} R_v h = 1
\ \mathcal{L} = h^\mathrm{H} s s^\mathrm{H} h + \lambda (1 - h^\mathrm{H} R_v h )
\ \nabla_{h^*} \mathcal{L} = s s^\mathrm{H} h - \lambda R_v h = 0
\ (s s^\mathrm{H}) h = \lambda R_v h

which we recognize as a generalized eigenvalue problem

\ h^\mathrm{H} (s s^\mathrm{H}) h = \lambda h^\mathrm{H} R_v h.

Since s s^\mathrm{H} is of unit rank, it has only one nonzero eigenvalue. It can be shown that this eigenvalue equals

\ \lambda_{\max} = s^\mathrm{H} R_v^{-1} s,

yielding the following optimal matched filter

\ h = \frac{1}{\sqrt{s^\mathrm{H} R_v^{-1} s}} R_v^{-1} s.

This is the same result found in the previous section.

The matched filter as a least squares estimator

Matched filtering can also be interpreted as a least squares estimator for the optimal location and scaling of a given model or template. Once again, let the observed sequence be defined as

\ x_k = s_k + v_k,\,

where v_k is uncorrelated zero mean noise. The signal s_k is assumed to be a scaled and shifted version of a known model sequence f_k:

\ s_k = \mu_0\cdot f_{k-j_0}

We want to find optimal estimates j^* and \mu^* for the unknown shift j_0 and scaling \mu_0 by minimizing the least squares residual between the observed sequence x_k and a "probing sequence" h_{j-k}:

\ j^*,\mu^* = \arg\min_{j,\mu} \sum_k \left(x_k - \mu\cdot h_{j-k}\right)^2

The appropriate h_{j-k} will later turn out to be the matched filter, but is as yet unspecified. Expanding x_k and the square within the sum yields

\ j^*,\mu^* = \arg\min_{j,\mu}\left[ \sum_k (s_k+v_k)^2 + \mu^2\sum_k h_{j-k}^2 - 2\mu\sum_k  s_k h_{j-k} - 2\mu\sum_k  v_k h_{j-k}\right].

The first term in brackets is a constant (since the observed signal is given) and has no influence on the optimal solution. The last term has constant expected value because the noise is uncorrelated and has zero mean. We can therefore drop both terms from the optimization. After reversing the sign, we obtain the equivalent optimization problem

\ j^*,\mu^* = \arg\max_{j,\mu}\left[ 2\mu\sum_k  s_k h_{j-k} - \mu^2\sum_k h_{j-k}^2\right].

Setting the derivative w.r.t. \mu to zero gives an analytic solution for \mu^*:

\ \mu^* = \frac{\sum_k  s_k h_{j-k}}{\sum_k h_{j-k}^2}.

Inserting this into our objective function yields a reduced maximization problem for just j^*:

\ j^* = \arg\max_j\frac{\left(\sum_k  s_k h_{j-k}\right)^2}{\sum_k h_{j-k}^2}.

The numerator can be upper-bounded by means of the Cauchy-Schwarz inequality:

\ \frac{\left(\sum_k  s_k h_{j-k}\right)^2}{\sum_k h_{j-k}^2} \le \frac{\sum_k  s_k^2 \cdot \sum_k h_{j-k}^2}{\sum_k h_{j-k}^2} = \sum_k  s_k^2 = \mathrm{const}.

The optimization problem assumes its maximum when equality holds in this expression. According to the properties of the Cauchy-Schwarz inequality, this is only possible when

\ h_{j-k}=\nu \cdot s_k = \kappa\cdot f_{k-j_0}.

for arbitrary non-zero constants \nu or \kappa, and the optimal solution is obtained at j^*=j_0 as desired. Thus, our "probing sequence" h_{j-k} must be proportional to the signal model f_{k-j_0}, and the convenient choice \kappa=1 yields the matched filter

\ h_{k}=f_{-k}.

Note that the filter is the mirrored signal model. This ensures that the operation \sum_k  x_k h_{j-k} to be applied in order to find the optimum is indeed the convolution between the observed sequence x_k and the matched filter h_k. The filtered sequence assumes its maximum at the position where the observed sequence x_k best matches (in a least-squares sense) the signal model f_k.

Frequency-domain interpretation

When viewed in the frequency domain, it is evident that the matched filter applies the greatest weighting to spectral components that have the greatest signal-to-noise ratio. Although in general this requires a non-flat frequency response, the associated distortion is not significant in situations such as radar and digital communications, where the original waveform is known and the objective is to detect the presence of this signal against the background noise.

Example of matched filter in radar and sonar

Matched filters are often used in signal detection[3] (see detection theory). As an example, suppose that we wish to judge the distance of an object by reflecting a signal off it. We may choose to transmit a pure-tone sinusoid at 1 Hz. We assume that our received signal is an attenuated and phase-shifted form of the transmitted signal with added noise.

To judge the distance of the object, we correlate the received signal with a matched filter, which, in the case of white (uncorrelated) noise, is another pure-tone 1-Hz sinusoid. When the output of the matched filter system exceeds a certain threshold, we conclude with high probability that the received signal has been reflected off the object. Using the speed of propagation and the time that we first observe the reflected signal, we can estimate the distance of the object. If we change the shape of the pulse in a specially-designed way, the signal-to-noise ratio and the distance resolution can be even improved after matched filtering: this is a technique known as pulse compression.

Additionally, matched filters can be used in parameter estimation problems (see estimation theory). To return to our previous example, we may desire to estimate the speed of the object, in addition to its position. To exploit the Doppler effect, we would like to estimate the frequency of the received signal. To do so, we may correlate the received signal with several matched filters of sinusoids at varying frequencies. The matched filter with the highest output will reveal, with high probability, the frequency of the reflected signal and help us determine the speed of the object. This method is, in fact, a simple version of the discrete Fourier transform (DFT). The DFT takes an N-valued complex input and correlates it with N matched filters, corresponding to complex exponentials at N different frequencies, to yield N complex-valued numbers corresponding to the relative amplitudes and phases of the sinusoidal components (see Moving target indication).

Example of matched filter in digital communications

The matched filter is also used in communications. In the context of a communication system that sends binary messages from the transmitter to the receiver across a noisy channel, a matched filter can be used to detect the transmitted pulses in the noisy received signal.

Matched Filter Total System.jpg

Imagine we want to send the sequence "0101100100" coded in non polar Non-return-to-zero (NRZ) through a certain channel.

Mathematically, a sequence in NRZ code can be described as a sequence of unit pulses or shifted rect functions, each pulse being weighted by +1 if the bit is "1" and by 0 if the bit is "0". Formally, the scaling factor for the k^\mathrm{th} bit is,

\ a_k =
		\begin{cases}
			1,  & \mbox{if bit } k \mbox{ is 1}, \\
			0, & \mbox{if bit } k \mbox{ is 0}.
	  \end{cases}

We can represent our message, M(t), as the sum of shifted unit pulses:

\ M(t) = \sum_{k=-\infty}^\infty a_k \times
							 \Pi \left(
				 							\frac{t-kT}{T}
				 		 			 \right).

where T is the time length of one bit.

Thus, the signal to be sent by the transmitter is

Original message.svg

If we model our noisy channel as an AWGN channel, white Gaussian noise is added to the signal. At the receiver end, for a Signal-to-noise ratio of 3dB, this may look like:

Received message.svg

A first glance will not reveal the original transmitted sequence. There is a high power of noise relative to the power of the desired signal (i.e., there is a low signal-to-noise ratio). If the receiver were to sample this signal at the correct moments, the resulting binary message would possibly belie the original transmitted one.

To increase our signal-to-noise ratio, we pass the received signal through a matched filter. In this case, the filter should be matched to an NRZ pulse (equivalent to a "1" coded in NRZ code). Precisely, the impulse response of the ideal matched filter, assuming white (uncorrelated) noise should be a time-reversed complex-conjugated scaled version of the signal that we are seeking. We choose

\ h(t) = \Pi\left( \frac{t}{T} \right).

In this case, due to symmetry, the time-reversed complex conjugate of h(t) is in fact h(t), allowing us to call h(t) the impulse response of our matched filter convolution system.

After convolving with the correct matched filter, the resulting signal, M_\mathrm{filtered}(t) is,

\ M_\mathrm{filtered}(t) = M(t) * h(t)

where * denotes convolution.

Filtered message.svg

Which can now be safely sampled by the receiver at the correct sampling instants, and compared to an appropriate threshold, resulting in a correct interpretation of the binary message.

Filtered message threshold.svg

See also

References

  1. http://cnx.org/content/m10141/latest/
  2. After D.O. North who first introduced the concept: Lua error in package.lua at line 80: module 'strict' not found.
  3. Woodward P.M. Probability and Information Theory with Applications to Radar, Norwood, MA: Artech House, 1980.
  • Melvin, Willian L. "A STAP Overview." IEEE Aerospace and Electronic Systems Magazine 19 (1) (January 2004): 19-35.
  • Turin, George L. "An introduction to matched filters." IRE Transactions on Information Theory 6 (3) (June 1960): 311- 329..
  • Lua error in package.lua at line 80: module 'strict' not found.