From: robert bristow-johnson ()
Date: May 8, 2008
Subject:
Re: FAQ is BAQ! - frequency shifting.
> ----- Original Message -----
> From: "Charles Henry"
> To: "A discussion list for music-related DSP"
> Subject: Re: [music-dsp] FAQ is BAQ! - frequency shifting.
> Date: Thu, 8 May 2008 14:36:14 -0500
>=20
>=20
> Quick question, here. I have sometimes struggled to create a good RT
> Hilbert transform (I made a couple of pd patches that while appearing
> to be correct on the surface with relevant math behind it, but
> produces horrible phase shifts). How does one make an RT Hilbert
> transform?
> (I can also provide details on my method, if desired.)
it's a filter, but a true Hilbert transformer is not causal.
a *delayed* Hilbert transformer (so the constant delay or the linear phase =
of this has to be accounted for) can be done to any degree of precision (if=
you're willing to throw taps at it) with an FIR (with a sorta halfband-odd=
-symmetry) with (non-delayed) impulse response of
h[n] =3D (1-(-1)^n) * 1/(pi*n) * w[n]
where w[n] is a window function that you like. you can also use MATLAB's r=
emez() or firls() to design an optimal h[n] for a given length. note that =
for even n, h[n]=3D0 (because of halfband-symmetry) which should be incorpo=
rated into the FIR code. of course, you need to delay the whole thing by 1=
/2 of the width of w[n] and your non-hilberted signal needs to be delayed b=
y the same amount so you have an "in-phase" and "quadrature" pair (albeit a=
delayed pair of signals).
--
[EMAIL REMOVED]
"Imagination is more important than knowledge."
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp