surfaceReflectivitySea
Description
Normalized reflectivity is the radar cross-section 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 cross-section. 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 name-value 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 cross-polarization components to help form a complete polarimetric normalized radar cross-section (NRCS) reflectivity matrix σ0 of the formwhere σ0HV and σ0VH are the cross-polarization components specified by the
ReflectivityHV
andReflectivityVH
properties, respectively. The remaining components, σ0HH and σ0VV, 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
— Cross-polarization components
'Full'
(default) | 'Symmetric'
Cross-polarization 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 (σ0HH, σ0HV, σ0VH, and σ0VV).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 cross-polarization terms are equal,
σ0HV =
σ0VH.
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 2-by-2 real-valued 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 2-by-2 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) | Q-by-R real-valued matrix
Normalized radar cross section (NRCS), for the cross-polarized
σ0HV
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
σ0HH and
σ0VV
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) | Q-by-R real-valued matrix
Normalized radar cross section (NRCS), for the cross-polarized
σ0VH
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
σ0HH and
σ0VV
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) | length-R row vector
Valid frequencies for the normalized reflectivity, specified as a length-R 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) | length-Q row vector
Grazing angles, as a length-Q 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 identically-distributed 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 lognormal-distributed speckle
-0.5*log(2)
(default) | scalar
Mean value of lognormal-distributed speckle, specified as a scalar.
Dependencies
To enable this property, set the
Speckle
property to
'Lognormal'
.
Data Types: double
SpeckleStandardDeviation
— Standard deviation of lognormal-distributed speckle
sqrt(log(2))
(default) | non-negative scalar
Standard deviation of lognormal-distributed speckle, specified as a non-negative 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) | non-negative 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 | length-Q row vector of nonnegative values
Grazing angle of surface relative to radar, specified as a scalar or a length-Q row vector of nonnegative values. Grazing angles must lie between 0° and 90°. Units are in degrees.
freq
— Transmitted frequencies
R-length vector of positive values
Transmitted frequencies, specified as a positive scalar or R-length 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
real-valued Q-by-R matrix | real-valued 2-by-2-by-Q-by-R array
Normalized surface reflectivity , returned as a real-valued
Q-by-R matrix or a real-valued
2-by-2-Q-by-R 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 non-polarimetric reflectivity case,
nrcs
is returned as a real-valued Q-by-R matrix.For the polarimetric reflectivity case,
nrcs
is returned as a real-valued 2-b-2-byQ-by-R array. For each value of Q and R,NRCS
forms a polarimetric normalized radar cross-section (NRCS) reflectivity matrix s of the formwhere SHV and SVH are the cross-polarization components specified by the
ReflectivityHV
andReflectivityVH
properties. The σ0HH and σ0VV components are derived from the specified model as set by theModel
property
The returned normalized reflectivity for cross-polarization components
σ0HV and
σ0VH 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
Q-by-R matrix | 2-by-2-by-Q-by-R
MATLAB® array
Multiplicative speckle, returned as a Q-by-R
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 2-by-2-by-Q-by-R
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 400-by-400 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] ReflectionCoefficient: [1x1 radar.scenario.SurfaceReflectionCoefficient] 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 cross-polarization 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]. | Semi-empirical | 0.1 – 10 | 1 – 100 | 1 – 6 |
| ||||||||
| Semi-empirical | 0.1 – 10 | 1 – 100 | 1 – 6 |
| ||||||||
See [5]. | Semi-empirical | 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 constant-gamma model expresses a simple analytic relationship between the normalized radar cross-section 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] Gregers-Hansen, V. and Mittal, R. "An Improved Empirical Model for Radar Sea Clutter Reflectivity." NRL/MR/5310-12-9346, 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. "RF-Environment Models for the ADSAM Program." Report No. A1A97U-070, 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 K-Distribution 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
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)