Abstract

Calculations of free space light propagation, such as those used in digital holography, deal with distances much longer than a wavelength. Computer representation of real numbers must therefore provide enough precision to handle this situation. We show that single precision must be used with the utmost care, which is especially important in GPU calculations. We also show that Fresnel approximation significantly improves single precision calculations for distances bigger than about one metre.

© 2015 Optical Society of America

Full Article  |  PDF Article
OSA Recommended Articles
Mie-scattering calculation

Hong Du
Appl. Opt. 43(9) 1951-1956 (2004)

Graphics processing unit accelerated computation of digital holograms

Hoonjong Kang, Fahri Yaraş, and Levent Onural
Appl. Opt. 48(34) H137-H143 (2009)

Mie solution of light scattering from spheres of radii up to 80λ with digit-array method

Guei-Gu Siu and Lu Cheng
J. Opt. Soc. Am. B 19(8) 1922-1929 (2002)

References

  • View by:
  • |
  • |
  • |

  1. D. Goldberg, “What every computer scientist should know about floating point arithmetic,” ACM Computing Surveys 23, 5–48 (1991).
    [Crossref]
  2. Wikipedia, “List of Nvidia graphics processing units — Wikipedia, The Free Encyclopedia,” (2014). [Online; accessed 25-July-2014]. http://en.wikipedia.org/w/index.php?title=List_of_Nvidia_graphics_processing_units
  3. J. Song, J. Park, H. Park, and J.-I. Park, “Real-time generation of high-definition resolution digital holograms by using multiple graphic processing units,” Opt. Eng. 52, 015803 (2013).
    [Crossref]
  4. A.-H. Phan, M. lan Piao, S.-K. Gil, and N. Kim, “Generation speed and reconstructed image quality enhancement of a long-depth object using double wavefront recording planes and a GPU,” Appl. Opt. 53, 4817–4824 (2014).
    [Crossref] [PubMed]
  5. J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
    [Crossref]
  6. J. W. Goodman, Introduction to Fourier Optics (Roberts & Company Publishers, 2004), 3rd ed.
  7. I. Hanák, P. Zemčík, M. Žádník, and A. Herout, “Hologram synthesis accelerated in field programmable gate array by partial quadratic interpolation,” Optical Engineering 8, 1–7 (2009).
  8. D. G. Voelz, Computational Fourier Optics: A Matlab Tutorial, Tutorial texts in optical engineering (SPIE Press, 2011).
  9. P. Lobaz, “Memory-efficient reference calculation of light propagation using the convolution method,” Opt. Express 21, 2795–2806 (2013).
    [Crossref] [PubMed]
  10. W. J. Dallas, “Phase quantization in holograms—a few illustrations,” Appl. Opt. 10, 674–676 (1971).
    [Crossref] [PubMed]

2014 (1)

2013 (2)

J. Song, J. Park, H. Park, and J.-I. Park, “Real-time generation of high-definition resolution digital holograms by using multiple graphic processing units,” Opt. Eng. 52, 015803 (2013).
[Crossref]

P. Lobaz, “Memory-efficient reference calculation of light propagation using the convolution method,” Opt. Express 21, 2795–2806 (2013).
[Crossref] [PubMed]

2009 (1)

I. Hanák, P. Zemčík, M. Žádník, and A. Herout, “Hologram synthesis accelerated in field programmable gate array by partial quadratic interpolation,” Optical Engineering 8, 1–7 (2009).

1991 (1)

D. Goldberg, “What every computer scientist should know about floating point arithmetic,” ACM Computing Surveys 23, 5–48 (1991).
[Crossref]

1971 (1)

Brisebarre, N.

J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
[Crossref]

Dallas, W. J.

de Dinechin, F.

J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
[Crossref]

Gil, S.-K.

Goldberg, D.

D. Goldberg, “What every computer scientist should know about floating point arithmetic,” ACM Computing Surveys 23, 5–48 (1991).
[Crossref]

Goodman, J. W.

