LQ, NLQ, and ETX

LQ (Link Quality) is a metric that represents packet  transmission quality between two nodes.


It is calculated by having each node constantly sending HELLO packets to all of its neighbor nodes in a mesh. It counts how many of these packets are successfully received.    The metric (LQ) is the percentage of packets that are successfully transmitted by a neighboring node and received by the node displaying the LQ value.    


The neighboring node is also receiving HELLO messages.  The percentage of packets that it receives are displayed as NLQ (Neighbor LInk Quality).   


The overall Link Quality for a round trip between two nodes is calculated as LQ * NLQ.   As an example, if the transmit LQ is 80% and the receive NLQ is 80%, then the round trip probability is 64%.   (i.e. 64 packets out of 100 would make it through a round trip).     This is not as bad as it sounds, since IP networks will re-transmit dropped packets, so you would experience a reduced throughput speed, but not necessarily see any lost packets from an application level.    


The other metric is called ETX (Expected Transmission Count), sometimes referred to as link cost.

It is computed by the equation 1/(LQ*NLQ).  

An RF path that has a LQ/NLQ of 80%/80% would have a ETX of 1/(.80*.80) = 1/.64 = 1.56.

An RF path that has a LQ/NLQ of 100%/100% would have a ETX of 1.00. 

Each dtd link would add a ETX of 0.10 to the total ETX. 


How can you have a LQ of 75% and a NLQ of 0%?


In the following chart, the + marks the location of a node and the line represents the point at witch the signal from that node is equals to the background noise level.