|
View Inside IncoherentReflector:
|
|
IncoherentReflector models the reflected return from an optically-rough surface illuminated by light with short temporal coherence. The return is modeled using the concept of multiple speckle realizations. First, the total intensity map incident on the reflector is computed, then multiplied by the specified reflectance map to obtain the reflected intensity. To generate each speckle realization, we create a field with the reflected-intensity map and a spatially uncorrelated random phase map (each speckle realization is formed just as in the CoherentTarget module): this field is then propagated to the subsequent sensor plane to form one speckle realization. Finally, the intensities at the sensor plane of a specified number of speckle patterns are simply added. The principal degree of freedom in the model is the number of speckle realizations to be added. See the LightLike User Guide for further discussion of the properties and options of LightLike's rough-reflector models. CoherentTarget, IncoherentReflector and PartiallyCoherentReflector are LightLike's three basic physical models for representing wave-optics scattering from an optically-rough surface.
C++ type
|
name
|
value
|
description
|
Parameters
|
Grid<double>
|
reflectance
|
|
Intensity reflectance map (BRDF)
|
double
|
dxymax
|
0.001
|
Maximum allowed mesh spacing for intensity integration
|
int
|
nWaves
|
1
|
Number of speckle realizations to be added at receiver
|
int
|
iseed
|
-987654333
|
Random number seed for speckle
|
Inputs
|
Light
|
incident
|
Light()
|
Describes all incident light
|
Outputs
|
Light
|
transmitted
|
|
Describes all transmitted light
|
Grid<double>
|
illumination
|
|
Intensity pattern of the incident illumination (W/m^2)
|
Grid<double>
|
returned
|
|
Intensity pattern of the returned illumination (W/m^2)
|
|