Hauptinhalt

surfaceReflectivity

Normalized reflectivity of surface

Since R2022a

Description

The surfaceReflectivity System object™ creates a common interface for the surfaceReflectivityLand, surfaceReflectivityCustom, and surfaceReflectivitySea System objects. Use surfaceReflectivity to generate normalized radar cross section (NRCS), and optionally speckle, as a function of frequency and grazing angle for land, sea, and custom surfaces. NRCS is the radar cross section (RCS) of a unit area of a surface. Multiplying by the total area of a surface or the illuminated area of a surface gives the total RCS.

NRCS is used to calculate RCS and surface clutter returns. Speckle is a multiplicative factor used to make surface clutter appear noisier and is especially applicable to imaging applications. Attach a surfaceReflectity object to a landSurface or seaSurface in radarScenario using SurfaceManager. See Radar Surface Clutter Simulation for more information.

To compute the normalized reflectivity:

  1. Create the surfaceReflectivity object and set its properties.

  2. 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

refl = surfaceReflectivity creates a normalized reflectivity System object, refl, for a default constant gamma land reflectivity model. Use refl to generate normalized radar cross section as a function of frequency and grazing angle.

example

refl = surfaceReflectivity(surfacetype) creates a normalized reflectivity object, refl, with the surface type, surfacetype, specified as a positional input argument as one of "Land","Sea", or "Custom". Use refl to generate normalized radar cross section as a function of frequency and grazing angle.

refl = surfaceReflectivity(surfacetype,PropertyName=Value) also creates a normalized reflectivity object for a land, sea, or custom surface type, with each specified PropertyName set to the corresponding Value. You can specify additional pairs of arguments in any order as (PropertyName1=Value1,...,PropertyNameN=ValueN).

example

Properties

expand all

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.

Surface type, specified as one of "Land","Sea", or "Custom".

surfacetypeSystem ObjectDefault Values
none specifiedsurfaceReflectivityLandEnablePolarization=false,Model="ConstantGamma",gamma=-20,Speckle="None"
"Land"surfaceReflectivityLandEnablePolarization=false,Model="Barton",LandType="FlatLand",Speckle="None"
"Sea"surfaceReflectivitySeaEnablePolarization=false,Model="NRL",SeaState=1,Polarization="H",Speckle="None"
"Custom"surfaceReflectivityCustomEnablePolarization=false,Reflectivity=ones(91,2),Frequency=[0,1e20],GrazingAngle=[0:90],Speckle="None"

Data Types: char | string

Any surfacetype

Enable polarization, specified as true or false. When EnablePolarization is set to true, the output argument nrcs includes polarimetric normalized radar cross section components. EnablePolarization enables additional polarization-related properties when set to either true or false.

When set to true, EnablePolarization enables the CrossPolarization property. Specifying the CrossPolarization property enables additional properties that are relevant for frequencies and grazing angles that you can specify using additional properties:

Enabled PropertysurfacetypeDescription

CrossPolarization, specified as "Full" or "Symmetric" – Enables cross polarization

"Land" or "Sea"

  • CrossPolarization set to "Full" enables ReflectivityHV and ReflectivityVH, except when Model is set to "ConstantGamma" (the Gamma property defines polarization).

  • CrossPolarization set to "Symmetric" enables ReflectivityHV, except when Model is set to "ConstantGamma" (the Gamma property defines polarization).

"Custom"

  • CrossPolarization set to "Full" enables ReflectivityHV, and ReflectivityVH, ReflectivityHH, ReflectivityVV.

  • CrossPolarization set to "Symmetric" enables ReflectivityHV, ReflectivityHH, and ReflectivityVV.

Frequency – Frequencies

"Land" or "Sea"

Frequencies associated with polarimetric reflectivity components. You can specify this property when Model is set to any value other than "ConstantGamma".

"Custom"

Frequencies associated with polarimetric reflectivity components.

GrazingAngle – Grazing angles

"Land"

Grazing angles associated with polarimetric reflectivity components. You can specify this property when Model is set to any value other than "Billingsley" or "ConstantGamma".

"Sea"

