surfaceReflectivitySea
Description
Normalized reflectivity is the radar crosssection of a unit area of a sea surface. Multiplying by the total area of a surface or the illuminated area of a surface gives the total radar crosssection. Normalized reflectivity is also referred to as surface σ^{0} and is a function of frequency and grazing angle.
To compute the normalized reflectivity:
Create the
surfaceReflectivitySea
object and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Description
creates a
normalized reflectivity object, refl
= surfaceReflectivitySearefl
, for a sea surface. Use this
object to generate a normalized radar cross section (NRCS). This syntax assumes a
'NRL'
sea model with a sea state of zero.
also creates a normalized reflectivity object for a sea surface with the specified
property refl
= surfaceReflectivitySea(Name=Value
)Name
set to the specified Value
. You
can specify additional namevalue pair arguments in any order as
(Name1=Value1
,...,NameN=ValueN
).
Example: refl =
surfaceReflectivitySea(Model="Hybrid",SeaState=2,Speckle="Rayleigh")
creates a
normalized reflectivity object for a sea surface using the Hybrid model with a
SeaState
of 2 and a Rayleigh Speckle
type.
Properties
Unless otherwise indicated, properties are nontunable, which means you cannot change their
values after calling the object. Objects lock when you call them, and the
release
function unlocks them.
If a property is tunable, you can change its value at any time.
For more information on changing property values, see System Design in MATLAB Using System Objects.
EnablePolarization
— Enable polarization
false
(default)  true
Enable polarization, specified as false
or true
.
When
true
, the System object™ enables the specification of crosspolarization components to help form a complete polarimetric normalized radar crosssection (NRCS) reflectivity matrix σ^{0} of the form$${\sigma}^{0}=\left[\begin{array}{cc}{\sigma}_{HH}^{0}& {\sigma}_{HV}^{0}\\ {\sigma}_{VH}^{0}& {\sigma}_{VV}^{0}\end{array}\right]$$
where σ^{0}_{HV} and σ^{0}_{VH} are the crosspolarization components specified by the
ReflectivityHV
andReflectivityVH
properties, respectively. The remaining components, σ^{0}_{HH} and σ^{0}_{VV}, are determined by the particular model set by theModel
property.When
false
, the System object lets you specify the mean polarization using thePolarization
property based on the selectedModel
.
CrossPolarization
— Crosspolarization components
'Full'
(default)  'Symmetric'
Crosspolarization components, specified as 'Full'
or
'Symmetric'
.
When the CrossPolarization
property is set to
'Full'
:
If the
Model
property is not set to'ConstantGamma'
, theReflectivityHV
andReflectivityVH
properties are applicable, and unique speckle values are generated for all reflectivity components (σ^{0}_{HH}, σ^{0}_{HV}, σ^{0}_{VH}, and σ^{0}_{VV}).If the
Model
property set to'ConstantGamma'
, theCrossPolarization
property only affects speckle generation.
When the CrossPolarization
property is set to
'Symmetric'
then reciprocity applies for monostatic geometry and
the crosspolarization terms are equal,
σ^{0}_{HV} =
σ^{0}_{VH}.
If the
Model
property is not'ConstantGamma'
, only theReflectivityHV
property can be set. TheReflectivityVH
property is assumed to be equal to theReflectivityHV
property. In addition, speckle values corresponding to the HV and VH components are equal.If the
Model
property is'ConstantGamma'
, setting theCrossPolarization
property to'Symmetric'
requires that the HV and VH components of theGamma
property are equal and the object returns equal HV and VH speckle values.
Dependencies
To enable this property, set the EnablePolarization
property
to true
.
Data Types: char
 string
Model
— Sea reflectivity model
'NRL'
(default)  'APL'
 'GIT'
 'Hybrid'
 'Masuko'
 'Nathanson'
 'RRE'
 'Sittrop'
 'TSC'
 'ConstantGamma'
Sea reflectivity model, specified as 'NRL'
,
'APL'
, 'GIT'
, 'Hybrid'
,
'Masuko'
, 'Nathanson'
, 'RRE'
,
'Sittrop'
, 'TSC'
, or
'ConstantGamma'
. The table.Sea Reflectivity Models summarize the sea
surface models available in the radar simulation and their domain of application
SeaState
— Sea state
1 (default)  nonnegative integer
Sea state, specified as a nonnegative integer from 0 – 8.
Data Types: double
Polarization
— Polarization of reflectivity model
'H'
(default)  'V'
Polarization of reflectivity model, specified as 'H'
for
horizontal polarization or 'V'
for vertical polarization.
Dependencies
To enable this property, set the EnablePolarization
property
to false
and set the Model
property to any
value except 'ConstantGamma'
.
Gamma
— Sea gamma value
40 (default)  real scalar
Gamma value used in the constant gamma clutter reflectivity model, specified as a scalar or 2by2 realvalued matrix. The gamma value depends on both sea state and operating frequency. Units are in dB.
If
EnablePolarization
isfalse
, specifyGamma
as a scalar.If
EnablePolarization
istrue
, specifyGamma
as a scalar or a 2by2 matrix, such that Gamma = [GammaHH GammaHV; GammaVH GammaVV]. When specified as a scalar, it is assumed that all polarimetric components are equal.To control the speckle values for the polarimetric
Gamma
case, set theCrossPolarization
property to'Full'
for unique speckle values for all components or'Symmetric'
to set the speckle value for HV = VH.
Example: 25
Dependencies
To enable this property, set the Model
property to
ConstantGamma
.
Data Types: double
ReflectivityHV
— HV normalized radar cross section
zeros(91,2)
(default)  QbyR realvalued matrix
Normalized radar cross section (NRCS), for the crosspolarized
σ^{0}_{HV}
component, where HV represents horizontal transmission and vertical
reception. Q corresponds to the number of angles in either the
GrazingAngle
or DepressionAngle
property.
R corresponds to the number of frequencies in the
Frequency
property. The
σ^{0}_{HH} and
σ^{0}_{VV}
components are derived from the selected model designated by the
Model
property and associated properties. Units are
m²/m².
Dependencies
To enable this property, set the EnablePolarization
property to
true
and set the Model
property is
anything other than 'ConstantGamma'
.
Data Types: double
ReflectivityVH
— VH normalized radar cross section
zeros(91,2)
(default)  QbyR realvalued matrix
Normalized radar cross section (NRCS), for the crosspolarized
σ^{0}_{VH}
component, where VH represents horizontal transmission and vertical
reception. Q corresponds to the number of angles in either the
GrazingAngle
or DepressionAngle
property.
R corresponds to the number of frequencies in the
Frequency
property. The
σ^{0}_{HH} and
σ^{0}_{VV}
components are derived from the selected model designated by the
Model
property and associated properties. Units are
m²/m².
Dependencies
To enable this property, set the CrossPolarization
property
to 'Full'
.
Frequency
— Radar frequency
[0 1e20]
(default)  lengthR row vector
Valid frequencies for the normalized reflectivity, specified as a lengthR row vector. Frequency units are in Hz.
Example: [1e6,10e6]
Dependencies
To enable this property, set the EnablePolarization
property
to true
and set the Model
property to any
value except 'Constant Gamma'
.
Data Types: double
GrazingAngle
— Grazing angles
[0:90]
(default)  lengthQ row vector
Grazing angles, as a lengthQ row vector. Units are in degrees.
Example: [45:60]
Dependencies
To enable this property, set the EnablePolarization
property
to true
and set the Model
property any value
except 'Constant Gamma'
.
Data Types: double
Speckle
— Speckle distribution type
'None'
(default)  'Lognormal'
 'Rayleigh'
 'Weibull'
