read
Read recorded data
Description
[
        returns one recorded dataset at the simulation time, simTime,poses,coverageConfigs,detections,sensorConfigs,sensorPlatformIDs,emissions,emitterConfigs,emitterPlatformIDs] = read(TSR)simTime, from a
        tracking scenario recording TSR. 
Examples
Load recorded data from a prerecorded scenario called recordedScenario. Construct a trackingScenarioRecording object using the recorded data.
load recordedData
recording = trackingScenarioRecording(recordedData);Construct a theater plot to display the recorded data using multiple plotters.
tp = theaterPlot('AxesUnits', ["km" "km" "km"], 'XLimits',[-50 50]*1e3,... 'YLimits',[-50 50]*1e3,'ZLimits', [-20 20]*1e3); to = platformPlotter(tp,'DisplayName','Tower','Marker','d'); pp = platformPlotter(tp,'DisplayName','Targets'); dp = detectionPlotter(tp,'DisplayName','Detections','MarkerFaceColor','black'); cp = coveragePlotter(tp,'DisplayName','Radar Beam'); coverage = struct('Index',1,'LookAngle',[0;-7],'FieldOfView',[1;10],... 'ScanLimits',[0 365;-12 -2],'Range',100e3,'Position',[0;0;-15],... 'Orientation',eye(3));
Run the recorded scenario and animate the results.
scanBuffer = {};
while ~isDone(recording)
    % Step the reader to read the next frame of data
    [simTime,poses,covcon,dets,senconfig] = read(recording);
    scanBuffer = [scanBuffer;dets]; %#ok<AGROW>
    plotPlatform(to,poses(1).Position);
    plotPlatform(pp,reshape([poses(2:4).Position]',3,[])');
    plotCoverage(cp,covcon);
    if ~isempty(dets)
        plotDetection(dp,cell2mat(cellfun(@(c) c.Measurement(:)', scanBuffer, 'UniformOutput', false)));
    end
    
    % Clear the buffer when a 360 degree scan is complete
    if senconfig.IsScanDone
        scanBuffer = {};
        dp.clearData;
    end
end
Reset the recording to its beginning.
reset(recording)
Input Arguments
Tracking scenario recording, specified as a trackingScenarioRecording object.
Output Arguments
Simulation time, returned as a nonnegative scalar.
Poses of platforms, returned as an array of structures. The fields of each structure are:
| Field | Description | 
|---|---|
| PlatformID | Unique identifier for the platform, specified as a positive integer. This is a required field with no default value. | 
| ClassID | User-defined integer used to classify the type of target, specified as a nonnegative integer. Zero is reserved for unclassified platform types and is the default value. | 
| Position | Position of platform in scenario coordinates, specified as a real-valued 1-by-3 row vector. 
 
 | 
| Velocity | Velocity of platform in scenario coordinates, specified as a real-valued 1-by-3 row
                        vector. Units are meters per second. The default value is  | 
| Acceleration | Acceleration of the platform in scenario coordinates, specified as a
                        1-by-3 row vector in meters per second squared. The default value is
                             | 
| Orientation | Orientation of the platform with respect to the local scenario navigation frame,
                        specified as a scalar quaternion or a 3-by-3 rotation matrix. Orientation
                        defines the frame rotation from the scenario navigation coordinate system to
                        the current platform body coordinate system. Units are dimensionless. The
                        default value is  | 
| AngularVelocity | Angular velocity of the platform in scenario coordinates, specified as a real-valued
                        1-by-3 vector. The magnitude of the vector defines the angular speed. The
                        direction defines the axis of clockwise rotation. Units are radians per
                        second. The default value is  | 
Sensor coverage configurations, returned as an array of structures. The fields of each structure are:
Fields of configurations
| Field | Description | 
|---|---|
| Index | A unique integer to identify sensors or emitters. | 
| LookAngle | Current boresight angles of the sensor or emitter, specified as: 
 | 
| FieldOfView | Field of view of the sensor or emitter, specified as a two-element vector
                        [ azimuth;elevation] in
                    degrees. | 
| ScanLimits | Minimum and maximum angles the sensor or emitter can scan from its
                             
 | 
| Range | Range of the beam and coverage area of the sensor or emitter in meters. | 
| Position | Origin position of the sensor or emitter, specified as a three-element vector
                        [ X,Y,Z]. | 
| Orientation | Rotation transformation from the scenario or global frame to the sensor or emitter mounting frame, specified as a rotation matrix, a quaternion, or three Euler angles in ZYX sequence. | 
Detections, returned as a cell array of objectDetection objects.
Sensor configurations, returned as an array of structures. The fields of each structure are:
| Field | Description | 
| SensorIndex | Unique sensor index, returned as a positive integer. | 
| IsValidTime | Valid detection time, returned as  | 
| IsScanDone | 
 | 
| RangeLimits | Lower and upper range detection limits, returned as a two-element real-valued vector in meters. | 
| RangeRateLimits | Lower and upper range-rate detection limits, returned as a two-element real-valued vector in m/s. | 
| FieldOfView | Field of view of the sensor, returned as a 2-by-1 vector of positive real values, [ | 
| MeasurementParameters | Sensor 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 sensor looking-angle frame. | 
Platform IDs of sensors, returned as an array of nonnegative integers.
Emissions, returned as a cell array of radarEmission
            or sonarEmission
            objects.
Emitter configurations, returned as an array of structures. The fields of each structure are:
| Field | Description | 
| EmitterIndex | Unique emitter index, returned as a positive integer. | 
| IsValidTime | Valid emission time, returned as  | 
| IsScanDone | Whether the emitter has completed a scan, returned as  | 
| 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 looking-angle frame. | 
Platform IDs of emitters, returned as an array of nonnegative integers.
Version History
Introduced in R2020a
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)