classdef rcsSignature< matlabshared.tracking.internal.fusion.targetTruth.rcsSignature & matlabshared.tracking.internal.ValueClassCustomDisplay
%RCSSIGNATURE  Radar cross-section (RCS) signature
%   rcs = RCSSIGNATURE creates a radar cross-section (RCS) signature that
%   models the interaction of a platform with radio frequency (RF)
%   emitters, signals, and sensors. The default RCS signature returned
%   models a platform with a 10 dBsm cross-section at all view angles.
%
%   rcs = RCSSIGNATURE(...,'Name',Value) creates an RCS signature object,
%   rcs, with the specified property Name set to the specified Value.
%   Additional name-value pair arguments can be specified in any order as
%   ('Name1',Value1,...,'NameN',ValueN).
%
%   RCSSIGNATURE properties:
%    EnablePolarization - Enable polarization
%    CrossPolarization  - Cross-pol specification method
%    Pattern            - Mean RCS pattern (dBsm)
%    ShhPattern         - Polarization scattering matrix HH component (m)
%    SvvPattern         - Polarization scattering matrix VV component (m)
%    ShvPattern         - Polarization scattering matrix HV component (m)
%    SvhPattern         - Polarization scattering matrix VH component (m)
%    Azimuth            - Azimuth view angles where pattern is sampled
%    Elevation          - Elevation view angles where pattern is sampled
%    Frequency          - Frequencies where RCS pattern is sampled
%    FluctuationModel   - Statistical signature fluctuation model
%
%   RCSSIGNATURE methods:
%    value             - Retrieve the RCS signature's value
%    toStruct          - Convert object to a struct
%
%   % Examples:
%
%   % Example 1:
%   %   Import the mean RCS for a Boeing 737 and assign it to an RCS
%   %   signature object. Obtain the value of the pattern at 0 degrees in
%   %   azimuth and elevation at 667 MHz. Angles are with respect to the
%   %   target local coordinate system.
% 
%   % Load RCS pattern (dBsm) for Boeing 737
%   load('RCSSignatureExampleData.mat','boeing737');
%
%   % Create RCS signature from pattern
%   rcs = rcsSignature('Pattern',boeing737.RCSdBsm, ...
%       'Azimuth',boeing737.Azimuth,'Elevation',boeing737.Elevation, ...
%       'Frequency',boeing737.Frequency)
%
%   % Plot pattern
%   plot(rcs.Azimuth,rcs.Pattern)
%   xlabel('Azimuth (deg)')
%   ylabel('RCS (dBsm)')
%   title('Measured RCS from 1/5th Scale Boeing 737 Model')
%
%   % Get RCS value at 0 degrees azimuth
%   value(rcs,0,0,667e6)
% 
%   % Example 2:
%   %   Import the mean RCS for a cylinder at multiple frequencies. Create
%   %   an RCS signature and set the Swerling model to 1. Get a 5 degree
%   %   azimuth cut of the pattern at 500 and 700 MHz and plot.
%
%   % Load RCS pattern (dBsm) for cylinder
%   load('RCSSignatureExampleData.mat','cylinder');
%
%   % Create RCS signature from pattern
%   rcs = rcsSignature('Pattern',cylinder.RCSdBsm, ...
%       'Azimuth',cylinder.Azimuth,'Elevation',cylinder.Elevation, ...
%       'Frequency',cylinder.Frequency,'FluctuationModel','Swerling1')
%
%   % Get 5 deg azimuth cut at 500 MHz
%   az = 5;
%   el = -90:90;
%   f1 = 500e6;
%   vals1 = value(rcs,az,el,f1);
%
%   % Get 5 deg azimuth cut at 700 MHz
%   f2 = 700e6;
%   vals2 = value(rcs,az,el,f2);
%
%   % Plot 5 deg azimuth cuts for 500 MHz and 700 MHz.
%   plot(el,[vals1(:) vals2(:)])
%   xlabel('Elevation (deg)')
%   ylabel('RCS (dBsm)')
%   title('Modeled RCS for a Cylinder')
%   legend('500 MHz','700 MHz')
% 
% See also: radarEmitter.

 
%   Copyright 2018-2022 The MathWorks, Inc.

    methods
        function out=rcsSignature
        end

        function out=getPropertyGroups(~) %#ok<STOUT>
            % Get active property groups
        end

    end
end