J. W. Goodman, Introduction to Fourier Optics (Roberts & Company Publishers, 2004), 3rd ed.

Hanák, I.

I. Hanák, P. Zemčík, M. Žádník, and A. Herout, “Hologram synthesis accelerated in field programmable gate array by partial quadratic interpolation,” Optical Engineering 8, 1–7 (2009).

Herout, A.

I. Hanák, P. Zemčík, M. Žádník, and A. Herout, “Hologram synthesis accelerated in field programmable gate array by partial quadratic interpolation,” Optical Engineering 8, 1–7 (2009).

Jeannerod, C.-P.

J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
[Crossref]

Kim, N.

lan Piao, M.

Lefèvre, V.

J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
[Crossref]

Lobaz, P.

Melquiond, G.

J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
[Crossref]

Muller, J.-M.

J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
[Crossref]

Park, H.

J. Song, J. Park, H. Park, and J.-I. Park, “Real-time generation of high-definition resolution digital holograms by using multiple graphic processing units,” Opt. Eng. 52, 015803 (2013).
[Crossref]

Park, J.

J. Song, J. Park, H. Park, and J.-I. Park, “Real-time generation of high-definition resolution digital holograms by using multiple graphic processing units,” Opt. Eng. 52, 015803 (2013).
[Crossref]

Park, J.-I.

J. Song, J. Park, H. Park, and J.-I. Park, “Real-time generation of high-definition resolution digital holograms by using multiple graphic processing units,” Opt. Eng. 52, 015803 (2013).
[Crossref]

Phan, A.-H.

Revol, N.

J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
[Crossref]

Song, J.

J. Song, J. Park, H. Park, and J.-I. Park, “Real-time generation of high-definition resolution digital holograms by using multiple graphic processing units,” Opt. Eng. 52, 015803 (2013).
[Crossref]

Stehlé, D.

J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
[Crossref]

Torres, S.

J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
[Crossref]

Voelz, D. G.

D. G. Voelz, Computational Fourier Optics: A Matlab Tutorial, Tutorial texts in optical engineering (SPIE Press, 2011).

Žádník, M.

I. Hanák, P. Zemčík, M. Žádník, and A. Herout, “Hologram synthesis accelerated in field programmable gate array by partial quadratic interpolation,” Optical Engineering 8, 1–7 (2009).

Zemcík, P.

I. Hanák, P. Zemčík, M. Žádník, and A. Herout, “Hologram synthesis accelerated in field programmable gate array by partial quadratic interpolation,” Optical Engineering 8, 1–7 (2009).

ACM Computing Surveys (1)

D. Goldberg, “What every computer scientist should know about floating point arithmetic,” ACM Computing Surveys 23, 5–48 (1991).
[Crossref]

Appl. Opt. (2)

Opt. Eng. (1)

J. Song, J. Park, H. Park, and J.-I. Park, “Real-time generation of high-definition resolution digital holograms by using multiple graphic processing units,” Opt. Eng. 52, 015803 (2013).
[Crossref]

Opt. Express (1)

Optical Engineering (1)

I. Hanák, P. Zemčík, M. Žádník, and A. Herout, “Hologram synthesis accelerated in field programmable gate array by partial quadratic interpolation,” Optical Engineering 8, 1–7 (2009).

Other (4)

D. G. Voelz, Computational Fourier Optics: A Matlab Tutorial, Tutorial texts in optical engineering (SPIE Press, 2011).

J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, and S. Torres, Handbook of Floating-Point Arithmetic (BirkhäuserBoston, 2010).
[Crossref]

J. W. Goodman, Introduction to Fourier Optics (Roberts & Company Publishers, 2004), 3rd ed.

Wikipedia, “List of Nvidia graphics processing units — Wikipedia, The Free Encyclopedia,” (2014). [Online; accessed 25-July-2014]. http://en.wikipedia.org/w/index.php?title=List_of_Nvidia_graphics_processing_units

Cited By

