B
Bret Cahill
Guest
The magnitude of the reference and the signal are, in fact, identicalIf the goal is to determine a phase angle between two signals,
Bret,
What are you trying to do?
Match filter with an out of phase reference. For awhile I thought it
wouldn't matter and in fact the absolute value in the frequency domain
is the same for two signals that are identical except for a phase
angle..
But after trying it out on Excel it seems the phase angle must still
be calculated from the real and imaginary components, the difference
in the angles between the signals.
The noise will probably require some kind of average of the phase
angles.
An iterative technique may be necessary. First you get an estimate of
the phase angle from the noisy signal and reference then you phase
adjust the reference then you match filter then you recheck to see if
the phase angle is converging.
If you're seeing the magnitude of the matched filter output change
based on a constant phase shift between the signal you're processing
and the reference, then you're doing something wrong.
in the frequency domain for every frequency bin. Just take IMABS() of
the complex FFT of both on Excel. It's only after the dot product is
taken of the reference and the signal that the magnitude drops for a
phase shift. This, of course, holds for the INV FFT.
SPICE seems to give the same results. In the FFT multiply two noisy
signals that are identical except for phase angles by the same
reference. As might be expected this will knock down the noise peaks
in both signals by a few dB, at least more than the signal peaks, and
make you feel like you are doing some kind of reference filtering.
But if you divide the small phase angle signal by the large phase
angle signal you get a dip at the noise frequency in the quotient This
might indicate the signal with the larger phase angle has more noise.
This would be expected if the "reference frequency filter" needs to
have 0 phase angle for best results.
SPICE doesn't give you the real and imaginary parts so you can't see
everything they are doing. That's why I'm qualifying everything so
much.
Phase sensitive rectification, of course, will also give different
results for different phase angles. To get the amplitude you must
know the phase angle.
That may be the problem.Convolution is a
linear operation. A constant phase shift on the template signal is
equivalent to multiplying the reference by exp(j*theta), a constant.
Therefore, if;
y[n] = conv(x[n], r[n])
Then:
exp(j*theta) * y[n] = conv(x[n], exp(j*theta) * r[n])
The magnitudes of y[n] and exp(j*theta) * y[n] are equal for all n (a
phase shift does not affect the magnitude of a complex number). So, if
you're observing that this is not the case, something is wrong with
your simulation.
Note that you will see attenuation if there is a *frequency* offset
between the signal and the reference;
Thanks. Couldn't a bank be used in the time domain (PSR) when youthis is a well-known phenomenon
for communication receivers that use "long" correlators, such as
direct-sequence spread-spectrum systems. If the frequency offset
between the transmitter and receiver is a significant fraction of the
inverse of the reference's length in time, then you will start to
observe attenuation in the matched filter's output. This problem is
often addressed by using a bank of parallel correlators, spaced in
frequency, such that the signal of interest will be near the center of
one of the filters in the bank.
don't know the phase angle? It might require a high SNR level.
Bret Cahill