How many transmit retries should I use in my application and what is the cost associated with more retires?
Selecting the proper amount of retries for a system can make the difference between a successful wireless implementation and a failure. Wireless as a medium is not guaranteed and is subject to the effects of RF interference and multipath (multiple copies of the same signal arriving at the receiver out of phase with each other: resulting in a cancellation of the signal). Retries are used to overcome these effects. Each retry occurs on a different frequency. This is beneficial because interference present on the previous frequency is less likely to also be present on the new frequency. Also, multipath is affected by the wavelength of the signal and all of the reflections present in the environment: changing frequency changes the wavelength and severe multipath on one frequency could be less of a problem on the next frequency.
Retries are good for overcoming the effects of interference and multipath. Retries occur at the following rates:
When selecting the number of retries for your application, you should calculate a worst-case scenario where every retry fails and set your system timeouts accordingly. You will have to decide whether it is more important to potentially have longer timeouts (more retries) and good data integrity or shorter timeouts (less retries) and the potential for worse data integrity.