# Doubt: Signal detection in noise Part 1

I have a confusion regarding the matched filter detection technique. I have a binary information source signal $$s(t)$$ that is corrupted by additive White Gaussian noise $$w(t)$$ at a particular SNR. The received signal is:

$$x(t) = s(t) + w(t)$$

Then I have created a matched filter $$h(t)$$ as the time reversal of the source binary signal $$s(t)$$. How does a matched filter work?

• I have 2 issues. (a) how to estimate the signal $\hat{s}(t)$ after signal detection -- From answer & comments, it appears that matched filter is not an estimation method but a detection technique. I posted the code to verify if I have done the estimation correctly or not. Code output shows that $s(t)$ and $\hat{s}(t)$ are identical. So, it seems that the estimation was possible. (b) Another issue is why do estimation or detection in cases where the template or a copy of the signal is already present at reciever for nonblind methods such as matched filter, nonblind least mean squares etc.
– Sm1
Dec 27, 2020 at 17:51

You use the matched filtering technique when you search measurement data for a signal of a given form. You know the signal waveform in advance and either you are not sure if the signal is present in your data, or you see the signal and your task is to compute the signal magnitude and location. In these cases you use the matched filtering technique.

If your measurement data contains an unknown signal buried in noise, you can try and recover the waveform of this signal, with additional assumptions made about the noise nature. Often, this noise is additive white Gaussian noise, AWGN. The signal mixed with AWGN is amenable to processing with filters; filtering gives an approximate waveform of the "pure" signal. The precision of filtering -- the proximity of a recovered signal to the "pure" signal -- varies depending on the signal and noise parameters and the filter type and implementation.

Summing up: you use matched filtering when you know the signal waveform in advance or test you data to establish the presence of hypothetical signal waveforms. The waveform you test against is called template. If you want to extract the signal waveform from noisy data, you do not use matched filtering; you apply filters.

• Thank you for answering. So matched filtering is a nonblind approach which means that the information source signal is known but perhaps the channel parameters are unknown. Is my understanding correct? Also, could you please let me know if my code is correct. Using the matched filter I could get back the transmitted signal $\hat{s}(t)$ which I found to be exactly equal to the information signal, $s(t)$. So I was able to extract the signal. So it's unclear what you mean by saying that I should use some other filters to extract the signal waveform. Isn't matched filtering approach extracting it?
– Sm1
Dec 27, 2020 at 6:12
• the matched filtering operation is a convolution of signal data and a pattern. MATLAB's filter function is not a convolution, MATLAB has a conv function for this operation; see MATLAB Help. see also the simple MATLAB implementation in github.com/Septien/MatchedFilter. Later, when you are comfortable with the matching filter concept, you will be able to use the MatchedFilter object (phased.MatchedFilter) of the Phased Array Toolbox. Dec 27, 2020 at 7:54
• An excellent presentation on the matched filtering, see mybinder.org/v2/gh/moble/MatchedFiltering/… , the source code in github.com/MOBle/MatchedFiltering. Dec 27, 2020 at 7:54
• The matched filter does not extract the "pure" signal from data; it computes the convolution of measured data and the designated pattern. Given a selectable detection threshold, you decide if the signal is present in your data and then compute the signal magnitude and location (e.g., start time or time offset or the like) Dec 27, 2020 at 8:09
• To "what is the need of designing estimation or detection techniques": consider the scenario: the transmitter sends a symbol from an N-length alphabet; the receiver receives the transmission and computes N convolutions against each of N alphabet symbols, then iterates through these N results, and decides which symbol is sent in this transmission. Or finds out that it is an empty transmission, containing irrelevant data or only noise. Dec 27, 2020 at 8:33