Normalized reflectivity of surface
To compute the normalized reflectivity:
surfaceReflectivityobject 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?
normalized reflectivity object,
refl = surfaceReflectivity
refl, for a land surface. Use this
object to generate a normalized radar cross section (NRCS) (also called surface
σ0) as a function of frequency and grazing angle. This syntax
creates a constant gamma land reflectivity model with a constant gamma value of -20 dB,
which is representative of flatland.
creates a normalized reflectivity object,
refl = surfaceReflectivity(
refl, for a
surfacetype specified as one of
'Custom'. Use this object to generate a
normalized radar cross section (NRCS) (also called surface σ0)
as a function of frequency and grazing angle.
also creates a normalized reflectivity object for surface type
refl = surfaceReflectivity(
surfacetype with the specified property
set to the specified
Value. You can specify additional name-value
pair arguments in any order as
creates a normalized reflectivity object for land using the GIT model with a
Soil and a
SurfaceHeightStandardDeviation of 1.
graz — Grazing or depression angle
scalar | M-length vector of real values
Grazing or depression angle of a surface relative to the radar, specified as a scalar
or an M-length row vector of real values. When the land
Model property is set to
angle is interpreted as a depression angle
depressionang between –90° and 90°. For all other models, the angle is
interpreted as a grazing angle
grazingang ranging from 0° to 90° . Units are in degrees.
freq — Transmitted frequencies
10e9 (default) | positive scalar | N-length vector of positive values
Transmitted frequencies, specified as a positive scalar or N-length vector of positive values. Units are in Hz.
freq = 7*10e9
nrcs — Normalized surface reflectivity
real-valued N-length row vector | real-valued M-by-N matrix
Normalized surface reflectivity, returned as either a real-valued
N-length row vector or a real-valued
M-by-N matrix. Normalized reflectivity is also
called normalized radar cross section. M is the length of the grazing
angle or depression angle vector
graz and N is
the length of the frequency vector
is dimensionless but often expressed as m²/m².
speck — Multiplicative speckle
N-length real-valued vector
Multiplicative speckle, returned as an N-length real-valued
vector where N is the length of the frequency vector in
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
Constant Gamma Normalized Reflectivity
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: Model: 'ConstantGamma' Gamma: -20 Speckle: 'None'
nrcs = refl(grazAng,freq)
nrcs = 0.0017
Obtain Normalized Radar Cross-Section From GIT Model
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')
Sea Surface Normalized Reflectivity
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';
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')
Nathanson Reflectivity Model
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
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: Reflectivity: [5x3 double] Frequency: [1.5000e+09 3.0000e+09 6.0000e+09] GrazingAngle: [1.5000 3 10 30 60] Speckle: 'Rayleigh' SpeckleScale: 1.1284
[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
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Introduced in R2022a