____: Re: [PD] On arrays.

padawan12 padawan12 at obiwannabe.co.uk
Sat Sep 30 13:56:17 CEST 2006



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 at 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
> 




More information about the Pd-list mailing list