主要内容

SpaceGroundBasedRadar

R2026b

Sensor specification for ground-based radar for space surveillance

Since R2026b

    Description

    A SpaceGroundBasedRadar object contains a sensor specification for a ground-based radar used for space surveillance. You can use the SpaceGroundBasedRadar object as an input to multiSensorTargetTracker. The sensor specification models a scanning radar that provides azimuth, elevation, range, and range-rate measurements of satellites from a fixed ground station.

    Note

    The SpaceGroundBasedRadar sensor specification requires an Aerospace Toolbox license.

    Creation

    To create a SpaceGroundBasedRadar object, use the trackerSensorSpec function with the input arguments "space", "ground-based", and "radar". For example:

    spec = trackerSensorSpec("space","ground-based","radar")

    Properties

    expand all

    Reference frame for sensor data, specified as "NED", "ENU", or "ECEF". This property defines the reference frame used to interpret the ground station orientation, mounting location, and mounting angles.

    Example: "ECEF"

    Data Types: char | string

    Maximum number of looks per update, specified as 1 if the sensor is not scanning and as a positive integer greater than 1 if the sensor is scanning.

    Example: 40

    Data Types: single | double

    Maximum number of measurements per update, specified as a positive integer.

    Example: 10

    Data Types: single | double

    Geodetic position of the ground station, specified as a 1-by-3 real vector of the form [latitude longitude altitude], where latitude and longitude are in degrees and altitude is in meters above the WGS-84 ellipsoid.

    Example: [42.3601 -71.0589 0]

    Data Types: single | double

    Orientation of the ground station, specified as a 3-by-3 rotation matrix. The rotation matrix defines the orientation of the ground station body frame relative to the reference frame specified by the ReferenceFrame property.

    Data Types: single | double

    Sensor location on the ground station, specified as a 1-by-3 real-valued vector of form [xm ym zm]. This property defines the coordinates of the sensor with respect to the ground station origin. The default value specifies that the sensor origin is at the origin of the ground station. Units are in meters.

    Example: [1.25 -0.1 0.8]

    Data Types: single | double

    Orientation of the sensor with respect to the ground station, specified as a 1-by-3 real-valued vector of form [zyaw ypitch xroll]. Each element of the vector corresponds to an intrinsic Euler angle rotation that carries the body axes of the ground station to the sensor axes. The three elements describe the rotations around the z-, y-, and x-axis sequentially. Units are in degrees.

    Data Types: single | double

    Enable sensor to report target elevation, specified as true or false.

    Example: true

    Data Types: logical

    Enable sensor to report the target range rate, specified as true or false.

    Example: true

    Data Types: logical

    Field of view of the sensor beam at each look angle, specified as a 1-by-2 real-valued vector of the form [azimuth elevation]. Units are in degrees.

    Example: [80 10]

    Data Types: single | double

    Minimum and maximum detection range of the sensor, specified as a 1-by-2 nonnegative real-valued vector of the form [Rmin Rmax]. The radar does not detect targets that are outside this range. The maximum range, Rmax, must be greater than the minimum range, Rmin. Units are in meters.

    Example: [200e3 2000e3]

    Data Types: single | double

    Minimum and maximum detection range rate of the sensor, specified as a 1-by-2 real-valued vector of the form [RRmin RRmax]. The radar does not detect targets that are outside this range rate. To specify a maximum range-rate of RR, use [-RR RR]. Units are in meters per second.

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

    Example: [-5000 5000]

    Data Types: single | double

    Probability of detecting a target inside the coverage limits, specified as a scalar in the range (0, 1].

    Example: 0.75

    Data Types: single | double

    Azimuth resolution of the sensor, specified as a positive scalar. The azimuth resolution defines the minimum separation in azimuth angle at which the sensor can distinguish between two targets. Units are in degrees.

    Example: 0.3

    Data Types: single | double

    Range resolution of the sensor, specified as a positive scalar. The range resolution defines the minimum separation by the range at which the sensor can distinguish between two targets. Units are in meters.

    Example: 30

    Data Types: single | double

    Elevation resolution of the sensor, specified as a positive scalar. The elevation resolution defines the minimum separation by the elevation angle at which the sensor can distinguish between two targets. Units are in degrees.

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

    Example: 2.5

    Data Types: single | double

    Range rate resolution of the sensor, specified as a positive scalar. The range rate resolution defines the minimum separation by the range rate at which the sensor can distinguish between two targets. Units are in meters per second.

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

    Example: 2.5

    Data Types: single | double

    False alarm report rate within each sensor resolution cell, specified as a positive scalar in the range (0,1]. Units are dimensionless. The object determines resolution cells from the AzimuthResolution and RangeResolution properties and, when enabled, from the ElevationResolution and RangeRateResolution properties.

    Example: 1e-4

    Data Types: single | double

    Terrain data file to read, specified as a string scalar or character vector representing the path to a DTED data file. The terrain impacts the computation of detection probability of targets.

    Example: "./n39_w106_3arc_v2.dt1"

    Object Functions

    dataFormatStructure for data format required by task-oriented tracker

    Examples

    collapse all

    Create a ground-based radar sensor specification for space surveillance.

    spec = trackerSensorSpec("space","ground-based","radar")
    spec = 
      SpaceGroundBasedRadar with properties:
    
               MaxNumLooksPerUpdate: 30    
        MaxNumMeasurementsPerUpdate: 10    
    
                  ReferenceFrame: 'NED'                      
           GroundStationPosition: [0 0 0]         [deg deg m]
        GroundStationOrientation: [3⨯3 double]               
                MountingLocation: [0 0 0]         m          
                  MountingAngles: [0 0 0]         deg        
    
           HasElevation: 1                    
           HasRangeRate: 1                    
            FieldOfView: [60 20]           deg
            RangeLimits: [1e+05 2e+06]     m  
        RangeRateLimits: [-10000 10000]    m/s
    
          AzimuthResolution: 1      deg
            RangeResolution: 100    m  
        ElevationResolution: 5      deg
        RangeRateResolution: 10     m/s
    
        DetectionProbability: 0.9      
              FalseAlarmRate: 1e-06    
    
        Terrain: 'none'    
    
    

    Configure the ground station position for a radar located in Boston, Massachusetts.

    spec.GroundStationPosition = [42.3601 -71.0589 0];

    Set the field of view and range limits.

    spec.FieldOfView = [50 20];
    spec.RangeLimits = [1.5e5 2e6];

    Use the dataFormat function on the specification to determine the data format required for the update. The ground-based radar sensor specification requires datetime data type for LookTime and DetectionTime.

    trackerData = dataFormat(spec)
    trackerData = struct with fields:
                 LookTime: [01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    …    ] (1×30 datetime)
              LookAzimuth: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
            LookElevation: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
            DetectionTime: [01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970    01-Jan-1970]
                  Azimuth: [0 0 0 0 0 0 0 0 0 0]
                Elevation: [0 0 0 0 0 0 0 0 0 0]
                    Range: [0 0 0 0 0 0 0 0 0 0]
                RangeRate: [0 0 0 0 0 0 0 0 0 0]
          AzimuthAccuracy: [0 0 0 0 0 0 0 0 0 0]
        ElevationAccuracy: [0 0 0 0 0 0 0 0 0 0]
            RangeAccuracy: [0 0 0 0 0 0 0 0 0 0]
        RangeRateAccuracy: [0 0 0 0 0 0 0 0 0 0]
    
    

    More About

    expand all

    Tips

    • To deploy an application that uses satellite specifications using MATLAB® Compiler™, add propagateOrbit as a dependency to the deployed application package. To do this, you can either use the -a filepath (MATLAB Compiler) input argument of the mcc (MATLAB Compiler) function or use the %#function (MATLAB Compiler) pragma in your entry-point function.

    Version History

    Introduced in R2026b