Yeah, I'm not getting much joy from that either :/ But it's still instructive to follow your implementation from fft. There is actually a [hilbert~] unit available, which is why I am interested.
I'm somewhat familiar with the principle I think, at least in practice as a "phase shifter" for removing sidebands with a quadrature mixer etc, but even though I understand Hilbert is fundamental there's a big hole in my maths in that subject, around about the point I fell asleep in engineering maths lectures.
Can you give a description, in words rather than equations if possible please, how Hilbert arises and why its central to complex signals. Maybe with another example of why you would use the transform for a practical purpose.
One thing that confuses me right now is how you can have a phase signal? Relative to what? That is why I said phase comparator, it kinda doesn;t make sense to me to have absolute phase, it must be relative to something. ??
Cheers Chuck,
ANdy
On Thu, 28 Sep 2006 00:23:36 -0500 "Charles Henry" czhenry@gmail.com wrote:
Remind me again what Hilbert does for us Chuck, shifts all the "negative" frequencies relative to its application by -pi and all the "positive" frequecies by +pi so sin(t) -> -cos(t) and cos(t) -> -sin(t) ?? How does that give us a measure of phase change?
The hilbert transform takes the second half of the fft (which is the conjugate of the first half...the negative frequencies, if you will) and sets them to zero. The ifft of this (multiplied by two) is a complex signal, z(t) where the real part is exactly the original signal and the imaginary part is 90 degrees out of phase.
this signal can be decomposed into amplitude and phase as a continuous signal: A(t)=sqrt(Real(z(t))^2+Imag(z(t))^2) phase(t)=arctan(Imag(z(t))/Real(z(t))
I tried to implement this so I could show ya.... it doesn't work but I'll post it anyway. It uses ==~ from zexy. Use the hilbert_test patch and Open up the grapher subpatch to see what happens.... Maybe it's just a lousy algorithm....but I've actually used this once before to decompose phase and amplitude for other types of signals, and it seemed to work fine then... Chuck