Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

TDSPMath Class Reference

#include <TDSPMath.h>


Detailed Description

Additional Mathematical Functions specialized to signal processing
Author:
Peter Jung

Definition at line 29 of file TDSPMath.h.

Static Public Member Functions

Double_t BesselJ0 (Double_t x)
Double_t Q (Double_t x)
Double_t QSqrt (Double_t x)
Double_t Rayleigh (Double_t x, Double_t sigma=1)
Double_t dB (Double_t x)
Double_t FromdB (Double_t x)
Double_t Lorentz (Double_t x, Double_t sigma=1)


Member Function Documentation

Double_t TDSPMath::BesselJ0 Double_t  x  )  [inline, static]
 

Definition at line 50 of file TDSPMath.h.

References Abs().

00050                                              {
00051   Double_t ax,z;
00052   Double_t xx,y,ans,ans1,ans2;      /* Acumulate polynomials in Double_t */
00053   
00054   if ((ax=TMath::Abs(x)) < 8.0) {       /* Direct rational function fit. */
00055     y=x*x;
00056     ans1=57568490574.0+y*(-13362590354.0+y*(651619640.7
00057                         +y*(-11214424.18+y*(77392.33017+y*(-184.9052456)))));
00058     ans2=57568490411.0+y*(1029532985.0+y*(9494680.718
00059                       +y*(59272.64853+y*(267.8532712+y*1.0))));
00060     ans=ans1/ans2;
00061   } else {      /* Fitting function. */
00062     z=8.0/ax;
00063     y=z*z;
00064     xx=ax-0.785398164;
00065     ans1=1.0+y*(-0.1098628627e-2+y*(0.2734510407e-4
00066                     +y*(-0.2073370639e-5+y*0.2093887211e-6)));
00067     ans2 = -0.1562499995e-1+y*(0.1430488765e-3
00068                    +y*(-0.6911147651e-5+y*(0.7621095161e-6
00069                                -y*0.934935152e-7)));
00070     ans=sqrt(0.636619772/ax)*(cos(xx)*ans1-z*sin(xx)*ans2);
00071   }
00072   return ans;
00073 }                           

Double_t TDSPMath::dB Double_t  x  )  [inline, static]
 

Definition at line 87 of file TDSPMath.h.

References Log10().

Referenced by dB().

00087                                         {
00088   return 10*TMath::Log10(x);
00089 }

Double_t TDSPMath::FromdB Double_t  x  )  [inline, static]
 

Definition at line 91 of file TDSPMath.h.

Referenced by FromdB().

00091                                             {
00092   return TMath::Power(10,x/10);
00093 }

Double_t TDSPMath::Lorentz Double_t  x,
Double_t  sigma = 1
[inline, static]
 

Definition at line 95 of file TDSPMath.h.

References Pi.

00095                                                              {
00096   return 2.0/(TMath::Pi()*sigma*(1.0+4.0/(sigma*sigma)*x*x));
00097 }

Double_t TDSPMath::Q Double_t  x  )  [inline, static]
 

Definition at line 75 of file TDSPMath.h.

00075                                       {
00076   return 0.5*TMath::Erfc(x/TMath::Sqrt(2.0));
00077 }

Double_t TDSPMath::QSqrt Double_t  x  )  [inline, static]
 

Definition at line 79 of file TDSPMath.h.

00079                                           {
00080   return 0.5*TMath::Erfc(TMath::Sqrt(x/2.0));
00081 }

Double_t TDSPMath::Rayleigh Double_t  x,
Double_t  sigma = 1
[inline, static]
 

Definition at line 83 of file TDSPMath.h.

References Exp().

00083                                                               {
00084   return x/(sigma*sigma)*TMath::Exp(-x*x/(2*sigma*sigma));
00085 }


The documentation for this class was generated from the following file:
Generated on Fri Apr 23 16:24:01 2004 by doxygen 1.3.2