Speckle distribution type, specified as 'None'
,
'Lognormal'
, 'Rayleigh'
, or
'Weibull'
. Speckle is a multiplicative factor used to make
clutter data appear noisier and is especially applicable to imaging applications.
Speckle is correlated with clutter RCS and is applied as I = σ*n, where σ represents the clutter RCS and n represents random numbers, which are often drawn from an independent identicallydistributed unity mean noise statistical distribution.
None
– No speckle is applied.Lognormal
– Speckle has a lognormal distribution. Define the distribution using theSpeckleMean
andSpeckleStandardDeviation
properties. Default values of these properties create speckle with a normalized mean lognormal distribution.Rayleigh
– Speckle has a Rayleigh distribution. Define the distribution using theSpeckleScale
property. The default value of this property creates speckle with a unit mean Rayleigh distribution.Weibull
– Speckle has a Weibull distribution. Define the distribution using theSpeckleScale
andSpeckleShape
properties. The default values of these properties create speckle with a unit mean Rayleigh distribution.
Data Types: char
 string
SpeckleMean
— Mean of value of lognormaldistributed speckle
0.5*log(2)
(default)  scalar
Mean value of lognormaldistributed speckle, specified as a scalar.
Dependencies
To enable this property, set the
Speckle
property to
'Lognormal'
.
Data Types: double
SpeckleStandardDeviation
— Standard deviation of lognormaldistributed speckle
sqrt(log(2))
(default)  nonnegative scalar
Standard deviation of lognormaldistributed speckle, specified as a nonnegative scalar.
Dependencies
To enable this property, set the
Speckle
property to
'Lognormal'
.
Data Types: double
SpeckleScale
— Scale parameter for Weibull and Rayleigh speckle distribution
sqrt(4/π)
(default)  nonnegative scalar
Scale parameter for speckle for the Rayleigh and Weibull distributions, specified as a positive scalar.
Dependencies
To enable this property, set the Speckle
property to 'Rayleigh'
or 'Weibull'
.
Data Types: double
SpeckleShape
— Shape value for Weibull distribution
2
(default)  positive scalar
Shape value for the Weibull speckle distribution, specified as a positive scalar.
Dependencies
To enable this property, set the Speckle
property to
'Weibull'
.
Data Types: double
Usage
Description
Input Arguments
graz
— Grazing angle
nonnegative scalar  lengthQ row vector of nonnegative values
Grazing angle of surface relative to radar, specified as a scalar or a lengthQ row vector of nonnegative values. Grazing angles must lie between 0° and 90°. Units are in degrees.
freq
— Transmitted frequencies
Rlength vector of positive values
Transmitted frequencies, specified as a positive scalar or Rlength vector of positive values. Units are in Hz.
Example: freq = 70e9
lookangle
— Look angle with respect to wind direction
0 (default)  scalar
Look angle with respect to wind direction, specified as a scalar between 0° and 180°. The look angle is zero when looking upwind.
Dependencies
To enable this argument, set the Model
property to
'APL'
, 'GIT'
, 'Hybrid'
,
'Masuko'
, 'Sittrop'
, or
'TSC'
.
Data Types: double
Output Arguments
nrcs
— Normalized surface reflectivity
realvalued QbyR matrix  realvalued 2by2byQbyR array
Normalized surface reflectivity , returned as a realvalued
QbyR matrix or a realvalued
2by2QbyR array. Q is
the length of the grazing angle graz
or, for land surfaces only,
depression angle. R is the length of the frequency vector
freq
. nrcs
is dimensionless but often
expressed as m²/m². Normalized reflectivity is also called normalized radar cross
section (NRCS).
For the nonpolarimetric reflectivity case,
nrcs
is returned as a realvalued QbyR matrix.For the polarimetric reflectivity case,
nrcs
is returned as a realvalued 2b2byQbyR array. For each value of Q and R,NRCS
forms a polarimetric normalized radar crosssection (NRCS) reflectivity matrix s of the form$${\sigma}^{0}=\left[\begin{array}{cc}{\sigma}_{HH}^{0}& {\sigma}_{HV}^{0}\\ {\sigma}_{VH}^{0}& {\sigma}_{VV}^{0}\end{array}\right]$$
where S_{HV} and S_{VH} are the crosspolarization components specified by the
ReflectivityHV
andReflectivityVH
properties. The σ^{0}_{HH} and σ^{0}_{VV} components are derived from the specified model as set by theModel
property
The returned normalized reflectivity for crosspolarization components
σ^{0}_{HV} and
σ^{0}_{VH} is
calculated using nearest neighbor interpolation at a given grazing angle and frequency.
To avoid interpolation errors, the normalized reflectivity values in the
ReflectivityHV
and ReflectivityVH
properties should cover grazing angles from 0–90 degrees and all expected
frequencies.
Dependencies
To enable the polarimetric reflectivity, set the
EnablePolarization
to true
.
speck
— Multiplicative speckle
QbyR matrix  2by2byQbyR
MATLAB^{®} array
Multiplicative speckle, returned as a QbyR
matrix where Q is the length of the angles vector in
graz
and R is the length of the frequency
vector in freq
. For the polarimetric reflectivity case, speckle
is returned as a 2by2byQbyR
MATLAB array.
Data Types: double
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
Examples
Create Sea Surface Reflectivity Model
Create a sea surface normalized reflectivity object using the default NRL model and a sea state of 6. Obtain the normalized reflectivity at a frequency of 1 GHz over grazing angles from 0.1 to 10 degrees and assume vertical polarization. Plot the normalize reflectivity as a function of grazing angle.
grazAng = 0.1:0.1:10; freq = 1e9; seastate = 6; pol = 'V'; refl = surfaceReflectivitySea(SeaState = seastate,Polarization = pol); nrcs = refl(grazAng,freq); plot(grazAng,pow2db(nrcs)) grid on xlabel('Grazing Angle (deg)') ylabel('NRCS (dB m^2/m^2)') title('NRL Model, Vertical Polarization')
Create Sea Surface Reflectivity Model with Default Values
Create a sea surface normalized reflectivity object using the default model parameters. Obtain the normalized reflectivity at a frequency of 1 GHz over grazing angles from 0.1 to 10 degrees and assume vertical polarization. Plot the normalize reflectivity as a function of grazing angle.
grazAng = 0.1:0.1:10; freq = 1e9; refl = surfaceReflectivitySea
refl = surfaceReflectivitySea with properties: EnablePolarization: 0 Model: 'NRL' SeaState: 1 Polarization: 'H' Speckle: 'None'
nrcs = refl(grazAng,freq); plot(grazAng,pow2db(nrcs)) grid on xlabel('Grazing Angle (deg)') ylabel('NRCS (dB m^2/m^2)') title('NRL Model, Vertical Polarization')
Create Reflective Sea Surface in Radar Scenario
Configure a radarscenario
to simulate a reflective sea surface. Add a sea surface object to define the physical properties of the scenario surface. The surface is a simple 400by400 meter rectangle. Use the surfaceReflectivitySea
function to create a GIT model with a sea state 3. Then, use the scenario seaSurface
method to add the rectangular sea region and the radar reflectivity model to the scenario. Use a surface reference height of 16 meters.
scene = radarScenario(UpdateRate = 0, IsEarthCentered = false); refl = surfaceReflectivitySea(Model = "GIT", SeaState = 3, Polarization = "V"); srf = seaSurface(scene,RadarReflectivity = refl, ... Boundary=[200 200; 200 200],ReferenceHeight = 16)
srf = SeaSurface with properties: WindSpeed: 10 WindDirection: 0 Fetch: Inf SpectralModel: [] RadarReflectivity: [1x1 surfaceReflectivitySea] ReflectivityMap: 1 ReferenceHeight: 16 Boundary: [2x2 double]
Display Reflectivity Matrix for Sea Surface
Create a sea surface normalized reflectivity object using the NRL model and a sea state of 6. Specify the crosspolarization reflectivity. Obtain the NRCS at a frequency of 10 GHz over grazing angles from 1 to 10 degrees. Plot the reflectivities.
refl = surfaceReflectivitySea(Model='NRL',SeaState=6, ... EnablePolarization=true,CrossPolarization='full', ... GrazingAngle = 0:.1:90,Frequency = [100,1e6,11e6], ... ReflectivityHV=0.002*sind(0:.1:90)'*[1 1 1], ... ReflectivityVH=0.001*sind(0:.1:90)'*[1 1 1]);
Set the grazing angles and frequencies. Plot the reflectivities.
grazAng = 0.1:0.1:10; freq = 10e9; nrcs = refl(grazAng,freq); plot(grazAng,pow2db(squeeze(nrcs(1,1,:))), ... grazAng,pow2db(squeeze(nrcs(2,2,:))), ... grazAng,pow2db(squeeze(nrcs(1,2,:))), ... grazAng,pow2db(squeeze(nrcs(2,1,:)))) legend('HH','VV','HV','VH'); grid on xlabel('Grazing Angle (deg)') ylabel('NRCS (dB m^2/m^2)') title('NRL Model: Sea State 6')
More About
Sea Reflectivity Models
Model  Type  Grazing Angles  Frequency Range  Sea State  Settable Properties  

 Empirical  0.1 – 60  0.5 – 35  0 – 6 
 