Grazing angles associated with polarimetric reflectivity components. You can specify this property when Model is set to any value other than "ConstantGamma".

"Custom"

Grazing angles associated polarimetric reflectivity components.

DepressionAngle – Depression angles

"Land"

Depression angles associated with polarimetric reflectivity components. DepressionAngle is only enabled when the Model property is set to "Billingsley" and this property is used instead of GrazingAngle.

When set to false, EnablePolarization enables:

Enabled PropertysurfacetypeEnabled Property
Polarization – Mean polarization"Land"

Mean polarization of the land reflectivity model. Polarization is only enabled when Model is set to "UlabyDobson".

"Sea"

Mean polarization of the sea reflectivity model. You can specify this property when Model is set to any value except "ConstantGamma".

Reflectivity – Reflectivity values"Custom"

Normalized radar cross section (NRCS), or reflectivity values.

Frequency – Frequencies

Frequencies associated with reflectivity values.

GrazingAngle – Grazing angles

Grazing angles associated with reflectivity values.

Data Types: char | string

Cross-polarization type, specified as "Full" or "Symmetric".

When set to "Full", the CrossPolarization property enables additional polarization-related properties and impacts speckle:

Enabled PropertysurfacetypeDescriptionSpeckle

ReflectivityHVHV cross-polarized reflectivity component

Note

For land and sea surfaces, the HH and VV co-polarized components are determined by the particular model selected in the Model property.

"Land" or "Sea"
  • You can specify this property when Model is set to any value other than "ConstantGamma".

  • When Model is set to "ConstantGamma", you can specify the HV component in the Gamma property.

When the Speckle property is also set to any value other than "None", unique speckle values are generated for all polarimetric reflectivity components (HV, VH, HH, and VV).

"Custom"

HV is the cross-polarized reflectivity component that represents horizontal transmission and vertical reception.

ReflectivityVHVH cross-polarized reflectivity component"Land" or "Sea"
  • You can specify this property when Model is set to any value other than "ConstantGamma".

  • When Model is set to "ConstantGamma", you can specify the VH component in the Gamma property.

"Custom"VH is the cross-polarized reflectivity component that represents vertical transmission and horizontal reception.

ReflectivityHHHH co-polarized reflectivity component

"Custom"

HH is the co-polarized reflectivity component that represents horizontal transmission and horizontal reception.

ReflectivityVVVV co-polarized reflectivity component

"Custom"

VV is the co-polarized reflectivity component that represents vertical transmission and vertical reception.

When set to "Symmetric", the CrossPolarization property enables additional polarization-related properties and impacts speckle:

Enabled PropertysurfacetypeDescriptionSpeckle

ReflectivityHVHV cross-polarized reflectivity component

Note

For land and sea surfaces, the HH and VV co-polarized components are determined by the particular model selected in the Model property.

"Land" or "Sea"
  • You can specify this property when Model is set to any value other than "ConstantGamma".

  • When Model is set to "ConstantGamma", you can specify the HV component in the Gamma property.

  • When the Speckle property is also set to any value other than "None", speckle values corresponding to the HV and VH polarimetric reflectivity components are equivalent.

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

"Custom"

HV is the cross-polarized reflectivity component that represents horizontal transmission and vertical reception. Reciprocity is assumed and the cross-polarization terms are set to be equal so that ReflectivityVH = ReflectivityHV.

ReflectivityHHHH co-polarized reflectivity component

"Custom"

HH is the co-polarized reflectivity component that represents horizontal transmission and horizontal reception.

ReflectivityVVVV co-polarized reflectivity component

"Custom"

VV is the co-polarized reflectivity component that represents vertical transmission and horizontal vertical.

Data Types: char | string

Specify normalized radar cross section (NRCS), or reflectivity values, for the cross-polarized HV reflectivity component. HV represents horizontal transmission and vertical reception. Q corresponds to the number of angles in GrazingAngle or, for supported land surfaces only, DepressionAngle. R corresponds to the number of frequencies in the Frequency property.

For "Custom" surfacetype, you can specify an Q-by-R-by-P array, where P is the number of surfaces.

