Main Content

Radar Coordinate Systems and Frames

This page provides definitions for radar coordinate systems and frames through a radarScenario workflow example that uses platform and radarDataGenerator objects. Topics covered include:

Overview

This table provides information on the coordinate frames used in Radar Toolbox™.

Coordinate FrameDefinitionHow to Model Using Radar Toolbox™Coordinate System(s)

Global Frame

An example of the global frame consisting of three orthogonal lines originating from a single point, representing the x-axis, y-axis, and z-axis, which is pointing down.

A global frame is the highest level frame. All other frames are referenced within it.

radarScenario creates a radar scenario object, which simulates a 3-D environment that can contain multiple platforms.

ClutterGenerator is defined in the global frame (scenario frame) of radarScenario.

Define scenario origin using either:

Body Frame

The global frame with the addition of a rectangular platform with its own coordinate frame, represented by three orthogonal lines originating from the center of the platform.

A body frame is typically centered in a platform and oriented in the same direction as the platform. Typically, the x-axis represents the forward orientation of the body. The origin of the body frame is therefore the position of the object or platform in the global frame. Sensors, such as radarTransceiver or radarDataGenerator, can be mounted on the body.

platform creates a Platform object, which populate radar scenarios as static or moving bodies.

Radar cross-section signature, specified as rcsSignature, is measured in a frame which is centered in the body of the platform.

Define platform origin using either:

Mounting Frame

The platform frame with the addition of the mounting frame, which has its own coordinate system originating from the center of it with three orthogonal lines.

A mounting frame is the frame in which the sensor is referenced and mounted. The origin and orientation of the mounting frame is a position relative to the platform.

radarTransceiver and radarDataGenerator are the two ways sensors can be constructed and added to a platform. Both have parameters MountingLocation and MountingAngles that define the position and orientation of the sensor.

Define mount origin through parameters MountingLocation and MountingAngles in relation to platform origin using either:

Sensor Frame

The mounting frame with the addition of a yellow sensor beam representing the frame and orientation of the sensor.

A sensor frame represents the position and orientation of the sensor.

For a rotating sensor:

  • The mounting frame origin represents the position of the sensor.

  • The sensor frame orientation represents the direction of the sensor beam relative to the mounting frame.

radarTransceiver

Specify scanning limits for radarTransceiver using:

radarDataGenerator

Specify the range of coverage in degrees for radarDataGenerator by setting the ScanMode parameter as:

Same as Mounting Frame.

Global Coordinate Reference Frame

A coordinate system measures position within coordinate reference frames that have an origin and an orientation. Reference frames are represented by orthogonal unit vectors which originate from the same point and denote orientation.

  • Local coordinate reference frames originate from a known point in a global coordinate frame or from an arbitrary point. In Radar Toolbox™, they are often centered in the bodies of platform objects or sensor objects.

  • Global coordinate reference frames in Radar Toolbox™ can have a geocentric origin, such as the center of the earth, or an arbitrary origin, depending on the value of the radarScenario object parameter IsEarthCentered. Local coordinate origins are determined in reference to the global coordinate reference frame.

The IsEarthCentered parameter of radarScenario determines the global frame for the entire scenario.

  • If IsEarthCentered is true, the radarScenario frame is a geocentric coordinate reference frame. Set IsEarthCentered to true when Earth curvature matters, such as over longer distances. When IsEarthCentered is true, platform trajectories must be defined as geocentric states using the geoTrajectory object.

  • If IsEarthCentered is false, then the radarSenario frame originates from an arbitrary point and is measured using Geographic Coordinates. Set IsEarthCentered to false if Earth curvature does not matter. When IsEarthCentered is false, platform trajectories must be defined in Cartesian states using kinematicTrajectory or waypointTrajectory.

Radar Toolbox™ uses two geocentric coordinate reference frames: the perfect sphere and the WGS84 oblate spheroid model of the earth. These reference frames have either a Cartesian system or a geographic coordinate system applied to them.

Earth-Centered Earth-Fixed Coordinate System

