Main Content

value

Radar cross-section at specified angle and frequency

Since R2021a

Description

rcsval = value(rcssig,az,el,freq) returns the value, rcsval, of the radar cross-section (RCS) specified by the radar signature object, rcssig, computed at the specified azimuth az, elevation el, and frequency freq. If the specified azimuth and elevation is outside of the region in which the RCS signature is defined, the RCS value, rcsval, is returned as -Inf in dBsm.

example

[rcsval,expval] = value(rcssig,az,el,freq) returns the expected values of the radar cross-section.

example

Input Arguments

expand all

Radar cross-section signature, specified as an rcsSignature object.

Azimuth angle, specified as scalar or length-M real-valued vector. Units are in degrees. The az, el, and freq arguments must have the same size. You can, however, specify one or two arguments as scalars, in which case the arguments are expanded to length-M.

Data Types: double

Elevation angle, specified as scalar or length-M real-valued vector. The az, el, and freq arguments must have the same size. You can, however, specify one or two arguments as scalars, in which case the arguments are expanded to length-M. Units are in degrees.

Data Types: double

RCS frequency, specified as a positive scalar or length-M vector with positive, real elements. The az, el, and freq arguments must have the same size. You can, however, specify one or two arguments as scalars, in which case the arguments are expanded to length-M vectors. Units are in Hertz.

Example: 100e6

Data Types: double

Output Arguments

expand all

Radar cross-section, returned as a scalar, 2-by-2 real-valued matrix, real-valued length-M vector, or 2-by-2-by-M matrix where M is the length of the az, el, or freq arguments.

  • If EnablePolarization is false, the returned pattern is the mean radar cross-section (RCS) in dBsm. rcsval is either a scalar or a real-valued length-M vector. Units are in dBsm.

  • If EnablePolarization is true, the returned pattern is the polarization scattering matrix. rcsval is either a 2-by-2 real-valued matrix or a 2-by-2-by-M real-valued matrix. Units are in meters,

The 2-by-2 polarization scattering matrix has the form S = [Shh Shv; Svh Svv].

Expected radar cross-section, returned as a scalar, 2-by-2 real-valued matrix, real-valued length-M vector, or 2-by-2-by-M matrix. The dimensions of expval are the same as rcsval.

  • If EnablePolarization is false, the expected pattern is the mean radar cross-section (RCS) in dBsm. rcsval is either a scalar or a real-valued length-M vector. Units are in dBsm.

  • If EnablePolarization is true, the expected pattern is the polarization scattering matrix. rcsval is either a 2-by-2 real-valued matrix or a 2-by-2-by-M real-valued matrix. Units are in meters.

The 2-by-2 polarization scattering matrix has the form S = [Shh Shv; Svh Svv].

Data Types: double

Examples

expand all

Specify the radar cross-section (RCS) of a triaxial ellipsoid and plot RCS values along an azimuth cut.

Specify the lengths of the axes of the ellipsoid. Units are in meters.

a = 0.15;
b = 0.20;
c = 0.95;

Create an RCS array. Specify the range of azimuth and elevation angles over which RCS is defined. Then, use an analytical model to compute the radar cross-section of the ellipsoid. Create an image of the RCS.

az = [-180:1:180];
el = [-90:1:90];
rcs = rcs_ellipsoid(a,b,c,az,el);
rcsdb = 10*log10(rcs);
imagesc(az,el,rcsdb)
title('Radar Cross-Section')
xlabel('Azimuth (deg)')
ylabel('Elevation (deg)')
colorbar

Figure contains an axes object. The axes object with title Radar Cross-Section, xlabel Azimuth (deg), ylabel Elevation (deg) contains an object of type image.

Create an rcsSignature object and plot an elevation cut at 30 azimuth.

rcssig = rcsSignature('Pattern',rcsdb,'Azimuth',az,'Elevation',el,'Frequency',[300e6 300e6]);
rcsdb1 = value(rcssig,30,el,300e6);
plot(el,rcsdb1)
grid
title('Elevation Profile of Radar Cross-Section')
xlabel('Elevation (deg)')
ylabel('RCS (dBsm)')

Figure contains an axes object. The axes object with title Elevation Profile of Radar Cross-Section, xlabel Elevation (deg), ylabel RCS (dBsm) contains an object of type line.

function rcs = rcs_ellipsoid(a,b,c,az,el)
sinaz = sind(az);
cosaz = cosd(az);
sintheta = sind(90 - el);
costheta = cosd(90 - el);
denom = (a^2*(sintheta'.^2)*cosaz.^2 + b^2*(sintheta'.^2)*sinaz.^2 + c^2*(costheta'.^2)*ones(size(cosaz))).^2;
rcs = (pi*a^2*b^2*c^2)./denom;
end

Import the radar cross-section (RCS) measurements of a 1/5th scale Boeing 737. Load the RCS data into an rcsSignature object. Assume the RCS follows a Swerling 1 distribution.

load('RCSSignatureExampleData.mat','boeing737');
rcs = rcsSignature('Pattern',boeing737.RCSdBsm, ...
    'Azimuth', boeing737.Azimuth,'Elevation',boeing737.Elevation, ...
    'Frequency',boeing737.Frequency,'FluctuationModel','Swerling1');

Set the seed of the random number generator for reproducibility of example.

rng(3231)

Plot sample RCS versus azimuth angle.

plot(rcs.Azimuth,rcs.Pattern)
xlabel('Azimuth (deg)'); ylabel('RCS (dBsm)')
title('Measured RCS from 1/5th scale Boeing 737 model')

Figure contains an axes object. The axes object with title Measured RCS from 1/5th scale Boeing 737 model, xlabel Azimuth (deg), ylabel RCS (dBsm) contains an object of type line.

Construct an RCS histogram and display the mean value.

N = 1000;
val = zeros(1,N);
for k = 1:N
    [val(k),expval] = value(rcs,-5,0,800.0e6);
end

Convert to power units.

mean(db2pow(val))
ans = 
406.9799
histogram(db2pow(val),50)
xlabel("RCS (dBsm)")

Figure contains an axes object. The axes object with xlabel RCS (dBsm) contains an object of type histogram.

Algorithms

The RCS signature, is first linearly interpolated at the specified azimuth, az, and elevation, el, view angles for the provided frequencies, freq. The interpolated signature is then used as an expected value of a probability distribution that generates a signature pattern value according to the RCS fluctuation model specified by the FluctuationModel property.. az and el are specified in degrees and are defined in the body frame of the pattern. freq is in hertz.

If FluctuationModel is 'Swerling0', the returned pattern value is a deterministic constant equal to the interpolated signature.

If FluctuationModel is 'Swerling1', the returned pattern value is a random variable distributed according to an exponential distribution with a mean value equal to the interpolated signature.

If FluctuationModel is 'Swerling3', the returned pattern value is a random variable distributed according to a chi-square distribution with four degrees of freedom and a mean value equal to the interpolated signature.

Extended Capabilities

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

Version History

Introduced in R2021a