The returned nrcs for cross-polarized components is calculated using nearest neighbor interpolation at a given grazing angle and frequency. Therefore, normalized reflectivity values should cover grazing angles from 0–90° and all expected frequencies to avoid interpolation errors. Units are dimensionless but commonly expressed as m²/m².

Dependencies

To enable this property, set the EnablePolarization property to true. For "Land" or "Sea" surfacetype, also set the Model property to any value other than "ConstantGamma".

Data Types: double

Specify normalized radar cross section (NRCS), or reflectivity values, for the cross-polarized VH reflectivity component. VH represents vertical transmission and horizontal reception. Q corresponds to the number of angles in GrazingAngle or, for supported land surfaces only, DepressionAngle. R corresponds to the number of frequencies in the Frequency property.

For "Custom" surfacetype, you can specify an Q-by-R-by-P array, where P is the number of surfaces.

The returned nrcs for cross-polarized components is calculated using nearest neighbor interpolation at a given grazing angle and frequency. Therefore, normalized reflectivity values should cover grazing angles from 0–90° and all expected frequencies to avoid interpolation errors. Units are dimensionless but commonly expressed as m²/m².

Dependencies

To enable this property, set the EnablePolarization property to true and set the CrossPolarization property to "Full". For a "Land" or "Sea" surfacetype, also set the Model property to any value other than "ConstantGamma".

Data Types: double

Frequencies associated with Reflectivity or polarimetric reflectivity components (ReflectivityHV, ReflectivityVH, ReflectivityHH, and ReflectivityVV), specified as a length-R row vector, where R is no less than two. When R is a 2-element vector, it defines the minimum and maximum frequencies over which the reflectivity components are valid. By default, the EnablePolarization property is false and the Frequency property is ignored for "Land" and "Sea" surfaces. Frequency units are in Hz.

Example: [1e6,10e6]

Dependencies

To enable this property for "Land" or "Sea" surfacetype, set the EnablePolarization property to true and set the Model property to any value except "ConstantGamma". This property is always enabled for "Custom" surfacetype.

Data Types: double

Grazing angles associated with Reflectivity or polarimetric reflectivity components (ReflectivityHV, ReflectivityVH, ReflectivityHH, and ReflectivityVV), specified as a length-Q row vector, where Q is no less than two. When Q is a 2-element vector, it defines the minimum and maximum Grazing Angle over which the reflectivity components are valid. By default, the EnablePolarization property is false and the GrazingAngle property is ignored for "Land and "Sea" surfaces. Units are in degrees.

Example: [45:60]

Dependencies

To enable this property for "Land or "Sea" surfacetype, set the EnablePolarization property to true. For land surfaces, also set the Model property to any value except "ConstantGamma" or "Billingsley". For sea surfaces, also set the Model property to any value except "ConstantGamma". This property is always enabled for "Custom" surfacetype.

Data Types: double

Speckle distribution type, specified as one of "None", "Lognormal", "Rayleigh", or "Weibull". Speckle is a multiplicative factor used to make surface clutter appear noisier and is especially applicable to imaging applications. See Speckle Model for more information.

  • "None" – No speckle is applied.

  • "Lognormal" – Speckle has a lognormal distribution. Define the distribution using the SpeckleMean and SpeckleStandardDeviation properties. Default values of these properties create speckle with a normalized mean lognormal distribution.

  • "Rayleigh" – Speckle has a Rayleigh distribution. Define the distribution using the SpeckleScale 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 the SpeckleScale and SpeckleShape properties. The default values of these properties create speckle with a unit mean Weibull distribution.

Data Types: char | string

Mean value of lognormal-distributed speckle, specified as a scalar. When the Speckle property is set to "Lognormal", speckle has a lognormal distribution and you can define the distribution using the SpeckleMean and SpeckleStandardDeviation properties. Default values of these properties create speckle with a normalized mean lognormal distribution.

A lognormal distribution is parameterized with a mean, μlog, and a standard deviation, σlog. The expected value of the speckle distribution can be expressed as

speckle_dist=e(μlog+σlog22).

A μlog of -0.5*log(2) and a σlog of sqrt(log(2)) results in a speckle_dist equal to one.

Dependencies

To enable this property, set the Speckle property to "Lognormal".

