Main Content

emit

Collect emissions from emitters in tracking scenario

Description

example

emissions = emit(sc) reports signals emitted from all the emitters mounted on platforms in the tracking scenario sc.

[emissions,configs] = emit(sc) also returns the configurations of all the emitters at the emission time.

[emissions,configs,platformIDs] = emit(sc) also returns the IDs of platforms on which the emitters are mounted.

Examples

collapse all

Create a tracking scenario and add two platforms. Set the position of each platform and add an emitter.

ts = trackingScenario('UpdateRate',1);
plat1 = platform(ts);
plat1.Trajectory.Position = [0,0,0];
emitter1 = radarEmitter(1,'UpdateRate',1);
plat1.Emitters = emitter1;
plat2 = platform(ts);
plat2.Trajectory.Position = [100,0,0];
emitter2 = radarEmitter(2,'UpdateRate',1);
plat2.Emitters = emitter2;

Advance the tracking scenario and generate emissions.

advance(ts);
[emissions, configs, sensorConfigPIDs] = emit(ts);

Print the results.

disp("There are " + numel(emissions) + " emissions.");
There are 2 emissions.

The first emission is:

disp(emissions{1});
  radarEmission with properties:

              PlatformID: 1
            EmitterIndex: 1
          OriginPosition: [0 0 0]
          OriginVelocity: [0 0 0]
             Orientation: [1x1 quaternion]
             FieldOfView: [1 5]
         CenterFrequency: 300000000
               Bandwidth: 3000000
            WaveformType: 0
          ProcessingGain: 0
        PropagationRange: 0
    PropagationRangeRate: 0
                    EIRP: 100
                     RCS: 0

The second emission is:

disp(emissions{2});
  radarEmission with properties:

              PlatformID: 2
            EmitterIndex: 2
          OriginPosition: [100 0 0]
          OriginVelocity: [0 0 0]
             Orientation: [1x1 quaternion]
             FieldOfView: [1 5]
         CenterFrequency: 300000000
               Bandwidth: 3000000
            WaveformType: 0
          ProcessingGain: 0
        PropagationRange: 0
    PropagationRangeRate: 0
                    EIRP: 100
                     RCS: 0

The emitter configuration associated with the first emission is:

disp(configs(1));
             EmitterIndex: 1
              IsValidTime: 1
               IsScanDone: 0
              FieldOfView: [1 5]
    MeasurementParameters: [1x1 struct]

The emitter configuration associated with the second emission is:

disp(configs(2));
             EmitterIndex: 2
              IsValidTime: 1
               IsScanDone: 0
              FieldOfView: [1 5]
    MeasurementParameters: [1x1 struct]

The emitter configurations are connected with platform IDs:

disp(sensorConfigPIDs');
     1     2

Input Arguments

collapse all

Tracking scenario, specified as a trackingScenario object.

Output Arguments

collapse all

Emissions of all emitters in the tracking scenario, returned as a cell array of emission objects, such as radarEmission and sonarEmission objects.

Configuration of all the emitters in the tracking scenario, returned as an array of emitter configuration structures. The fields of each structure are:

FieldDescription
EmitterIndex

Unique emitter index, returned as a positive integer.

IsValidTime

Valid emission time, returned as 0 or 1. IsValidTime is 0 when emitter updates are requested at times that are between update intervals specified by the UpdateInterval property.

IsScanDone

Whether the emitter has completed a scan, returned as true or false.

FieldOfView

Field of view of the emitter, returned as a two-element vector [azimuth; elevation] in degrees.

MeasurementParameters

Emitter measurement parameters, returned as an array of structures containing the coordinate frame transforms needed to transform positions and velocities in the top-level frame to the current emitter frame.

Platform IDs, returned as a vector of positive integers. The order of platform IDs output is the same as that of the configs output.

Introduced in R2020a