Engee documentation

EngeeRadars.surfaceReflectivity

Normalized surface reflectivity.

Library

EngeeRadars

Description

System object EngeeRadars.surfaceReflectivity creates an interface for a system object EngeeRadars.SurfaceReflectivitySea. Use EngeeRadars.surfaceReflectivity to generate a normalized effective scattering area (ESR) and, if necessary, a spotty structure depending on the frequency and angle of sliding for the sea surface.

The normalized EPR is used to calculate EPR and reflections from surface interference. Spotting is a multiplier used to make surface interference appear noisier, and is especially applicable to image processing applications. Attach an object EngeeRadars.surfaceReflectivity to the surface Using the sea radarScenario.

To calculate the normalized reflectivity of a surface, follow these steps:

  1. Create an object EngeeRadars.surfaceReflectivity and set its properties.

  2. Call the object with arguments as if it were a function.

To learn more about how to work with system objects, see Engee System Objects.

Syntax

Creation

  • refl = EngeeRadars.surfaceReflectivity(surfacetype) — creates a system object of normalized reflectivity refl with the surface type surfacetype set as an input argument as "Sea". Use refl to generate a normalized effective scattering area as a function of frequency and slip angle.

  • refl = EngeeRadars.surfaceReflectivity(surfacetype,Name=Value) — creates a system object of normalized reflectivity refl for the surface type surfacetype with the specified properties as a pair Name=Value, where Name — the name of the property, and Value — the appropriate value. You can specify multiple pairs «name-value» the order of the pairs does not matter. Unspecified properties retain their default values.

Using

  • nrcs,speck = refl(graz,freq) — returns the normalized EPR nrcs and a multiplicative spotted structure speck at the sliding angle graz and frequency freq.

  • nrcs,speck = refl(graz,freq,lookangle) — also sets the viewing angle of the radar lookangle the surface of the sea, if refl is an object EngeeRadars.SurfaceReflectivitySea. To use this syntax, set the surfacetype property to "Sea", and for the property Model is one of the values "APL", "GIT", "Hybrid", "Masuko", "Sittrop" or "TSC".

Arguments

Input arguments

# graz — sliding angle, degrees

+ vector

Details

Sliding angle surface relative to the radar in degrees, set as a vector-a string of real values of length in the range of 0° up to 90°.

# freq — transmitted frequencies

+ scalar | vector

Details

Transmitted frequencies in Hz, specified as a positive scalar or vector of positive values of length .

# lookangle — viewing angle relative to the wind direction

+ 0 (default) | scalar

Details

The viewing angle relative to the wind direction, set as a scalar of 0° up to 180°. The viewing angle is zero when facing the wind.

Viewing angle for different directions:

  • Against the wind — 0°;

  • Downwind — 180°;

  • Across the wind — 90°.

Dependencies

To use this argument, set the property to Model value "APL", "GIT", "Hybrid", "Masuko", "Sittrop" or "TSC".

Типы данных

Float64

Output arguments

# nrcs — normalized EPR

+ the matrix | array

Details

Normalized Effective Scattering Area (EPR), also called surface . The units of measurement are dimensionless, but are usually expressed in m2/m2. Argument nrcs It is returned as an array, the size of which is determined by the object properties and input arguments.:

  • In the case of non-polarimetric reflectivity (value EnablePolarization is equal to false) nrcs it is returned as a real matrix of size on .

  • In the case of polarimetric reflectivity (the value of EnablePolarization is true) nrcs it is returned as a real array of size on on on . For each value and argument nrcs forms a polarimetric reflectivity matrix normalized EPR in the form of

    where and — cross-polarization components defined by properties ReflectivityHV and ReflectivityVH respectively, and — components of copolarization, which for sea surfaces are derived from the specified model set by the property Model.

The returned normalized reflectivity for the polarization components specified by the properties ReflectivityHV and ReflectivityVH, It is calculated using nearest neighbor interpolation for a given sliding angle and frequency. In order to avoid interpolation errors, the values of the normalized reflectivity in these properties should cover the sliding angles from 0 before 90 degrees and all expected frequencies.

Dependencies

To use the polarimetric reflectivity matrix, set the property EnablePolarization value true.

# speck — multiplicative spotted structure

