Abstract
It is well known that the infinite Kramers–Kronig transform is equivalent to the infinite Hilbert transform, which is equivalent to the allied Fourier integrals. The Hilbert transform can thus be implemented using fast Fourier transform routines. Such implementation is usually some 60 times faster than the Kramers–Kronig transform for a data file containing about 7 points. This paper reports that, for transformations between the real and imaginary refractive indices, and in , the FFT-based Hilbert transform can be much less accurate than, or as accurate as, the Kramers–Kronig transform, depending on the algorithm used. The Kramers–Kronig transform, incorporating Mclaurin's formula for finding the principal value of the integral, transforms spectra into spectra that are accurate to about 0.05%. Some Hilbert transform algorithms in the literature yield only about 4% accuracy. The BZ algorithm for the Hilbert transform is presented, for use on a laboratory computer running under DOS, that yields spectra accurate to 0.05%. For the transform from to , the BZ algorithm gives accurate to about −0.2% of the largest k value in the spectrum. This compares with an accuracy of 0.5% for the Kramers–Kronig transform. In cases where the spectrum is truncated at low wavenumbers, a simple method is presented that improves by a factor of ~10 the accuracy at low wavenumber of the spectrum obtained by Hilbert or Kramers–Kronig transforms of the spectrum. Keywords: infrared intensities, complex refractive indices, Kramers–Kronig transform, Hilbert transform, optical constants.