See [3].  Semiempirical  0.1 – 10  1 – 100  1 – 6 
 
 Semiempirical  0.1 – 10  1 – 100  1 – 6 
 
See [5].  Semiempirical  0.1 – 30  0.5 – 35  0 – 5 
 
 Empirical  30 – 60  X (8 – 12) Ka (26.5 – 40)  1 – 6 
 
See [7].  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 
 
 Mathematical  < 10  9 – 10  0 – 6 
 
See [4].  Empirical  0.2 – 10  X (8 – 12)  0 – 7 
 
See [5].  Empirical  0.1 – 90  0.5 – 35  0 – 5 
 
 Mathematical 

Constant Gamma Model
The constantgamma model expresses a simple analytic relationship between the normalized radar crosssection and grazing angle.
σ = 10^{(γ/10)}sin(θ)
γ is defined by the Gamma
property and θ is the grazing angle input argument graz
given in degrees. The default value of Gamma
is –40, which is representative of sea state 3.
Speckle Model
Speckle is modeled as an uncorrelated, multiplicative factor I = σ∙n, where σ represents the clutter RCS and n are independent identically distributed (IDD) mean noise samples with unity mean. Because speckle is correlated with underlying terrain RCS, it is usually applied to radar intensity. The speckle noise models include Weibull, Rayleigh, and lognormal.
References
[1] GregersHansen, V. and Mittal, R. "An Improved Empirical Model for Radar Sea Clutter Reflectivity." NRL/MR/5310129346, Apr. 27, 2012.
[2] Barton, David Knox. Radar Equations for Modern Radar. Artech House, 2013.
[3] Reilly, J. P., R. L. McDonald, and G. D. Dockery. "RFEnvironment Models for the ADSAM Program." Report No. A1A97U070, Laurel, MD: Johns Hopkins University Applied Physics Laboratory, August 22, 1997.
[4] Ward, Keith D., Simon Watts, and Robert J. A. Tough. Sea Clutter: Scattering, the KDistribution and Radar Performance. IET Radar, Sonar, Navigation and Avionics Series 20. London: Institution of Engineering and Technology, 2006.
[5] Antipov, Irina. "Simulation of Sea Clutter Returns." Department of Defence, June 1998.
[6] 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.
[7] Nathanson, Fred E., et al. Radar Design Principles: Signal Processing and the Environment. 2. ed., Repr, Scitech Publ, 2004.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2022a
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)