An Earth-centered Earth-fixed (ECEF) system (also known as a geocentric coordinate system) uses Cartesian Coordinate Systems xyz to represent position relative to the center of the reference ellipsoid.

  • The positive x-axis intersects the surface of the ellipsoid at 0° latitude and 0° longitude, where the equator meets the prime meridian.

  • The positive y-axis intersects the surface of the ellipsoid at 0° latitude and 90° longitude.

  • The positive z-axis intersects the surface of the ellipsoid at 90° latitude and 0° longitude or the North Pole.

An ellipsoid representing the earth with a coordinate frame consisting of three orthogonal lines originating from the center of the earth. The equator wraps around the center of the earth from left to right and the prime meridian wraps around the center of the earth from the bottom to the top, following the orientation of the z-axis.

Geographic Coordinate System

A geographic coordinate system uses the coordinates (latitude, longitude, height) to represent position relative to a reference ellipsoid.

  • Latitude is measured as the angle between the equatorial plane and the line made by tracing from the center of the Earth to the point on Earth being measured. It ranges from [–90° 90°] with positive values corresponding to the north and negative values corresponding to the south.

  • Longitude is measured as the angle between the prime meridian plane and the line made by tracing from the center of the earth to the point on Earth being measured. It ranges from [–180° 180°] or [0° 360°] counterclockwise from the meridian looking down from the North Pole.

  • Height is measured as the length of a line perpendicular to a plane tangent to the point on the Earth directly below the point being measured. In other words, height is referenced to the ellipsoid or terrain model, depending on which is being used.

An ellipsoid representing the earth with a coordinate frame consisting of three orthogonal lines originating from the center of the earth. An angle between the x-axis and the y-axis represents the longitude and an angle between the y-axis and the z-axis represents the latitude.

Local Coordinate Systems

Both Cartesian coordinates and spherical coordinates are coordinate systems that can be applied to different coordinate reference frames. Cartesian coordinates can be categorized further into either north-east-down (NED) or east-north-up (ENU) coordinate systems.

Cartesian Coordinate Systems

A Cartesian coordinate system is a two or three-dimensional coordinate system often measured in xyz.

A 3D coordinate frame consisting of three lines originating from one position. The axes are labeled x, y, and z.

Radar uses the right-handed world coordinate system. To understand this, hold your right hand flat with your palm facing up. In this position, the direction of your thumb is the direction of the z-axis. The direction of your fingers is the x-axis. Curl your fingers inwards towards your palm, forming a right angle with the line your fingers made while straight. This is the y-axis. As you straighten your hand again, your fingers point back in the direction of the x-axis. Radar coordinate systems using xyz always follow this system.

A hand with a coordinate frame drawn on top. Three fingers in the image are being used to represent the three axes. The thumb points upwards, representing the z-axis. The pointer finger points to the left of the image, representing the x-axis. The middle finger points towards the viewer, representing the y-axis.

Cartesian coordinates are applied as north-east-down or east-north-up coordinates, which are typically measured in meters.

  • A north-east-down (NED) system is a local reference system that uses Cartesian coordinates (xNorth, yEast, zDown) to represent position relative to a local origin. This follows the right-handed world coordinate system. The local origin is described by the geographic coordinates (latitude, longitude, height). Typically, the local NED system is above the surface of the Earth, such as centered in the body of a flying plane. While the local origin point can change in relation to geographic coordinates, the axes always point directly north, east, and down. Therefore, the z-axis orients downwards from the center of the flying plane.

A 3D coordinate frame consisting of three lines originating from one position. The axes are labeled East or y, North or x, and Down or z.

  • An east-north-up (ENU) system is a local reference system that uses Cartesian coordinates (xEast, yNorth, zUp) to represent position relative to a local origin. This follows the right-handed world coordinate system. The local origin is described by the geographic coordinates (latitude, longitude, height). While the local origin point can change in relation to geographic coordinates (for example, if the local origin is centered in a moving plane), the axes always point directly north, east, and up.

A 3D coordinate frame consisting of three lines originating from one position. The axes are labeled North or y, East or x, and Up or z.

