I have a stream of signal, and I'm looking for the presence of a certain event (the signal), also I have a "model"(which is a an approximation of the original signal) for that signal, and I will adopt it as my matched filter. So I tried to choose the matched filter, without any mathematical calculation. When I was looking for the signal. I saw a pattern that appears repeatedly. And I expect that pattern is the signal. 1. Could I cross-correlate the matched filter every unit of time (for example, every 2 seconds) with the signal and see if the value of cross correlation approaches to 1, and based on that decide if that event is existing or not? To make things more clearly, the following is an algorithm of my approach while (Signal s is Streaming) { S = epoch_the_signal(s) x = cross_correlation(S,M) if(x > Threshold){ print "The signal appears"} } 2. What if I choose the matched filter as what is given in the literature (taking the matched filter as to increase the SNR. So I take what I expect to be the signal, and I used the formula, which is shown below to build the matched filter). does that will increase the noise that my model is including it in addition to the signal? I think the hardest work is how to get the signal, not how to find the matched filter. Especially if it's biomedical signal.