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
Q-length vector of real values
Grazing or depression angle of a surface relative to the radar, specified as a
Q-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
R-length vector of positive values
Transmitted frequencies, specified as a positive scalar or R-length vector of positive values. Units are in Hz.
freq = 70e9
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
nrcs is dimensionless but often
expressed as m²/m². Normalized reflectivity is also called normalized radar cross
For the non-polarimetric reflectivity case,
nrcsis returned as a real-valued Q-by-R matrix.
For the polarimetric reflectivity case,
nrcsis returned as a real-valued 2-b-2-byQ-by-R array. For each value of Q and R,
NRCSforms a polarimetric normalized radar cross-section (NRCS) reflectivity matrix s of the form
where SHV and SVH are the cross-polarization components specified by the
ReflectivityVHproperties. The σ0HH and σ0VV components are derived from the specified model as set by the
The returned normalized reflectivity for cross-polarization components
calculated using nearest neighbor interpolation at a given grazing angle and frequency.
To avoid interpolation errors, the normalized reflectivity values in the
properties should cover grazing angles from 0–90 degrees and all expected
To enable the polarimetric reflectivity, set the
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: EnablePolarization: 0 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: EnablePolarization: 0 Reflectivity: [5x3 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
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Introduced in R2022a