For example, imagine a platform is 3 meters in the x-direction, 5 meters in the y-direction, and 1 meter in the z-direction.

  • If using a NED frame, which is typical in Radar applications, this platform is 3 meters north, 5 meters east, and 1 meter down. If the radarScenario origin is defined as some longitude, some latitude, and a height of 100 meters with IsEarthCentered set to true, the platform would be 3 meters north from this point, 5 meters east, and 1 meter down. In the frame of the actual scenario, the platform is 99 meters in height.

  • If using an ENU frame, this platform is 3 meters east, 5 meters north, and 1 meter up. If the radarScenario origin is defined as some longitude, some latitude, and a height of 100 meters with IsEarthCentered set to true, the platform would be 3 meters east from this point, 5 meters north, and 1 meter up. In the frame of the actual scenario, the platform is 101 meters in height.

Any of the three coordinate systems above can be applied to a reference frame. For example, imagine a global frame, such as the geocentric frame that is being measured using geographic coordinates. Imagine a local frame originating from the orange point at (42°, –71°, 0) (latitude, longitude, altitude) which is measured in a NED Cartesian system. The NED system originates from that point to measure in meter units in directions North, East, and Down. Within this system, there exists a global frame, a point on that global frame representing the origin of the local frame, and a local frame. The global frame is measured geographically and the local frame is measured in Cartesian coordinates.

ECEF coordinate frame with an orange circle denoting an arbitrary position on the earth. From the circle originates three lines representing the NED coordinate system.

Spherical Coordinate Systems

A spherical coordinate system operates using (ɸ, θ, range) to represent position relative to a local origin. In radar, this system is usually referred to using (azimuth, elevation, range) or (AER). Like the Cartesian coordinate systems above, spherical coordinates are applied to a reference frame. The geographic coordinate system (latitude, longitude, altitude) is a form of the spherical coordinate system. The spherical coordinate system is applied to sensors that rotate around an origin, or it is used to measure latitude and longitude on an earth-centered global reference frame.

A 3D coordinate frame with an orange circle representing an arbitrary point. There are lines originating from the circle to mark its position on the axes. These lines, against the lines of the axes, form the elevation and azimuth angles. The elevation is between x-y plane and the line made between the orange circle and the coordinate frame origin (0, 0, 0). The azimuth is between the x-axis and the line made if looking directly down at the orange circle, tracing from the circle to the origin.

  • Azimuth ranges from [–180° 180°] with positive direction being clockwise from the x-axis and negative direction being counterclockwise from the x-axis. The x-axis represents .

A 2D coordinate frame representing the range of the azimuth.

  • Elevation ranges from [–90° 90°] with positive direction being counterclockwise from the x-axis and negative direction being clockwise from the x-axis. The x-axis represents .

A 2D coordinate frame representing the range of the elevation.

Simple radarScenario Workflow

This example shows how to configure a simple radarScenario with a platform and radarDataGenerator.

Construct radarScenario

First, define a radarScenario. This object represents the Global Coordinate Reference Frame for the entire radarScenario. All other frames are in reference to the radarScenario frame in a descending hierarchy. In other words, they must all be local frames and measured in Local Coordinate Systems.

scenario = radarScenario();

Second, define a Platform object using the platform function. Platform objects can be used to model radar platforms or targets.

  • If radarScenario parameter IsEarthCentered is set to false (default), then the Position parameter of the platform is measured in Cartesian Coordinate Systems in reference to the scenario coordinate frame.

  • If radarScenario parameter IsEarthCentered is set to true, then the Position parameter of the platform is measured in relation to a Global Coordinate Reference Frame.

Plot radarScenario using theaterPlot

Construct the theaterPlot to plot radarScenario objects.

tp = theaterPlot(XLimits=[-10 10],YLimits=[-10 10],ZLimits=[-10 10]);
title("radarScenario Origin")
view(70, 50)
grid on

Label the origin of the scenario.

labelPlotter = platformPlotter(tp, ...
    DisplayName="Scenario Origin", Marker="o");
plotPlatform(labelPlotter, [0 0 0]);