+ the matrix | array

Details

A multiplicative spotted structure returned as a matrix of size on , where — length of the vector graz, and — length of the vector freq; or, in the case of polarimetric reflectivity, in the form of an array on on on .

Features

# surfacetype — type of surface

+ "Sea"

Details

The type of surface specified as "Sea".

surfacetype System object Default values

"Sea"

EngeeRadars.SurfaceReflectivitySea

EnablePolarization=false,Model="NRL",SeaState=1,Polarization="H",Speckle="None"

Типы данных

String

# EnablePolarization — activation of polarization

+ false (by default) | true

Details

The ability to enable polarization. If the value is set to true, then the output argument is nrcs It includes the polarimetric components of the normalized EPR. The EnablePolarization property includes additional properties related to polarization if it is set to true or false.

With the value true you can use the CrossPolarization. Setting it activates additional properties related to frequencies and sliding angles, which can be specified using the additional properties listed in the table.

Activated property surfacetype Description

CrossPolarization, set as "Full" or "Symmetric". — enables cross-polarization

"Sea"

  • CrossPolarization, set as "Full", activates ReflectivityHV and ReflectivityVH, except when for a property Model the value is set "ConstantGamma" (the Gamma property defines the polarization).

  • CrossPolarization, set as "Symmetric", activates ReflectivityHV, except when the Model property is set to "ConstantGamma".

Frequency — frequencies

"Sea"

Frequencies related to the polarimetric components of reflectivity. This property can be set if the Model property is set to any value other than "ConstantGamma".

GrazingAngle — sliding angles

"Sea"

The sliding angles related to the polarimetric components of reflectivity. This property can be set if for the Model any value is set except "ConstantGamma".

If the value is set to false, the additional property shown in the table below is activated.

Activated property surfacetype Description

Polarization — predominant polarization

"Sea"

The prevailing polarization of the sea reflectivity model. This property can be set if for the Model any value is set except "ConstantGamma".

Типы данных

Bool

# CrossPolarization — type of cross-polarization

+ "Full" (by default) | "Symmetric"

Details

The type of cross-polarization specified as "Full" or "Symmetric".

If the value is set to "Full" This property activates additional properties related to polarization and affects spotting.:

Activated property surfacetype Description Spotting

ReflectivityHV is a component of the crosspolarized reflectivity HV

For the sea surface, the copolarization components HH and VV are determined by a specific model selected in the Model.

"Sea"

  • This property can be set if the Model property is set to any value other than "ConstantGamma".

  • If the Model property is set to "ConstantGamma", then the HV component can be specified in the Gamma property.

If for a property Speckle any value other than is set "None", then unique spot values are generated for all components of the polarimetric reflectivity (HV, VH, HH and VV).

ReflectivityVH is a component of the crosspolarized reflectivity VH

"Sea"

  • This property can be set if the Model property is set to any value other than "ConstantGamma".

  • If the Model property is set to "ConstantGamma", then the VH component can be specified in the Gamma property.

If the value is set to "Symmetric" this property activates an additional property related to polarization and affects spotting:

Activated property surfacetype Description Spotting

ReflectivityHV is a component of the crosspolarized reflectivity HV

For the sea surface, the copolarization components HH and VV are determined by a specific model selected in the Model.

"Sea"

  • This property can be set if the Model property is set to any value other than "ConstantGamma".

  • If the Model property is set to "ConstantGamma", then the HV component can be specified in the Gamma property.

  • If for a property Speckle any value other than is set "None", then the spot values corresponding to the polarimetric reflectivity components HV and VH will be equivalent.

  • Unique spot values are generated for the polarimetric reflectivity components HH and VV.

Типы данных

String

# ReflectivityHV — normalized HV reflectivity values

+ zeros(91,2) (by default) | scalar | vector | the matrix | array

Details

Specify the normalized EPR or reflectivity values for the cross-polarized reflectivity component HV. HV represents horizontal transmission and vertical reception. The property can be specified as a real matrix of size on , where corresponds to the number of angles specified in the GrazingAngle, but — the number of frequencies in the property Frequency.

