Printer FriendlyEmail Article Link

Datum: How does Datum calculate UDP Jitter and Packet Loss?

Answer

Here are the definitions for UDP Jitter and Packet Loss as calculated by Datum:

Jitter calculations for UDP tasks:

Jitter measurements for UDP tasks are based on calculations defined in IETF RFC 1889 for the RTP Protocol (see https://www.ietf.org/rfc/rfc1889.txt).

The following is an excerpt from the RFC that contains relevant information:

interarrival jitter: 32 bits

An estimate of the statistical variance of the RTP data packet interarrival time, measured in timestamp units and expressed as an unsigned integer. The interarrival jitter J is defined to be the mean deviation (smoothed absolute value) of the difference D in packet spacing at the receiver compared to the sender for a pair of packets. As shown in the equation below, this is equivalent to the difference in the "relative transit time" for the two packets; the relative transit time is the difference between a packet's RTP timestamp and the receiver's clock at the time of arrival, measured in the same units. If Si is the RTP timestamp from packet i, and Ri is the time of arrival in RTP timestamp units for packet i, then for two packets i and j, D may be expressed as D(i,j)=(Rj-Ri)-(Sj-Si)=(Rj-Sj)-(Ri-Si)

The interarrival jitter is calculated continuously as each data packet i is received from source SSRC_n, using this difference D for that packet and the previous packet i-1 in order of arrival (not necessarily in sequence), according to the formula

J=J+(|D(i-1,i)|-J)/16

Whenever a reception report is issued, the current value of J is sampled.

 

Out-of-order (OOO) and lost frame/packet calculations

Unless otherwise indicated, data-oriented tests use the algorithms described in this section to determine out-of-sequence (OOS) and lost frame/packet counts. For the remainder of this discussion, the term “packet” is used for simplicity.

A received packet is considered OOS if any other packet transmitted later than it is received first.

Consider the following set of 10 packets, transmitted sequentially 1 - 10 and received in the order shown:

Transmit order 1 2 3 4 5 6 7 8 9 10

Receive order 1 2 4 5 8 6 7 9 10 -

In this example, packets 6 and 7 are OOS, because packet 8 was received first. If received before the applicable timeout, packet 3 will also add to the OOS count; otherwise it will add to the “lost” count only.

 


Product : Datum