I have implemented a matched filter based on the Fourier Transform approach. In the real numbers domain that means that I use as the coefficients of my filter (B) the inverted time-samples of the signal that I'm trying to find and I compute:
real_output = IFFT(FFT(A).*FFT(B))
Where, if we assume the moment of exact match, A is an input signal of real value samples and B is the signal made from inverted time-samples of A (or I can also conjugate the spectrum of B and I get the required time inversion because the signal is real). In order to avoid aliasing I perform both FFT with length(A)+length(B)-1 samples. The output of this filter is always real and its maximum, points at the moment in which a match has occurred.
Now assume that instead of a real valued A we have a complex valued A. My questions are:
- Is it possible to apply a matched filter for complex domain signals?
- Would I have to invert the complex valued A to get the coefficients of my filter or should I do something else like conjugating them?
- How do I interpret the output of the filter, should I say a match happens if the absolute value of the output is maximum or just when the real part is maximized?
- In some experiments I have noticed that at the moment of a match the output of the filter is real if spectrum(B) is the complex conjugate of spectrum(A), is this correct?