Data Types: double

Standard deviation of lognormal-distributed speckle, specified as a non-negative scalar. When the Speckle property is set to "Lognormal", speckle has a lognormal distribution and you can define the distribution using the SpeckleMean and SpeckleStandardDeviation properties. Default values of these properties create speckle with a normalized mean lognormal distribution.

A lognormal distribution is parameterized with a mean, μlog, and a standard deviation, σlog. The expected value of the speckle distribution can be expressed as

speckle_dist=e(μlog+σlog22).

A μlog of -0.5*log(2) and a σlog of sqrt(log(2)) results in a speckle_dist equal to one.

Dependencies

To enable this property, set the Speckle property to "Lognormal".

Data Types: double

Scale parameter for speckle for the Rayleigh and Weibull distributions, specified as a positive scalar.

  • When the Speckle property is set to "Rayleigh", speckle has a Rayleigh distribution. The default value of SpeckleScale creates speckle with a unit mean Rayleigh distribution. A Rayleigh distribution is parameterized only by the speckle scale, λscale. The expected value of the speckle distribution can be expressed as

    speckle_dist = λscaleπ2.

    A λscale of sqrt(4/π) results in a speckle_dist equal to one.

  • When the Speckle property is set to "Weibull", speckle has a Weibull distribution and you can define the distribution using the SpeckleScale and SpeckleShape properties. The default values of these properties create speckle with a unit mean Weibull distribution. A Weibull distribution is parameterized by the speckle scale, λscale, and speckle shape, kshape.

    speckle_dist = λscaleΓ(1+1kshape),

    where is Γ is the gamma function. A λscale of sqrt(4/π) and a kshape of 2 results in a speckle_dist equal to one.

Dependencies

To enable this property, set the Speckle property to "Rayleigh" or "Weibull".

Data Types: double

Shape value for the Weibull speckle distribution, specified as a positive scalar. When the Speckle property is set to "Weibull", speckle has a Weibull distribution and you can define the distribution using the SpeckleScale and SpeckleShape properties. The default values of these properties create speckle with a unit mean Weibull distribution.

A Weibull distribution is parameterized by the speckle scale, λscale, and speckle shape, kshape.

speckle_dist = λscaleΓ(1+1kshape),

where Γ is the gamma function. A λscale of sqrt(4/π) and a kshape of 2 results in a speckle_dist equal to one.

Dependencies

To enable this property, set the Speckle property to "Weibull".

Data Types: double

Land surfaceType

Land reflectivity model, specified as one of "Barton", "APL", "Billingsley", "GIT", "Morchin", "Nathanson", "UlabyDobson", or "ConstantGamma".

Tip

It is not recommended to use land models outside of their valid frequency and grazing angle ranges. See Land Reflectivity Models and Land Types for more information about the range of validity for supported models and land types.

Land type, specified as one of the options listed in the Land Type column of the table Land Reflectivity Models and Land Types. The land type must correspond to the model selected by the Model property. When Model is set to "ConstantGamma", specify the Gamma property instead of LandType.

Data Types: char | string

Mean polarization of surface reflectivity model, specified as "H" or "V". "H" designates horizontal polarization and "V" designates vertical polarization.

Dependencies

To enable this property, set the EnablePolarization property to false and set the Model property to "UlabyDobson".

Data Types: char | string

Gamma value, γ, used in the Constant Gamma Model, specified as a scalar or 2-by-2 real-valued matrix. When Model is set to "ConstantGamma", you specify the Gamma value that represents the desired surface characteristics at a given frequency instead of the LandType property. The default value of -20 is representative of flat land. Units are in dB.

  • If EnablePolarization is false, specify Gamma as a scalar.

  • If EnablePolarization is true, specify Gamma 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. When CrossPolarization is set to "Symmetric", GammaVH must be set equal to GammaHV.

Tip

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

Dependencies

To enable this property, set the Model property to "ConstantGamma".

Data Types: double

Depression angles associated with polarimetric reflectivity components, specified as a length-Q row vector, where Q is no less than two. When Q is a 2-element vector, it defines the minimum and maximum Depression Angle over which the reflectivity components are valid. By default, the EnablePolarization property is false and the DepressionAngle property is ignored. Units are in degrees.

