ContentsIndexReferenceHome
PreviousUpNext
PropMeshParams
MATLAB
[nxy, dxy1, [dxy2]] = PropMeshParams(lambda, D1, D2, Atm, ...
        [cturb], [nxy_in], [dxy1_in], [dxy2_in], [dxy1_max], [dxy2_max])
[nxy, dxy1, [dxy2]] = PropMeshParams(lambda, D1, D2, L, [r0sph1], ...
        [r0sph2], [cturb], [nxy_in], [dxy1_in], [dxy2_in],  ...
        [dxy1_max], [dxy2_max])
Description

Computes mesh spacings and dimensions for wave optics propagation. Can be used for both plane wave and spherical wave propagation geometries. Call with two outputs to compute plane wave mesh and with three outputs to compute spherical wave mesh. In order to specify any of the optional inputs, all preceding optional inputs must be specified. When specifying maximum mesh spacings, if any input mesh spacing, dxy1_in or dxy2_in, exceeds the corresponding maximum value, it will get reset to the maximum.

Parameters
Parameters 
Description 
lambda [scalar] 
Wavelength (m) 
D1 [scalar] 
Diameter of aperture or region of interest at plane 1 (m) 
D2 [scalar] 
Diameter of aperture or region of interest at plane 2 (m). 
Atm [struct] 
Atmospheric structure from AtmStruct or a comma- separated list of (...,L,[r0sph1],[r0sph2],...) 
L [scalar] 
Propagation distance (m) 
r0sph1 [scalar] 
(Optional) Spherical wave coherence radius at plane 1 (m). If not specified, r0sph1=1.0e20, i.e. effectively vacuum 
r0sph2 [scalar] 
(Optional) Spherical wave coherence radius at plane 2 (m). If not specified, r0sph2=r0sph1 
cturb [scalar] 
(Optional) Scale factor for turbulence blurring (see references). If not specified, cturb=2.0 
nxy_in [scalar] 
(Optional) Desired mesh dimension 
dxy1_in [scalar] 
(Optional) Desired mesh spacing at plane 1 
dxy2_in [scalar] 
(Optional) Desired mesh spacing at plane 2 
dxy1_max [scalar] 
(Optional) Maximum mesh spacing at plane 1 
dxy2_max [scalar] 
(Optional) Maximum mesh spacing at plane 2 
Return Values
Return Values 
Description 
nxy [scalar] 
Computed mesh dimension 
dxy1 [scalar] 
Computed mesh spacing at plane 1 
dxy2 [scalar] 
Computed mesh spacing at plane 2 (spherical wave propagation only) 
References

  • S. Coy, "Choosing Mesh Spacings and Mesh Dimensions for Wave Optics Simulation" SPIE (2005). (paper available at www.mza.com)
  • S. Coy and J.D. Mansell, "Choosing Mesh Spacings and Mesh Dimensions for Wave Optics Simulation" SPIE (2005). (slides available at www.mza.com)

Examples

>> lambda = 1.0e-6; D1 = 1.0; D2 = 0.5; L = 10000; 

>> [nxy, dxy] = PropMeshParams(lambda, D1, D2, L) 

  • returns nominal nxy, dxy for zero turbulence, plane-wave propagation
>> [nxy, dxy] = PropMeshParams(lambda, D1, D2, L, 0.1, 0.05, 2) 

  • returns nominal nxy, dxy, plane-wave propagation
>> [nxy, dxy] = PropMeshParams(lambda, D1, D2, L, 0.15, 0.1, 2, 512) 

  • computes max dxy given nxy, plane-wave propagation
>> [nxy, dxy] = PropMeshParams(lambda, D1, D2, L, 0.1, 0.1, 2, [], 0.005) 

  • computes min nxy given dxy, plane-wave propagation
>> [nxy, dxy] = PropMeshParams(lambda, D1, D2, L, 0.15, 0.1, ... 

2, 512, 0.005) 

  • Checks validity of nxy, dxy, plane-wave propagation. If not valid, output nxy will be 0 and output dxy will be NaN
>> [nxy, dxy1, dxy2] = PropMeshParams(lambda, D1, D2, L) 

  • returns nominal nxy, dxy1, dxy2 for zero turbulence, spherical-wave propagation
>> [nxy, dxy1, dxy2] = PropMeshParams(lambda, D1, D2, L, 0.1, ... 

0.05, 2) 

  • returns nominal nxy, dxy1, dxy2, spherical-wave propagation
>> [nxy, dxy1, dxy2] = PropMeshParams(lambda, D1, D2, L, 0.15, ... 

0.05, 2, 512) 

  • computes nominal dxy1, dxy2 given nxy, spherical-wave propagation
>> [nxy, dxy1, dxy2] = PropMeshParams(lambda, D1, D2, L, 0.1, ... 

0.05, 2, [], 0.005, 0.002) 

  • computes min nxy given dxy1, dxy2, spherical-wave propagation
>> [nxy, dxy1, dxy2] = PropMeshParams(lambda, D1, D2, L, 0.15, ... 

0.1, 2, 512, 0.005) 

  • computes min dxy2 given nxy, dxy1, spherical-wave propagation
>> [nxy, dxy1, dxy2] = PropMeshParams(lambda, D1, D2, L, 0.15, ... 

0.1, 2, 512, [], 0.002) 

  • computes min dxy1 given nxy, dxy2, spherical-wave propagation
>> [nxy, dxy1, dxy2] = PropMeshParams(lambda, D1, D2, L, 0.1, ... 

0.05, 2, 512, 0.01, 0.002) 

  • checks validity of nxy, dxy1, dxy2, spherical-wave propagation
>> [nxy, dxy1, dxy2] = PropMeshParams(lambda, D1, D2, L, 0.15, ... 

0.1, 2, [], [], [], 0.008, 0.002) 

  • computes nxy, dxy1, dxy2 given maximum grid spacings, spherical-wave propagation
 

See Also
Group
Made with Doc-O-Matic.
Copyright (c) 2009. All rights reserved.
What do you think about this topic? Send feedback!