USML
|
|
protected |
Normalize each wavefront cell by the surface area it takes up one meter from source.
Note that in this implementation the term from the gaussian() method is folded into the normalization coefficients so that it can be computed a single time, during initialization.
wave | Wavefront object associated with this model. |
|
inlineprotectedvirtual |
Virtual destructor.
|
inlineprotected |
Compute the Gaussian contribution from a single wavefront cell.
The width of each Gaussian beam consists of two components: a frequency independent cell width and a frequency-dependent evanescent spreading term. If we assume that these two effects combine like the convolution of two Gaussians, then the square of total width will be the sum of squares of each term.
Note that in this implementation the term is folded into the normalization calculation so that it can be computed a single time, during initialization.
d | Distance from field point to center of profile. |
w | Half-width this cell in the wavefront. |
A | Normalization coefficient. |
|
protectedvirtual |
Estimate intensity as the product of Gaussian contributions in the D/E and AZ directions.
It assumes that the the divergence can be characterized in terms of independent D/E and AZ terms and that Gaussian beam cross terms are unimportant.
location | Target location. |
de | DE index of closest point of approach. |
az | AZ index of closest point of approach. |
offset | Offsets in time, DE, and AZ at collision. |
distance | Offsets in distance units. |
Implements spreading_model.
|
private |
Summation of Gaussian beam contributions from all cells in the AZ direction.
Iteration stops when lowest frequency contribution makes less than a THRESHOLD difference relative to the overall result.
de | DE index of contributing cell. |
az | AZ index of contributing cell. |
offset | Offsets in time, DE, and AZ at collision. |
distance | Offsets in distance units. |
|
private |
Summation of Gaussian beam contributions from all cells in the D/E direction.
Iteration stops when lowest frequency contribution makes less than a THRESHOLD difference relative to the overall result.
de | DE index of contributing cell. |
az | AZ index of contributing cell. |
offset | Offsets in time, DE, and AZ at collision. |
distance | Offsets in distance units. |
|
private |
Interpolate the half-width of a cell in the AZ direction.
At each DE, compute the distance between the AZ corner and the AZ+1 corner. Use the D/E offset to linearly interpolate between these sides. Then repeat this process with the next (or previous) wavefront and use the time offset to linearly interpolate between times.
de | DE index of contributing cell. |
az | AZ index of contributing cell. |
offset | Offsets in time, DE, and AZ at collision. |
|
private |
Interpolate the half-width of a cell in the D/E direction.
At each AZ, compute the distance between the D/E corner and the D/E+1 corner. Use the AZ offset to linearly interpolate between these sides. Then repeat this process with the next (or previous) wavefront and use the time offset to linearly interpolate between times.
de | DE index of contributing cell. |
az | AZ index of contributing cell. |
offset | Offsets in time, DE, and AZ at collision. |
|
friend |
|
private |
Combination of cell width and spreading.
(temp workspace)
|
private |
|
private |
Intensity contribution in azimuthal direction.
(temp workspace)
|
private |
Intensity contribution in D/E direction.
(temp workspace)
|
private |
Normalization in azimuthal direction.
|
private |
Normalization in depression/elevation direction.
|
staticprivate |
Minimum percentage that each Gaussian beam can be expected spread into neighboring beams.
When the frequency is very high, the summation across Gaussian beams can have non-physical "ripples" in it. Follow the GRAB example of 50% overlap.
|
staticprivate |
Number of wavelengths that each Gaussian beam can be expected spread into neighboring beams.
Equivalent to the minimum width term in the GRAB model.
|
staticprivate |
Limits the extent of the search for Gaussian beam contributions.
Iteration stops when new contribution makes less than a 0.01 dB contribution to the overall result.