Example: [1e6,10e6]

Dependencies

To enable this property, set the EnablePolarization property to true and set the Model property to "Billingsley".

Data Types: double

Sea surfaceType

Sea reflectivity model, specified as "NRL", "APL", "GIT", "Hybrid", "Masuko", "Nathanson", "RRE", "Sittrop", "TSC", or "ConstantGamma".

Tip

It is not recommended to use sea models outside of their valid frequency, grazing angle, and sea state ranges. See Sea Reflectivity Models for more information about the range of validity for supported sea models.

Sea state, specified as a nonnegative integer from 0 – 8. See Sea States for more information on sea state values. When Model is set to "ConstantGamma", specify the Gamma property instead of the SeaState.

Data Types: double

Mean polarization of surface reflectivity model, specified as "H" or "V". "H" designates horizontal polarization and "V" designates vertical polarization.

Dependencies

To enable this property, set the EnablePolarization property to false and set the Model property to any value except "ConstantGamma".

Data Types: char | string

Gamma value, γ, used in the Constant Gamma Model, specified as a scalar or 2-by-2 real-valued matrix. When Model is set to "ConstantGamma", you specify the Gamma value that represents the desired sea characteristics at a given frequency instead of the SeaState property. The default value of -40 is representative of sea state 3. Units are in dB.

  • If EnablePolarization is false, specify Gamma as a scalar.

  • If EnablePolarization is true, specify Gamma 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. When CrossPolarization is set to "Symmetric", GammaVH must be set equal to GammaHV.

Tip

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

Dependencies

To enable this property, set the Model property to "ConstantGamma".

Data Types: double

Custom surfaceType

Normalized radar cross section (NRCS) or mean reflectivity values, specified as an Q-by-R real-valued matrix, where Q corresponds to the number of angles in GrazingAngle and R corresponds to the number of frequencies in the Frequency property.

For more than one surface, you can specify an Q-by-R-by-P real-valued array, where P is the number of surfaces.

Units are dimensionless but often expressed in m²/m².

Dependencies

To enable this property, set the EnablePolarization property to false.

Data Types: double

Specify normalized radar cross section (NRCS) or reflectivity values, for the co-polarized HH reflectivity component. HH represents horizontal transmission and horizontal reception. Q corresponds to the number of angles in GrazingAngle and R corresponds to the number of frequencies in the Frequency property.

For more than one surface, you can specify an Q-by-R-by-P array, where P is the number of surfaces.

The returned nrcs for co-polarized components is calculated using nearest neighbor interpolation at a given grazing angle and frequency. Therefore, normalized reflectivity values should cover grazing angles from 0–90° and all expected frequencies to avoid interpolation errors. Units are dimensional but commonly expressed as m²/m².

Dependencies

To enable this property, set the EnablePolarization property to true.

Data Types: double

Specify normalized radar cross section (NRCS) or reflectivity values, for the co-polarized VV reflectivity component. VV represents vertical transmission and vertical reception. Q corresponds to the number of angles in GrazingAngle and R corresponds to the number of frequencies in the Frequency property.

For more than one surface, you can specify an Q-by-R-by-P array, where P is the number of surfaces.

The returned nrcs for co-polarized components is calculated using nearest neighbor interpolation at a given grazing angle and frequency. Therefore, normalized reflectivity values should cover grazing angles from 0–90° and all expected frequencies to avoid interpolation errors. Units are dimensional but commonly expressed as m²/m².

Dependencies

To enable this property, set the EnablePolarization property to true.

Data Types: double

Usage

Description

nrcs = refl(graz,freq) returns the normalized radar cross section, nrcs, at grazing angle graz and frequency, freq. When surftype is set to "Land" and the Model property is set to "Billingsley", graz is interpreted as a depression angle.

nrcs = refl(graz,freq,lookangle) also specifies the radar look angle, lookangle, of the sea surface when refl is a surfaceReflectivitySea object. To enable this syntax, set the surftype to "Sea" and the Model property to one of "APL", "GIT", "Hybrid", "Masuko", "Sittrop", or "TSC".