Return value nrcs For components with cross-polarization, it is calculated using nearest neighbor interpolation at a given sliding angle and frequency. Therefore, the normalized reflectivity values should cover the sliding angles from 0 before 90° and all expected frequencies to avoid interpolation errors. The units of measurement are dimensionless, but are usually expressed in m2/m2.

Dependencies

To use this property, set the EnablePolarization value true.

If the property surfacetype is set to "Sea", also set for the property Model any value other than "ConstantGamma".

Типы данных

Float64

# ReflectivityVH — normalized values of VH + reflectivity zeros(91,2) (by default) | scalar | vector | the matrix | array

Details

Specify the normalized EPR or reflectivity values for the cross-polarized reflectivity component VH. VH represents vertical transmission and horizontal reception. The property can be specified as a real matrix of size on , where corresponds to the number of angles specified in the GrazingAngle, but — the number of frequencies in the property Frequency.

Return value nrcs For components with cross-polarization, it is calculated using nearest neighbor interpolation at a given sliding angle and frequency. Therefore, the normalized reflectivity values should cover the sliding angles from 0 before 90° and all expected frequencies to avoid interpolation errors. The units of measurement are dimensionless, but are usually expressed in m2/m2.

Dependencies

To use this property, set the EnablePolarization value true.

If the property surfacetype is set to "Sea", also set for the property Model any value other than "ConstantGamma".

Типы данных

Float64

# Frequency — radar frequency, Hz

+ [0 1e20] (default) | vector

Details

Frequencies in Hz associated with the components polarimetric reflectivity (ReflectivityHV and ReflectivityVH), specified as a vector-a string of length , where . If — a vector of two elements, it defines the minimum and maximum frequencies within which the reflectivity components are applicable. Default for the EnablePolarization the value is set false, and the Frequency property is ignored for surfaces "Sea".

Dependencies

To use this property, for the type of surface "Sea", set for the property EnablePolarization value true, and for the property Model — any value except "ConstantGamma".

Типы данных

Float64

# GrazingAngle — sliding angles, degrees

+ [0:90] (by default) | vector

Details

Sliding angles in degrees related to components polarimetric reflectivity (ReflectivityHV and ReflectivityVH), specified as a vector-a string of length , where . If — a vector of two elements, it defines the minimum and maximum sliding angles at which the reflectivity components are applicable. Default for the EnablePolarization the value is set false, and the GrazingAngle property is ignored for surfaces "Sea".

Dependencies

To use this property, for the surface type "Sea", set for the property EnablePolarization value true, and for the property Model — any value other than "ConstantGamma".

Типы данных

Float64

# Speckle — type of spot distribution

+ "None" (by default) | "Lognormal" | "Rayleigh" | "Weibull"

Details

The type of spot distribution set as one of the values: "None", "Lognormal", "Rayleigh" or "Weibull". Spotting is a multiplier used to make surface interference appear more noisy, especially applicable in image processing applications.

  • "None" — the spotted structure is not applied.

  • "Lognormal" — the spotted structure has a lognormal distribution. Define the distribution using the properties SpeckleMean and SpeckleStandardDeviation. The default values of these properties create a spot with a normalized average lognormal distribution.

  • "Rayleigh" — the spotted structure has a Rayleigh distribution. Define the distribution using the SpeckleScale. The default value of this property creates a spot with a single average Rayleigh distribution.

  • "Weibull" — the spotted structure has a Weibull distribution. Define the distribution using the properties SpeckleScale and SpeckleShape. The default values of these properties create a spot with a single mean value of the Weibull distribution.

Типы данных

String

# SpeckleMean is the average value of the lognormal distribution of the spotted structure

+ −0.5*log(2) (by default) | scalar

Details

The average value of the lognormal distribution of the spotted structure, given as a scalar. If for a property Speckle value set "Lognormal" the spotted structure has a lognormal distribution, and this distribution can be determined using the SpeckleMean and [Property properties:SpeckleStandardDeviation]. The default values of these properties create a mottled structure with a normalized average lognormal distribution.

The lognormal distribution is parameterized by the mean value and the standard deviation . The expected value of the distribution of the spotted structure can be expressed as

Values and lead to the value .

Dependencies

To use this property, set the Speckle value "Lognormal".

Типы данных

Float64

# SpeckleStandardDeviation is the standard deviation of the lognormal distribution of the spotted structure

