MATLAB
```[OTF,PSF,HO,HA] = AtmosphericOTF(f,Type,Model,r0,di,D, ...
lambda,alpha,Geom,Atm)```

Computes the optical transfer function (OTF) and point spread function (PSF) for ensemble-averaged exposure through Kolmogorov turbulence.

If not specified, the following default values are used in modeling: lambda = 1 micron, D = 1 m, r0 = D/4, di = 1 m, alpha =1.

 Parameters Description f [matrix] Spatial frequencies in image (cycles/m) Type [scalar] Switch [1/0] to calculate long/short exposure OTF. 1 - long exposure, 0 - short exposure Model [string] Modeling method for OTF/PSF. Supported models are: 'FRIED' - Fried's theoretical propagation (default), 'GAUSSIAN' - Gaussian approximation to theory r0 [scalar] (Optional) Spherical wave coherence diameter (m) di [scalar] (Optional) Image distance from system pupil (m) D [scalar] (Optional) Aperture diameter (m) lambda [scalar] (Optional) Mean wavelength of light in image (m) alpha [scalar] (Optional) Turbulence multiplier Geom [struct] (Optional) Geometry structure from GeomStruct specifying platform height, target height, downrange. If Geom and Atm are input, r0 is calculated, and di is assumed to be slant range given by the geometry. Atm [struct] (Optional) Atmospheric structure from AtmStruct. alpha, Geom, and Atm are specified in order to calculate an appropriate r0 value.
 Return Values Description OTF [matrix] Optical transfer function for imaging system in spatial frequency domain PSF [matrix] Point spread function for imaging system in spatial domain HO [matrix] OTF component due to optics only HA [matrix] OTF component due to atmosphere only

• Roggemann, M. C. and Welsh, B. M., "Imaging Through Turbulence," sec. 3.5.3, sec 3.5.4. (1996)
• Fried, D. L., "Optical resolution through a randomly inhomogeneous medium for very long and very short exposures," J. Opt. Soc. Am., vol 56, pp. 1372-1379 (1966).

>> f = linspace(0,1,100);

>> [OTF,PSF] = AtmosphericOTF(f/550e-9,1,'FRIED',0.18,1,1,550e-9)

• Use specified r0, no default values used
>> Atm = AtmStruct;

>> [OTF,PSF] = AtmosphericOTF(f/550e-9,0,'FRIED',1,1,550e-9,Atm)

• Calculate r0 using input Atm structure, default alpha and uses specified di, lambda and D values.
>> G = GeomStruct;

>> [OTF,PSF] = AtmosphericOTF(f/550e-9/Atm.L,1,'GAUSSIAN',1,G,Atm)

• Calculate r0 using input Geom and Atm values and default alpha value. Calculate OTF, PSF using default lambda value with di equal to the slant range specified by G.

 Copyright (c) 2009. All rights reserved. What do you think about this topic? Send feedback!