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)$.
Question: After signal detection, how to estimate the clean signal $s(t)$? I have used the sign() operation. Is that the correct way or should I use sophisticated methods like MLE, LMS etc? In many implementations, a hard threshold zero is used to decode the signal in order to get back the transmitted source symbols $\hat{s}(t)$. Is that the correct way? Is my implementation correct where I have used sign function to estimate the symbols.
This is my implementation. Please correct me where wrong.
clear all
N = 50;
input = rand(1,N)>0.5;
s=(2*input-1); %input
x = awgn(s,15,'measured'); %received noisy signal
matched_filter_h = flipud(s);
s_hat = sign(filter(matched_filter_h,1,x));
The code output shows that $s(t)$ and $\hat{s}(t)$ are identical. So, it seems that the estimation is possible.