Electronic – ramp-up “guard” time (data receiver)

bit ratedatafskradioRF

I have looked at multiple datasheets of multiple radio modules including one I'm using (HM-TRP) and none of them specify a ramp-up or a ramp-down time. According to research, this is known as the guard time.

Through my own experimentation with data radios, one must wait a certain amount of time after the last transmitter has finished before the next transmitter can begin, otherwise data will be lost.

I could go on and on and experiment with 65,536+ different values and waiting 10 minutes to try each value but that I feel is a waste.

Since I do want to exchange data at high speed on the modules, I'm trying to avoid a ridiculous guard time. Hopefully I can get away with less than 15mS guard time.

Given that no datasheet I read so far has made any indication about ramp or guard times, My question then is, after the last bit has been transmitted by the remote radio, how long should I make the local radio wait before beginning to transmit data?

All radios in question are the same models (HM-TRP fsk radios) use the exact same settings.
The radios are currently 1 meter apart in distance and there is nothing causing interference in-between
The radios are also half-duplex.

Best Answer

The main purpose of the "guard time" is to give the the receiver's AGC the time it needs to adapt to the new carrier level and allow the data demodulator to begin operating correctly.

Many AGCs have a fast-attack, slow-decay characteristic. The preamble of a packet generally starts with a data-free zone that allows time for the fast-attack phase to work — i.e., when starting from a "no signal" condition.

But the slow-decay phase requires a certain amount of additional time between packets, which is the "guard time" you're talking about. It is primarily of importance when a weak transmission (from the receiver's point of view) immediately follows a strong transmission. This is just one aspect of the near-far problem in wireless networks.

If your receiver doesn't give you specific values related to the time constants of its AGC, you may need to do some experimentation. But as glen_geek suggested in a comment, you should be able to accomplish this with a binary search, rather than an exhaustive sequential search.