Construct platform

Define the Position of the platform at construction as being 3 meters in the x-direction, 3 meters in the y-direction, and one meter in the z-direction from the scenario frame. See Cartesian Coordinate Systems to understand how this translates to NED and ENU Cartesian frames. platform Position can only be set on construction. Otherwise, platform Trajectory must be used. If Position is set on construction, the platform remains stationary.

radarPlatform = platform(scenario, Position=[3 3 1], Orientation=[45 0 0]); % Position=[X Y Z]
radarPlatform.Dimensions = struct(Length=8, ...
    Width=2.45, ...
    Height=2.95, ...
    OriginOffset=[0 0 0]);

The read-only Position of the platform is also the origin of the platform. When the Dimensions parameter is set, the origin is, by default, be the center of the shape constructed by using Dimensions unless the OriginOffset is specified.

radarPlatform.Trajectory.Position
ans = 1×3

     3     3     1

The platform has an Orientation parallel to the global Orientation of the scenario frame unless platform is rotated. The x-y-z vectors representing the platform Orientation originate from the origin point of the platform. The read-only property Orientation returns a quaternion value. Convert the quaternion value to Euler degrees for readability.

eulerd(radarPlatform.Trajectory.Orientation,"ZYX","frame") % default orientation
ans = 1×3

   45.0000         0         0

Plot platform using platformPlotter

Plot the platform Dimensions, Position, and Orientation.

pPlotter = platformPlotter(tp, DisplayName="Radar Platform");
orientation = quaternion(radarPlatform.Orientation, ...
    "eulerd", "zyx", "frame");
plotPlatform(pPlotter, radarPlatform.Position, ...
    radarPlatform.Dimensions, ...
    orientation);

platformOrientation = orientationPlotter(tp, ...
    DisplayName="Platform", LocalAxesLength=10);
plotOrientation(platformOrientation, ...
    radarPlatform.Orientation(3), ... % roll or X
    radarPlatform.Orientation(2), ... % pitch or Y
    radarPlatform.Orientation(1), ... % yaw or Z
    radarPlatform.Position);
title("platform in radarScenario with Orientation")

Construct radarDataGenerator

Add a sensor to the platform. The sensor frame is local to the platform frame. The sensor frame translates and rotates as the platform frame translates or rotates. The sensor frame can also rotate around its mounting frame, which is the origin of the sensor.

radar = radarDataGenerator(1);
radarPlatform.Sensors = radar;

The sensor MountingLocation is measured in Cartesian Coordinate Systems in relation to the platform coordinate frame. To mount the sensor on the front and top of the platform, divide each Dimension of the platform by 2, remembering the origin of the platform is actually the center of the shape. Set the z-direction as negative because radarScenario is, by default, measured in NED, making the positive z-direction point down instead of up.

radar.MountingLocation = [radarPlatform.Dimensions.Length/2 ...
    radarPlatform.Dimensions.Width/2 ...
    -radarPlatform.Dimensions.Height/2]; % default [X Y Z]

The sensor MountingAngle alters the orientation of the sensor from its default orientation, which is parallel to the orientation of the platform. Rotate the sensor 20 degrees around the z-axis, so it points slightly right compared to the orientation of the platform.

radar.MountingAngles = [20 0 0]; % default [Z Y X]

You can add more sensors and platforms to a single radarScenario.

Plot radarDataGenerator using orientationPlotter

Plot the sensor Position and Orientation. Add the sensor MountingAngles to the platform Orientation to plot the scenario orientation of the sensor.

sensorOrientation = orientationPlotter(tp, DisplayName="Sensor", ...
    LocalAxesLength=10, MarkerFaceColor="yellow");
plotOrientation(sensorOrientation, ...
    radar.MountingAngles(3) + radarPlatform.Orientation(3), ... % yaw or X
    radar.MountingAngles(2) + radarPlatform.Orientation(2), ... % pitch or Y
    radar.MountingAngles(1) + radarPlatform.Orientation(1), ... % roll or Z
    radarPlatform.Position + radar.MountingLocation);