nrcs = refl(graz,freq,idx) also specifies the surface indices, idx, of the custom surfaces when refl is a surfaceReflectivityCustom object. To enable this syntax, set the surftype to "Custom" and specify the Reflectivity property or each polarimetric reflectivity component as an Q-by-R-by-P array, where P is the number of surfaces.

[nrcs,speck] = refl(___) also returns multiplicative speckle, speck.

Input Arguments

expand all

Grazing or depression angle of a surface relative to the radar, specified as a Q-length row vector of real values. For land surfaces, when the land Model property is set to "Billingsley", the angle is interpreted as a Depression Angle between –90° and 90°. For custom surfaces and all other land and sea surface models, the angle is interpreted as a Grazing Angle ranging from 0° to 90°. Units are in degrees.

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

Example: freq = 70e9

Look angle with respect to wind direction, specified as a scalar between 0° and 180°. The look angle is zero when looking upwind.

The look angle for different directions is:

  • Upwind – 0°

  • Downwind – 180°

  • Crosswind – 90°

Dependencies

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

Data Types: double

Surface index, specified as a scalar or length-N vector of positive values. N must be less than or equal to P, the number of surfaces.

Dependencies

To enable this argument, specify the Reflectivity property or each polarimetric reflectivity component as an Q-by-R-by-P array, where P is the number of surfaces.

Data Types: double

Output Arguments

expand all

Normalized radar cross section, also referred to as surface σ0. Units are dimensionless, but often expressed as m²/m². nrcs is returned as an array with dimensions that are determined by object properties and input arguments:

  • For the non-polarimetric reflectivity case (EnablePolarization is false) and when idx is a scalar, nrcs is returned as a real-valued Q-by-R array.

  • For the non-polarimetric reflectivity case (EnablePolarization is false) and when idx is a length-N vector, nrcs is returned as a real-valued N-by-Q-by-R matrix.

  • For the polarimetric reflectivity case (EnablePolarization is true) and when idx is a scalar, nrcs is returned as a real-valued 2-b-2-by-Q-by-R array. For each value of Q and R, nrcs forms a polarimetric normalized radar cross section (NRCS) reflectivity matrix, σ0, of the form

    σ0=[σHH0σHV0σVH0σVV0]

    where σ0HV and σ0VH are the cross-polarization components specified by the ReflectivityHV and ReflectivityVH properties. The σ0HH and σ0VV are the co-polarized components specified by ReflectivityHH and ReflectivityVV for custom surfaces. For land and sea surfaces, the σ0HH and σ0VV components are derived from the specified model as set by the Model property.

  • For the polarimetric reflectivity case (EnablePolarization is true) and when idx is a length-N vector, nrcs is returned as a real-valued 2-b-2-by-N-by-Q-by-R array. For each value of N, Q, and R, nrcs forms a polarimetric normalized radar cross section (NRCS) reflectivity matrix as described for the polarimetric reflectivity case when idx is a scalar.

The returned normalized reflectivity for polarization components specified by ReflectivityHV, ReflectivityVH, ReflectivityHH, and ReflectivityVV is calculated using nearest neighbor interpolation at a given grazing angle and frequency. To avoid interpolation errors, the normalized reflectivity values in these properties should cover grazing angles from 0–90 degrees and all expected frequencies.

Dependencies

To enable the polarimetric reflectivity matrix, set the EnablePolarization to true.

Multiplicative speckle, returned as a Q-by-R matrix where Q is the length of ang and R is the length of freq. For the polarimetric reflectivity case, speckle is returned as a 2-by-2-by-Q-by-R array.

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)

expand all

stepRun System object algorithm
releaseRelease resources and allow changes to System object property values and input characteristics
resetReset internal states of System object

Examples

collapse all

Obtain the constant gamma normalized reflectivity for using the default gamma value of -20 dB at a frequency of 10 GHz and a grazing angle of 10 degrees.

grazAng = 10;
freq = 10e9;
refl = surfaceReflectivity
refl = 
  surfaceReflectivityLand with properties:

    EnablePolarization: 0
                 Model: 'ConstantGamma'
                 Gamma: -20
               Speckle: 'None'

