*Note*: I'm not familiar with the precise mathematical definition of the Hilbert transform. This is just a short explanation which should be enough for use in signal processing. The letter "j" denotes the square root of -1, as per engineering traditions.

We will define the Hilbert transform in the frequency domain, for the ordinary time domain definition based on the Cauchy principal value of an integral is usually hard to calculate. Suppose s(t) is a signal, s'(t) is its Hilbert transform (not its derivative!), and S(f) and S'(f) are the Fourier Transforms of s(t) and s'(t) respectively, defined as

S(f)=∫_{-∞}^{∞} s(t) e^{-j2πft} dt

and likewise for S'(f), then

S'(f)=-j sgn(f) S(f),

where sgn(.) is the sign function. You can use this formula to calculate Hilbert transforms, by first taking the Fourier transform of s(t), multiplying it by -j sgn(f), then taking the inverse Fourier transform, thus obtaining s'(t). Note that -j sgn(f) is -j for positive frequency f, thus the Hilbert transform is a -90deg phase shifter when viewed as a linear system whose input is s(t) and output s'(t).

For example, for s(t)=cos(2πf_{0}t), f_{0}>0, take the Fourier transform we obtain S(f)=(1/2)(δ(f+f_{0})+δ(f-f_{0})), where &delta(.) is the Dirac delta function. Multiply this by -j sgn(f), noting the property of the delta function that g(x)δ(x-x_{0})=g(x_{0})δ(x-x_{0})
we get S'(f)=(j/2)(δ(f+f_{0})-δ(f-f_{0})),
and by taking the inverse Fourier transform we obtain s'(t)=sin(2πf_{0}t), which is the Hilbert transform of cos(2πf_{0}t).

The Hilbert transform has many desirable properties, many of which can be easily obtained from the frequency domain representation above. For example, take the Hilbert transform again on the s'(t) above, we will get s''(t)=-s(t), since in the frequency domain S''(f)=(-j sgn(f))^{2}S(f), which equals to -S(f) (except on the f=0 point, but it does not matter after inverse Fourier transform).

Actually the Hilbert transform of s(t) is usually denoted as \hat{s}(t), but we use s'(t) here since it is difficult to typeset a hat in HTML.