Wiki › Messages › SDSM, the Sensor Data Sharing Message of SAE J3224: what roadside sensors see

Updated 2026-10-09

What it is and who sends it

A Sensor Data Sharing Message lets a sensor-equipped station describe the road users it detects that are not announcing themselves: unequipped vehicles, pedestrians without a phone app, an animal, an obstacle. An RSU with an intersection radar or camera is the most common sender in infrastructure deployments; a vehicle with perception sensors can send one too, which is the "cooperative perception" use case. Receiving vehicles merge the detected objects with the BSMs and PSMs they hear directly and treat them like any other road user, which is how a connected vehicle can be warned about a pedestrian stepping out from behind a bus. The type is SensorDataSharingMessage, DSRCmsgID 41, defined in SAE J3224.

When it is broadcast

PropertyValue
RateUp to 10 Hz, matching the sensor's track update rate; J3224 limits size and rate to keep the channel usable
PSID0x8010 (p-encoded 8010)
ChannelSame C-V2X channel as everything else
SigningSigned with the sender's application or pseudonym certificate for 0x8010
SourceSensor fusion on the RSU or a roadside edge device → RSU immediate-forward table; never stored, because the content changes continuously
Size60 bytes with one object, a few hundred bytes with a dozen; the list is trimmed to the most relevant objects

Structure, section by section

FieldMeaningUnits and rangeTypical valueWhere it comes from
msgCntSequence number0 … 12755sender
sourceIDTemporary ID of the sender4 bytes hex52530001sender
equipmentTypersu, obu, vru, unknownenumrsuconfiguration
sDSMTimeStampDDateTime: year, month, day, hour, minute, second (ms)UTC2026-10-08 14:22:12.345sender clock
refPosReference position all object offsets are measured from1/10 microdegree, 0.1 mthe sensor's surveyed positionsurvey or GNSS
refPosXYConfError ellipse of the reference position0.05 m5, 5 (0.25 m)survey
refPosElConfElevation confidenceenum elev-000-50 etc.survey
objects1 … 128 DetectedObjectDatasensor fusion

DetectedObjectCommonData (every object)

FieldMeaningUnits and rangeTypical value
objTypevehicle, vru, animal, unknownenumvehicle
objTypeCfdConfidence in the classification0 … 100 %, 101 unavailable95
objectIDTrack handle, stable while tracked0 … 65535101
measurementTimeWhen this object was measured, relative to sDSMTimeStampms, −1500 … 1500−120
timeConfidenceConfidence of that timeenumtime-000-010
posoffsetX (east), offsetY (north), offsetZ (up) from refPos0.1 m−452, −38 (45.2 m west, 3.8 m south)
posConfidencepos (a500m … a1cm) and elevationenumsa50cm
speed, speedConfidenceGround speed and its confidence0.02 m/s620 (27.7 mph)
speedZ, speedConfidenceZVertical speedoptional
heading, headingConfDirection of motion0.0125°7200 (east)
accel4way, accCfdX/Y/Z/YawAcceleration and confidencesoptional

Optional data by object type

ChoiceFields
detVehlights (ExteriorLights), vehAttitude (pitch, roll, yaw), vehAngVel, size (cm), height (5 cm), vehicleSizeConfidence, vehicleClass (BasicVehicleClass), classConf
detVRUbasicType (aPEDESTRIAN, aPEDALCYCLIST…), propulsion, attachment, radius
detObstobstSize (width, length, height) and obstSizeConfidence

The confidence enumerations are the same families used in the BSM (PositionConfidence, SpeedConfidence, HeadingConfidence, TimeConfidence), listed in the units cheat sheet.

How pilots use it

  • Intersection safety. A radar on the mast arm detects a red-light runner or a pedestrian in the crosswalk; the RSU sends an SDSM and equipped vehicles warn their drivers even though the runner has no OBU. Pair it with SPaT to detect conflicts.
  • Work zones. A trailer-mounted sensor at the taper reports vehicles and workers so that approaching equipped trucks get an object-level picture, complementing a TIM or RSM.
  • Perception research. Universities compare the SDSM object list to ground truth to measure sensor fusion accuracy, or feed SDSMs into automated vehicle stacks as external detections.
  • Counting and classification. The objectID tracks and vehicleClass give a continuous classified count at the sensor's position; the portal's live view draws each object with its class and the exports include the object rows.

How to create one in this portal

  1. Open the creator and load SDSM. The template is an RSU at Broad St & West St reporting a passenger car 45 m west of the sensor heading east and a pedestrian near the corner.
  2. Set refPos to your sensor's surveyed position and sDSMTimeStamp to now (the quick fields offer "now").
  3. Edit each object's pos offsets in 0.1 m (east and north of the reference), speed, heading, objType and confidences. Add objects with the structure explorer; the ? help on offsetX shows the resulting absolute position.
  4. Encode / Validate. The hex begins 0029 (messageId 41). The map draws the reference point and each object with a heading arrow.
  5. Push for a bench test only, on PSID 0x8010 with a very short window; a stored SDSM would describe objects that are not there.

How to read a decoded one

  • measurementTime should be within a few hundred milliseconds of zero; large negative values mean a laggy sensor pipeline.
  • Objects should fall on the roadway when plotted; a systematic rotation means the sensor's heading calibration is off, a systematic shift means refPos is wrong.
  • objTypeCfd under 50 with objType vehicle is a guess; applications usually ignore low-confidence objects.
  • objectID should persist from message to message for the same object; IDs that change every frame mean the tracker is not tracking.
  • A vru object with speed 600 is a misclassified vehicle; a vehicle with size 50 × 50 is noise.