+ sqrt(log(2)) (by default) | scalar

Details

The standard deviation of the lognormal distribution of the spotted structure, given as a non-negative scalar. If for a property Speckle value set "Lognormal" the spotted structure has a lognormal distribution, and it is possible to determine this distribution using the properties SpeckleMean and SpeckleStandardDeviation. The default values of these properties create a spotty structure with a normalized average lognormal distribution.

The lognormal distribution is parameterized by the mean value and the standard deviation . The expected value of the distribution of the spotted structure can be expressed as

Values and lead to the value .

Dependencies

To use this property, set the Speckle value "Lognormal".

Типы данных

Float64

# SpeckleScale is the scale parameter for the distribution of the spotted Weibull and Rayleigh structure

+ sqrt(4/π) (by default) | scalar

Details

The scale parameter for the distribution of the Rayleigh and Weibull spotted structure, set as a non-negative scalar.

  • If for a property Speckle value set "Rayleigh" The spotted structure has a Rayleigh distribution. The default value for SpeckleScale creates a spotty structure with a single average value of the Rayleigh distribution. The Rayleigh distribution is parameterized only by the spotting scale . The expected value of the distribution of the spotted structure can be expressed as

    Meaning results in the value .

  • If for a property Speckle value set "Weibull" the spotted structure has a Weibull distribution, and it is possible to determine this distribution using the SpeckleScale and [Property properties:SpeckleShape]. The default values of these properties create a spotty structure with a single mean value of the Weibull distribution. The Weibull distribution is parameterized by the spotting scale and the shape of the spots :

    where — the gamma function. Values and lead to the value .

Dependencies

To use this property, set the Speckle value "Rayleigh" or "Weibull".

Типы данных

Float64

# SpeckleShape — the significance of the shape for the Weibull distribution

+ 2 (by default) | scalar

Details

If for a property Speckle value set "Weibull" the spotted structure has a Weibull distribution, and it is possible to determine this distribution using the properties SpeckleScale and SpeckleShape. The default values of these properties create a spotty structure with a single mean value of the Weibull distribution.

The Weibull distribution is parameterized by the spotting scale and the shape of the spots :

where — the gamma function. Values and lead to the value .

Dependencies

To use this property, set the Speckle value "Weibull".

Типы данных

Float64

For the type of surface «Sea»

# Model — sea reflectivity model

+ "NRL" (by default) | "APL" | "GIT" | "Hybrid" | "Masuko" | "Nathanson" | "RRE" | "Sittrop" | "TSC" | "ConstantGamma"

Details

The model of the reflectivity of the sea, given as "NRL", "APL", "GIT", "Hybrid", "Masuko", "Nathanson", "RRE", "Sittrop", "TSC" or "ConstantGamma".

It is not recommended to use sea models outside the acceptable frequency ranges, glide angles, and sea conditions. See Models of the reflectivity of the sea for more information about the acceptable range of supported sea models.

# SeaState — the state of the sea

+ 1 (by default) | an integer

Details

The state of the sea, set as a non-negative integer from 0 before 9. See the Sea conditions section for more information about sea state values. If for a property Model value set "ConstantGamma", instead of SeaState, specify the Gamma property.

Типы данных

Int64

# Polarization — predominant polarization of the reflectivity model

+ "H" (by default) | "V"

Details

The prevailing polarization of the surface reflectivity model, given as "H" or "V". "H" indicates horizontal polarization, and "V" — vertical.

Dependencies

To use this property, set the EnablePolarization value false, and for the property Model — value "ConstantGamma".

Типы данных

String

# Gamma — the value of the gamma correction of the sea, dB

+ −40 (by default) | scalar | the matrix

Details

The value of gamma correction in dB, used in constant gamma correction model, specified as a scalar or a real matrix of size 2 on 2. If for a property Model value set "ConstantGamma", then you need to set a gamma correction value representing the required characteristics of the sea surface at a given frequency, instead of the SeaState. Default value −40 corresponds to the state of the sea 3.

  • If for a property EnablePolarization the value is set false, specify Gamma as a scalar.

  • If the EnablePolarization property is set to true specify Gamma as a scalar or matrix 2 on 2, so that Gamma = [GammaHH GammaHV; GammaVH GammaVV]. When set as a scalar, it is assumed that all polarimetric components are equal. If for a property CrossPolarization value set "Symmetric", value GammaVH must be equal to the value GammaHV.