nrcs = refl(grazAng,freq)
nrcs = 
0.0017

Create a normalized reflectivity cross-section object for a land surface using the GIT model and a soil land type. Obtain the NRCS at a frequency of 10 GHz over grazing angles from 20 to 60 degrees. Assume a standard deviation of surface height of 1 m.

grazAng = 20:60;
freq    = 10e9;
refl = surfaceReflectivity('Land','Model','GIT','LandType','Soil', ...
    'SurfaceHeightStandardDeviation',1);
nrcs = refl(grazAng,freq);

Plot normalized reflectivities for grazing angles from 20 to 60 degrees.

plot(grazAng,pow2db(nrcs))
grid on
xlabel('Grazing Angle (deg)')
ylabel('NRCS (dB m^2/m^2)')
title('GIT Model')

Figure contains an axes object. The axes object with title GIT Model, xlabel Grazing Angle (deg), ylabel NRCS (dB m Squared baseline /m Squared baseline ) contains an object of type line.

Create a sea normalized reflectivity object using the default NRL model and a sea state of 2. Obtain the normalized reflectivity at 10 GHz over grazing angles from 0.1 to 10 degrees. Assume horizontal polarization.

grazAng = 0.1:0.1:10;
freq = 10e9;
ss = 2;
pol = 'H';

Use the surfaceReflectivity object to obtain the normalized reflectivity.

refl = surfaceReflectivity('Sea',SeaState = ss,Polarization = pol);
nrcs = refl(grazAng,freq);

Plot the reflectivity as a function of grazing angle.

plot(grazAng,pow2db(nrcs))
grid on
xlabel('Grazing Angle (deg)')
ylabel('NRCS (dB m^2/m^2)')
title('NRL Model, Horizontal Polarization')

Figure contains an axes object. The axes object with title NRL Model, Horizontal Polarization, xlabel Grazing Angle (deg), ylabel NRCS (dB m Squared baseline /m Squared baseline ) contains an object of type line.

Define a custom NRCS table using Nathanson reflectivity values for farmlands. Assume Rayleigh speckle. Next, calculate the RCS of a clutter patch and estimate the clutter-to-noise ratio at the receiver. Assume that the patch is 1000 meters away from the radar system. The azimuth and elevation beamwidths are 1 degree and 3 degrees, respectively. The grazing angle is 10 degrees. The pulse width is 10 microseconds. The radar operates at an L-band frequency of 1.5 GHz with a peak power of 5 kw. Use the general surfaceReflectivity object.

rng    = 1000;
bwAz   = 1;
bwEl   = 3;
graz   = 10;
tau    = 10e-6;
freq   = 1.5e9;
ppow   = 5000;

Configure a custom surface.

nathansonNRCS = db2pow([-35 -33 -32; -31 -30 -29; -29 -27 -25; ...
    -19 -17 -15; -14 -15 -14]);
nathansonFreq    = [1.5 3 6]*1e9;
nathansonGrazAng = [1.5 3 10 30 60];
refl = surfaceReflectivity('Custom',Reflectivity = nathansonNRCS, ...
    Frequency = nathansonFreq,GrazingAngle = nathansonGrazAng, ...
    Speckle = "Rayleigh")
refl = 
  surfaceReflectivityCustom with properties:

    EnablePolarization: 0
          Reflectivity: [5×3 double]
             Frequency: [1.5000e+09 3.0000e+09 6.0000e+09]
          GrazingAngle: [1.5000 3 10 30 60]
               Speckle: 'Rayleigh'
          SpeckleScale: 0.7979

[nrcs,n] = refl(graz,freq)
nrcs = 
0.0013
n = 
0.5108

Calculate the clutter RCS and apply multiplicative speckle

sigma = clutterSurfaceRCS(nrcs,rng,bwAz,bwEl,graz,tau)
sigma = 
6.6253
rcs = sigma.*n   
rcs = 
3.3841

Calculate clutter-to-noise ratio.

lambda = freq2wavelen(freq);
cnr = radareqsnr(lambda,rng,ppow,tau,'rcs',rcs)
cnr = 
69.2976

More About

expand all

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2022a