Hilbert Transform

Author

Eric W. Weisstein
August 12, 2003

This notebook downloaded from http://mathworld.wolfram.com/notebooks/IntegralTransforms/HilbertTransform.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/HilbertTransform.html.

©2005 Wolfram Research, Inc. except for portions noted otherwise

Initialization

HilbertTransform[f_,x_,y_,assum___?OptionQ]:=
Integrate[f/(x-y),{x,-Infinity,Infinity},
PrincipalValue->True,assum]/Pi

HilbertTransform[f_,x_,y_,a_,assum___?OptionQ]:=Integrate[f/(x-y),{x,-a,a},
PrincipalValue->True,assum]/Pi

sin x

v4.2

HilbertTransform[Sin[x],x,y]

Simplify[%,y>0]

v5.0

HilbertTransform[Sin[x],x,y]

Simplify[%,y>0]

v5.1

HilbertTransform[Sin[x],x,y]//Timing

Integrate[Sin[x]/(x-y),{x,-Infinity,Infinity},
PrincipalValue->True,Assumptions->y>0,GenerateConditions->False]

...crash...

HilbertTransform[Sin[x],x,y,GenerateConditions->False]//Timing

FullSimplify[Last[%],y>0]

cos x

HilbertTransform[Cos[x],x,y]

v4.2

HilbertTransform[Cos[x],x,y]

Simplify[%,y>0]

v5.0

HilbertTransform[Cos[x],x,y]

FullSimplify[%,y>0]

v5.1

HilbertTransform[Cos[x],x,y]

HilbertTransform[Cos[x],x,y,Assumptions->y>0]

FullSimplify[%,y>0]

HilbertTransform[Cos[x],x,y,GenerateConditions->False]

HilbertTransform[Cos[x],x,y,Assumptions->y>0,GenerateConditions->False]

((sin x)/x)

v4.2

HilbertTransform[Sin[x]/x,x,y]

FullSimplify[%,y>0]

v5.0

HilbertTransform[Sin[x]/x,x,y]

FullSimplify[%,y>0]

v5.1

HilbertTransform[Sin[x]/x,x,y]

Π (x)

HilbertTransform[Function[f,1],1/2,y]

Integrate[1/(x-y),{x,-1/2,1/2},PrincipalValue->True,Assumptions->y>0]

FullSimplify[%,y>0]

v4.2

HilbertTransform[UnitStep[x+1/2]-UnitStep[x-1/2],x,y]

HilbertTransform[UnitStep[x+1/2]-UnitStep[x-1/2],x,y,Assumptions->y>0]

v5.0

HilbertTransform[UnitStep[x+1/2]-UnitStep[x-1/2],x,y]

HilbertTransform[UnitStep[x+1/2]-UnitStep[x-1/2],x,y,Assumptions->y>0]

v5.1

HilbertTransform[UnitStep[x+1/2]-UnitStep[x-1/2],x,y]

HilbertTransform[UnitStep[x+1/2]-UnitStep[x-1/2],x,y,Assumptions->y>0]

FullSimplify[%,y>0]

(1/((x^2)+1))

v4.2

HilbertTransform[1/(1+x^2),x,y]

FullSimplify[%,y>0]

v5.0

HilbertTransform[1/(1+x^2),x,y]

FullSimplify[%,y>0]

v5.1

HilbertTransform[1/(1+x^2),x,y]

HilbertTransform[1/(1+x^2),x,y,Assumptions->y>0]

sinc'( x)

Sinc[0]:=1
Sinc[x_]:=Sin[x]/x

D[Sin[x]/x,x]

Limit[%,x->0]

Plot[((Cos[x])/x)-((Sin[x])/(x^2)),{x,-2,2}]

v4.2

HilbertTransform[((Cos[x])/x)-((Sin[x])/(x^2)),x,y]

FullSimplify[Subtract@@{-((-1+Cos[y]+y Sin[y])/(y^2)),-Sinc[y]+ Sinc[y/2]^2/2}]

v5.0

HilbertTransform[((Cos[x])/x)-((Sin[x])/(x^2)),x,y]

