## Abstract

Modelling phase fluctuations due to Kolmogorov turbulence is important in many areas of applied optics such as simulating adaptive optics configurations, prediction of the performance of laser designators and simulation of infrared (IR) scenes in the presence of atmospheric turbulence. The computational performance of algorithms implementing this model is an important issue because in many situations a large number of phase screens is required. For example, in IR scene simulation a different phase screen is required for each pixel in the scene, and in other situations there exists a need for many thousands of phase screens to be calculated to obtain a statistical average. Whilst there have been previous attempts to increase the computational speed of these algorithms, the computation time required for a large number of phase screens still remains an issue. In this paper, we apply linear and statistical properties to improve the performance of the previous best published algorithm by 60 times when implemented on a sequential processor in software. Because the new algorithm is now trivially parallelizable, a further 20 times speedup can easily be achieved through a parallel software or hardware implementation.

©2007 Optical Society of America

Full Article |

PDF Article

**OSA Recommended Articles**
### 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.

### Equations (20)

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

(1)
$${C}_{S}=U\Lambda U,$$
(2)
$${\hat{\Phi}}_{l}=U\underset{\u02dc}{x},$$
(3)
$$E\left[{\hat{\Phi}}_{l}{{\hat{\Phi}}_{l}}^{T}\right]=E\left[U{\underset{\u02dc}{x}\underset{\u02dc}{x}}^{T}{U}^{T}\right]=\mathrm{UE}\left[{\underset{\u02dc}{x}\underset{\u02dc}{x}}^{T}\right]{U}^{T}=U\Lambda U={C}_{S}.$$
(4)
$${\Phi}_{h1}={\Phi}_{h0}\otimes {I}_{4x4}+{\epsilon}_{\mathrm{res}1}\times {x}_{1},$$
(5)
$${\Phi}_{h2}={\Phi}_{h1}\otimes {I}_{4x4\mathrm{rotated}}+{\epsilon}_{\mathrm{res}2}\times {x}_{2},$$
(6)
$${I}_{4x4\mathrm{rotated}}=\left[\begin{array}{ccccccc}0& 0& 0& -0.0017& 0& 0& 0\\ 0& 0& -0.0341& 0& -0.0341& 0& 0\\ 0& -0.0341& 0& 0.3198& 0& -0.0341& 0\\ -0.0017& 0& 0.3198& 1& 0.3198& 0& -0.0017\\ 0& -0.0341& 0& 0.3198& 0& -0.0341& 0\\ 0& 0& -0.0341& 0& -0.0341& 0& 0\\ 0& 0& 0& -0.0017& 0& 0& 0\end{array}\right].$$
(6)
$${\Phi}_{h2}=\left({\Phi}_{h0}\otimes {I}_{4x4}+{\epsilon}_{\mathrm{res}1}\times {x}_{1}\right)\otimes {I}_{4x4\mathrm{rotated}}+{\epsilon}_{\mathrm{res}2}\times {x}_{2}$$
(7)
$${\Phi}_{h2}=\left({\Phi}_{h0}\otimes {I}_{4x4}\right)\otimes {I}_{4x4\mathrm{rotated}}+{\epsilon}_{\mathrm{res}1}\left({x}_{1}\otimes {I}_{4x4\mathrm{rotated}}\right)+{\epsilon}_{\mathrm{res}2}\times {x}_{2}$$
(8)
$$y=\sum _{i=1}^{n}{\alpha}_{i}{g}_{i},$$
(9)
$${\mu}_{y}=\sum _{i=1}^{n}{\alpha}_{i}{\mu}_{{g}_{i}}$$
(10)
$${\sigma}_{y}^{2}=\sum _{i=1}^{n}{\alpha}_{i}^{2}{\sigma}_{\mathrm{gi}}^{2}.$$
(12)
$${x}_{1\left(\mathrm{4,4}\right)}\otimes \alpha ={x}_{1\left(\mathrm{1,1}\right)}{\alpha}_{1}+{x}_{1\left(\mathrm{1,2}\right)}{\alpha}_{2}+{x}_{1\left(\mathrm{1,3}\right)}{\alpha}_{3}+\dots \mathrm{..}+{x}_{1\left(\mathrm{7,7}\right)}{\alpha}_{49}$$
(11)
$${\Phi}_{h2}=\left({\Phi}_{h0}\otimes {I}_{4x4}\right)\otimes {I}_{4x4\mathrm{rotated}}+{\epsilon}_{\mathrm{res}1}\times {x}_{3}+{\epsilon}_{\mathrm{res}2}\times {x}_{2}$$
(12)
$${\Phi}_{h2}=\left({\Phi}_{h0}\otimes {I}_{4x4}\right)\otimes {I}_{4x4\mathrm{rotated}}+x.$$
(15)
$${D}_{\Phi}\mathbf{\left(}\mathbf{r}\right)=2\left[{B}_{\Phi}\left(0\right)-{B}_{\Phi}\left(\mathbf{r}\right)\right],$$
(16)
$${B}_{\Phi}\left(\mathbf{r}\right)=\u3008\left(\Phi \left(x\right)-\Phi \left(x-\mathbf{r}\right)\right)\u3009$$
(17)
$${D}_{\Phi}^{\mathrm{ideal}}\left(\mathbf{r}\right)=6.88\times {\left(\mathbf{r}\right)}^{\frac{5}{3}}$$
(18)
$$\mathbf{r}=\frac{{r}_{\mathrm{actual}}}{{r}_{0}},\left[3\right]$$
(19)
$$\sigma \left(r\right)={\left\{\frac{1}{\left(N-1\right)}\sum _{i}{\left[{D}_{\varphi \left(i\right)}\left(r\right)-\frac{1}{N}{D}_{\varphi \left(i\right)}\left(r\right)\right]}^{2}\right\}}^{\frac{1}{2}}$$
(20)
$$\mathrm{Error}\left(\mathrm{standard}\mathrm{deviation}\right)=\frac{{D}_{\varphi}^{\mathrm{ideal}}\left(r\right)-\left[\frac{1}{N}\right]\sum {D}_{\varphi i}\left(r\right)}{\sigma \left(r\right)}.$$