title("sensor on platform in radarScenario with Orientation")

Additional Radar Coordinate Conventions

Additional Terms

TermDefinitionHow to Model Using Radar Toolbox™Coordinate System(s)

Clutter Region

Platform above terrain scanning the terrain below. The area which the sensor is currently scanning is outlined.

The clutter region is the surface where the sensor beam intersects with the ground when a ClutterGenerator object is being used. Since it is directly related to the sensor beam, it is dependent on the orientation or look angle of the sensor.

ClutterGenerator object specifies clutter properties and regions that control and manage radar clutter for sensors in a radarScenario.

  • If UseBeam=true, then automatic mainlobe clutter is generated or ringClutterRegion can be used

  • If UseBeam=false, then you must use ringClutterRegion

  • If a radarTransceiver is used that has phased.ULA as the transmit antenna sensor, a fan-shaped beam is assumed and a 3 dB beamwidth measurement is taken in the plane perpendicular to the array axis. If any other array type is used, a conical beam shape is assumed and a 3 dB beamwidth measurement is taken in both the azimuth and elevation directions

  • If radarDataGenerator is used, the EffectiveFieldOfView property determines the width of the beam in the azimuth and elevation directions

Learn more about Clutter Simulation at Introduction to Radar Scenario Clutter Simulation.

Define LandSurface and SeaSurface clutter region Boundary parameter using:

Automatic mainlobe clutter is based on the beam angle of the corresponding sensor using:

ringClutterRegion is used for user-defined clutter. ringClutterRegion azimuth can be defined in relation to:

Radar Cross-Section Signature

Three images in one. The first is a cylindrical platform in a global frame with elevation and azimuth depicted. The second depicts the same elevation and azimuth mapped onto a model of the RCS. The third represents the RCS as a function of the elevation of the cylinder.

Radar cross-section signature represents target energy reflection. The greater a target reflection, the more easily the echo is received by a radar receiver. Radar cross-section signature is typically measured in square meters, representing the apparent area, though the actual area could be greater or lesser.

Radar cross-section signature is measured from the center of the target and relative to the platform orientation.

rcsSignature creates a radar cross-section (RCS) signature object, which can be used to model an angle-dependent and frequency-dependent radar cross-section pattern.

Learn more about Radar Cross Section at Modeling Target Radar Cross Section.

There are several functions that return the RCS pattern of typical shapes:

rcsSignature

Coordinates of Radar Cross-Section Signature

Radar cross-section signature is measured in spherical coordinates (azimuth and elevation) in the target's local coordinate system, which originates from the center of the target.

Since a perfect sphere is symmetrical across all axes, RCS can be considered the same across all directions. For asymmetrical targets, reflections cannot be considered the same across all directions. In that case, RCS varies with the incident angles (also known as aspect angles). Aspect-dependent RCS patterns can be measured or modeled just as you would antenna radiation patterns. The result of such measurements or models is a table of RCS values as a function of azimuth and elevation angles in the target's local coordinate system.

Below is a global frame containing a cylindrical platform that has its own body frame originating from its center.

Cylindrical platform in a global frame with the elevation and azimuth denoted.

This is the RCS pattern of the cylinder. As can be seen, the pattern is identical azimuthally. Any strip which covers the entire elevation represents the RCS pattern of the entire elevation. For example, the black line on the image can be rotated 360° azimuthally to represent the entire RCS pattern. To capture the entire RCS for the cylinder, the most important parameter is elevation from [–90° 90°].

RCS pattern of a cylindrical platform with the azimuth and elevation denoted.

The graph is another way of looking at the RCS pattern of the cylinder. As azimuth does not matter in the cylindrical RCS above, RCS (dBsm) can be directly plotted against elevation to represent the RCS of the entire cylinder.

A graph plotting the RCS (dBsm) of a cylindrical platform against elevation (degrees). The graph is symmetrical representing a bell curve.

As can be seen in the above images, RCS is plotted as a function of elevation measured from the center of the target body.

See Also

| | | | (Sensor Fusion and Tracking Toolbox)

Related Topics