Simplify[%,y>0]

v5.1

HilbertTransform[((Cos[x])/x)-((Sin[x])/(x^2)),x,y]

$Version

Integrate[Cos[x]/(x*(x-y))-Sin[x]/(x^2*(x-y)),{x,-Infinity,Infinity},PrincipalValue->True]//Timing

Integrate[Cos[x]/(x*(x-y))-Sin[x]/(x^2*(x-y)),{x,-Infinity,Infinity},PrincipalValue->True]//Timing

HilbertTransform[((Cos[x])/x)-((Sin[x])/(x^2)),x,y,Assumptions->y>0,PrincipalValue->True]//Timing

...crash...

HilbertTransform[((Cos[x])/x)-((Sin[x])/(x^2)),x,y,GenerateConditions->False,Assumptions->y>0,PrincipalValue->True]//Timing

...crash...

HilbertTransform[((Cos[x])/x)-((Sin[x])/(x^2)),x,y,GenerateConditions->False,PrincipalValue->True]//Timing

δ (x)

v4.2

HilbertTransform[DiracDelta[x],x,y]

v5.0

HilbertTransform[DiracDelta[x],x,y]

v5.1

HilbertTransform[DiracDelta[x],x,y]

(e^x)

v4.2

HilbertTransform[Exp[x],x,y]

v5.0

HilbertTransform[Exp[x],x,y]

HilbertTransform[Exp[x],x,y,GenerateConditions->False]

HilbertTransform[Exp[x],x,y,GenerateConditions->False,Assumptions->y>0]

v5.1

HilbertTransform[Exp[x],x,y]

HilbertTransform[Exp[x],x,y,GenerateConditions->False]

HilbertTransform[Exp[x],x,y,GenerateConditions->False,Assumptions->y>0]

(e^(-x))

v4.2

HilbertTransform[Exp[-x],x,y]

v5.0

HilbertTransform[Exp[-x],x,y]

HilbertTransform[Exp[-x],x,y,Assumptions->y>0]

HilbertTransform[Exp[-x],x,y,Assumptions->y>0,GenerateConditions->False]

v5.1

HilbertTransform[Exp[-x],x,y]

HilbertTransform[Exp[-x],x,y,Assumptions->y>0]

HilbertTransform[Exp[-x],x,y,Assumptions->y>0,GenerateConditions->False]

(e^(-(x^2)))

FunctionExpand[-((2 y Hypergeometric1F1[1,(3/2),-(y^2)])/(Sqrt[π]))]

v4.2

HilbertTransform[Exp[-x^2],x,y]

HilbertTransform[Exp[-x^2],x,y,Assumptions->y>0]

HilbertTransform[Exp[-x^2],x,y,Assumptions->y>0,GenerateConditions->False]

v5.0

HilbertTransform[Exp[-x^2],x,y]

HilbertTransform[Exp[-x^2],x,y,Assumptions->y>0]

HilbertTransform[Exp[-x^2],x,y,Assumptions->y>0,GenerateConditions->False]

v5.1

HilbertTransform[Exp[-x^2],x,y]

HilbertTransform[Exp[-x^2],x,y,Assumptions->y>0]

HilbertTransform[Exp[-x^2],x,y,Assumptions->y>0,GenerateConditions->False]

II (x)

v4.2

HilbertTransform[(DiracDelta[x+1/2]+DiracDelta[x-1/2])/2,x,y]

v5.0

HilbertTransform[(DiracDelta[x+1/2]+DiracDelta[x-1/2])/2,x,y]

v5.1

HilbertTransform[(DiracDelta[x+1/2]+DiracDelta[x-1/2]),x,y]

(Subscript[I, I])( x)

v4.2

HilbertTransform[(DiracDelta[x+1/2]-DiracDelta[x-1/2])/2,x,y]

v5.0

HilbertTransform[(DiracDelta[x+1/2]-DiracDelta[x-1/2])/2,x,y]

v5.1

HilbertTransform[(DiracDelta[x+1/2]-DiracDelta[x-1/2])/2,x,y]