You can use the function surfacegamma to get the gamma correction value for the supported terrain types and frequencies.

Dependencies

To use this property, set the Model value "ConstantGamma".

Типы данных

Float64

Methods

Common to all system objects

step!

Run the system object operation algorithm

release!

Allow changing the value of a system object property

reset!

Resetting the internal states of a system object

Examples

Normalized reflectivity with constant gamma correction

Details

We obtain the normalized reflectivity of the sea with constant gamma correction using the value by default −40 dB on the frequency 10 GHz and at the sliding angle 10 degrees.

import EngeeRadars: surfaceReflectivity

grazAng = 10
freq = 10e9
refl = surfaceReflectivity("Sea")

println("EnablePolarization: ", refl.EnablePolarization,
        "\nModel: ", refl.Model,
        "\nGamma: ", refl.Gamma,
        "\nSpeckle: ", refl.Speckle)
EnablePolarization: false
Model: NRL
Gamma: -40
Speckle: None
nrcs = refl(grazAng, freq)
([2.50092718146313e-5], 1)

Additional Info

Models of the reflectivity of the sea

Details
Model Type Sliding angles Frequency range The state of the sea Configurable properties

"NRL" (default) is the Gregers-Hansen and Mittal marine interference model.

  • An empirical model of marine reflectivity developed by the Naval Research Laboratory.

  • The model does not take into account variations depending on azimuth or wind direction.

  • The model corresponds to the experimental results with an absolute deviation of about 2.2–2.3 dB for sliding angles from 0.1° up to 10°. Deviation in 2.6 dB is observed for higher sliding angles 10° and below 60°.

See [9] and [1].

Empirical

0.1–60

0.5–35

0–6

SeaState

Polarization

"APL" — The ADSAM model of the Johns Hopkins Laboratory of Applied Physics.

  • Calculating wind speed based on sea conditions yields less conservative reflectivity values than the model "GIT" in weaker sea conditions.

  • The model takes into account the height and speed of the waves.

  • The model differs from "GIT" by calculating the wind speed based on the state of the sea.

See [4].

Semi-empirical

0.1–10

1–100

1–6

SeaState

Polarization

"GIT" — model of the Georgia Institute of Technology.

  • A semi-empirical model based on multipath propagation factors, wind speed, and wind direction.

  • The model takes into account the height and speed of the waves.

See [10], [11] and [9].

Semi-empirical

0.1–10

1–100

1–6

SeaState

Polarization

"Hybrid" — a hybrid model combining Barton’s work, Nathanson tables, and semi-empirical models "GIT". It can be shifted towards higher values in the low-angle sliding mode. See [11].

Semi-empirical

0.1–30

0.5–35

0–5

SeaState

Polarization

"Masuko" — an empirical model applicable to the average sliding angles for the X and Ka ranges. See [12] and [10].

Empirical

30–60

X 8–12

Ka 26.5–40

1–6

SeaState

Polarization

"Nathanson" — empirical tables compiled on the basis of experimental data representing the average values for all wind directions in the range from UHF to Ka. See [3].

Empirical

0.1–60

UHF 0.3–1

L 1–2

S 2–4

C 4–8

X 8–12

Ku 12–18

Ka 32–36

0–6

SeaState

Polarization

"RRE" — model of the Radar Research Institute.

  • The average values in all wind directions.

  • It is widely used in the UK to evaluate the characteristics of airborne radars.

See [10].

Mathematical

< 10

9–10

0–6

SeaState

Polarization

"Sittrop" — an empirical model for lower slip angles and higher sea conditions for the X-band. See [10].

Empirical

0.2–10

X 8–12

0–7

SeaState

Polarization

"TSC" — an empirical model «Technology Service Corporation» (TSC).

  • It is based on the fit to the Nathanson tables.

  • Similar to the model "GIT" but the values don’t drop so fast in the range.

  • It is recommended for conservative performance forecasting or when conditions are unknown.

See [11].

Empirical

0.1–90

0.5–35

0–5

SeaState

Polarization