OSA participates in Crossref's Cited-By Linking service. Citing articles from OSA journals and other participating publishers are listed here.

Alert me when this article is cited.


Figures (7)

Fig. 1
Fig. 1

Interference pattern (normalized intensity) of two point light sources located at [±0.001z0, 0, z0] in the plane z = 0. The first row shows calculation in single precision, the second row in double precision. Each column stands for a particular z0. The bottom row of graphs shows the normalized intensity values; for better clarity, only a segment of each image is shown.

Fig. 2
Fig. 2

Maximum z0 according to inequality (2) as a function of n for λ = 500 nm, i.e. the maximum distance for which ( z 0 2 + ( λ / n ) 2 ) 1 / 2 z 0 holds. For example, if we want to calculate in single precision (left graph) and to resolve about 100 values in the first fringe, z0 should be at most about 0.1 m. “Safe region” is then below the black line. For convenience, Fresnel zones for different xmax are shown as magenta horizontal lines, see Sec. 6 for details. The Fresnel approximation is valid near the z axis (|x| < xmax, |y| < xmax) for z0 bigger than the value depicted.

Fig. 3
Fig. 3

Visualization of the phasor exp(j2πr/λ)/r for various distances z0 calculated in single and double precision. The lateral extent of each pair (single/double precision) is the same; it was chosen so that all images contain approximately the same number of fringes. It is not a fault that all double precision images look similar to each other; they really do.

Fig. 4
Fig. 4

Visualization of the phasor of off-axis calculation exp(j2πr/λ)/r for various distances z0 in single and double precision. The center of each image is set to [z0, 0, z0], i.e. a = 1 (see inequality (3)). The color coding is the same as in Fig. 3.

Fig. 5
Fig. 5

Comparison of the phasor exp(j2πr/λ)/r for various distances z0 in single and double precision and in the Fresnel approximation in single precision. The lateral extent was chosen so that the images contain approximately the same number of fringes. The color coding is the same as in Fig. 3. The phase in the center of the image for Fresnel approximation, z0 = 10000mm is different from double precision calculation because such a big 2πz0 cannot be represented in single precision well enough.

Fig. 6
Fig. 6

A closer look at calculation exp(j2πr/λ)/r for z0 = 3.99999 in single and double precision. The upper graph shows “range reduction” of the argument, i.e. (2πr/λ) mod 2π, which is basically the same as 2π(r mod λ). The lower graph shows the real part of exp(j2πr/λ). The distance z0 was chosen so that the transition between “correct” and “wrong” calculations can be easily seen; in this case, the transition appears near x = 9 mm.

Fig. 7
Fig. 7

Upper row: phasor of the optical field in the plane z = z0 of a single point light source located at the origin. The lateral extent was chosen so that the images contain approximately the same number of fringes. Please note that fringes are damaged for z0 = 4641 mm and z0 = 10000 mm due to single precision calculation, not due to incorrect sampling rate. Lower row: normalized intensity of the light field backpropagated to the plane z0 = 0. The images should contain just a single bright dot. Naturally, the last two images are damaged as the optical field was calculated incorrectly.

Equations (7)

Equations on this page are rendered with MathJax. Learn more.

I ( x , y , 0 ) = | exp ( j 2 π r 0 / λ ) r 0 + exp ( j 2 π r 1 / λ ) r 1 | 2 ,
x 1 2 > 2 p + 1 z 0 2 ,
2 z 0 λ / n + ( λ / n ) 2 > 2 p + 1 z 0 2 .
z 0 < λ 2 p / n .
z 0 < λ 2 p n 1 + a 2 .
exp ( j 2 π x 2 + y 2 + z 0 2 / λ ) exp ( j 2 π z 0 / λ ) exp ( j π x 2 + y 2 z 0 λ )
( x + x 0 ) 2 + ( y + y 0 ) 2 + z 0 2 r 0 + x x 0 + y y 0 r 0 + x 2 + y 2 2 r 0 ,

Metrics