"ConstantGamma" — a mathematical model for normalized reflectivity. The default value of Gamma is −40, which corresponds to the state of the sea 3. See the The constant gamma correction model section.

Mathematical

See the The constant gamma correction model section.

—

—

Gamma

Sea conditions

Details

The state of the sea refers to the state of the sea surface. The state of the sea is influenced by factors such as wind speed, height, and wave period. Function searoughness allows you to get the standard deviation of the surface height for a given sea state. The state of the sea is usually classified using the sea status code of the World Meteorological Organization (WMO), which varies from 0 before 9:

  • The state of the sea 0: calm (mirror-smooth) — wave height 0 m.

  • The state of the sea 1: calm (light waves, ripples) — the height of the waves up to 0.1 m.

  • The state of the sea 2: calm (small waves) — the height of the waves from 0.1 before 0.5 m.

  • The state of the sea 3: light excitement — the height of the waves from 0.5 before 1.25 m.

  • The state of the sea 4: moderate waves — the height of the waves from 1.25 before 2.5 m.

  • The state of the sea 5: strong waves — the height of the waves from 2.5 before 4 m.

  • The state of the sea 6: significant disturbance — the height of the waves from 4 before 6 m.

  • The state of the sea 7: great excitement — the height of the waves from 6 before 9 m.

  • The state of the sea 8: very strong waves — the height of the waves from 9 before 14 m.

  • The state of the sea 9: exceptional excitement — the height of the waves is more than 14 m.

The constant gamma correction model

Details

The constant gamma correction model expresses a simple analytical relationship between the normalized EPR and the sliding angle:

where it is defined by the property Gamma, and — sliding angle graz, set in degrees.

The model of the spotted structure

Details

Spotting is modeled as an uncorrelated multiplier , where — EPR interference, and — random numbers taken from an independent identically distributed statistical noise distribution with an average value of one. Since spotting correlates with the EPR of the underlying surface, it is usually applied to the intensity of the radar signal. The noise distributions used in the spotted structure model include the lognormal and Rayleigh distributions, as well as the Weibull distribution.

Literature

  1. Barton, David Knox. Radar Equations for Modern Radar. Artech House, 2013.

  2. Long, Maurice W. Radar Reflectivity of Land and Sea. 3rd ed, Artech House, 2001.

  3. Nathanson, Fred E., et al. Radar Design Principles: Signal Processing and the Environment. 2. ed., Repr, Scitech Publ, 2004.

  4. Reilly, J. P., R. L. McDonald, and G. D. Dockery. RF-Environment Models for the ADSAM Program. Report No. A1A97U-070, Laurel, MD: Johns Hopkins University Applied Physics Laboratory, August 22, 1997.

  5. Billingsley, J. Barrie. Low-Angle Radar Land Clutter: Measurements and Empirical Models. William Andrew Pub.: SciTech Pub.; Institution of Electrical Engineers, 2002.

  6. Richards, M. A., et al., editors. Principles of Modern Radar. SciTech Pub, 2010.

  7. Morchin, Fred E., J. Patrick Reilly, and Marvin Cohen. Radar Design Principles: Signal Processing and the Environment. 2nd ed. New York: McGraw-Hill, 1991.

  8. Ulaby, Fawwaz T., and M. Craig Dobson. Handbook of Radar Scattering Statistics for Terrain. Artech House, 1989.

  9. Gregers-Hansen, V. and Mittal, R. An Improved Empirical Model for Radar Sea Clutter Reflectivity. NRL/MR/5310-12-9346, Apr. 27, 2012.

  10. Ward, Keith D., Simon Watts, and Robert J. A. Tough. Sea Clutter: Scattering, the K-Distribution and Radar Performance. IET Radar, Sonar, Navigation and Avionics Series 20. London: Institution of Engineering and Technology, 2006.

  11. Antipov, Irina. Simulation of Sea Clutter Returns. Department of Defence, June 1998.

  12. Masuko, Harunobu, Ken’ichi Okamoto, Masanobu Shimada, and Shuntaro Niwa. Measurement of Microwave Backscattering Signatures of the Ocean Surface Using X Band and K a Band Airborne Scatterometers. Journal of Geophysical Research 91, no. C11 (1986): 13065. https://doi.org/10.1029/JC091iC11p13065.