In the previous article of this series the different schemes are discussed that qualify the absence of a signal and their performances are elaborated on. This article explains how long a preamble is required at the Tx side for each of the different schemes to work properly.
In a way the length of the required preamble is also a crucial performance measure as it directly relates to Tx energy consumption.
(At the time of writing this article AN633 chapter 10.13 captures some of these calculations and mechanisms wrongly, so go by this article!)
The number of preamble bits required at the Tx side is affected by the following parameters:
(1) The number of channels in the frequency hopping system. Let’s refer to this as #Channel.
(2) The time the receiver needs for no signal detection. Let’s refer to this as T_NoSignal.
(3) The time the receiver needs for signal detection. Let’s refer to this as T_Signal.
(4) The time the receiver needs for hopping to the next channel. Let’s refer to this as T_Hop. (This is the time that elapses from initiating a hop operation until the receiver starts receiving on the next channel. This time includes amongst others the PLL synthesizer settling time.)
On top of above input parameters there is another one that has a bearing on the final calculations. This one is related to Rx internal operation. Whenever the receiver has been settled for reception on a particular channel (that is to say all the Rx chain circuitry is up and running and fully settled) there is still some propagation delay until the signal becomes available for processing in the demodulator. (This delay is mostly picked up in the channel filter). It is important to understand that signal detection and no detection times must start ticking from the time instant the signal has reached the demodulator. In other words for a successful signal detection / no detection the receiver must dwell at least the detection / no detection time + the aforementioned propagation delay worth of time on any one channel.
(5) Propagation delay through the Rx chain. Let’s refer to this as T_PropDel.
For calculating the minimum required preamble length let’s consider the worst case scenario from the receiver’s point of view. Let’s suppose that the receiver just hops onto the right channel when the transmission starts but juts misses detection and duly hops on. In such a scenario it will have to hop through all the frequencies and arrive back to the same channel just in time to still be able to perform signal detection.
This worst case thinking constitutes to a minimum preamble length calculation where the receiver does one no signal detection on each channel and one signal detection on the right channel.
T_PreambleMin = #Channel * (T_Hop + T_PropDel + T_NoSignal) + T_Signal
Now, that we have a general formula we “just” need to give values to the parameters. #Channel is parameter that is left for the system engineers. T_hop and T_PropDel are RFIC related parameters and have the same values regardless of signal detection schemes.
T_hop = 138 us on revB1 silicon
T_hop = 125 us in revC2/A2 silicon
T_PropDel = 4 Ts, where Ts is the symbol time**
** Note: The 4Ts propagation delay is a worst case number. Typically it is ~ 3.5 Tb and is getting less with increasing modulation indices. So inherently there is some margin built into this number.
The remaining two parameters are dependent on the detection scheme. Below table summarizes their values for all the three schemes discussed in the previous article.
|PLL FB AFC Enabled||Lack of Preamble Detection||RSSI measurement||DSA detection|
|No signal detection time [Tb]||40||4||**2|
|Signal detection time [Tb]||40||40||16|
|PLL FB AFC Disabled||Lack of Preamble Detection||RSSI measurement||DSA detection|
|No signal detection time [Tb]||32||4||**2|
|Signal detection time [Tb]||32||32||16|
** On DSA detection no signal detection time see also
A few notes to the numbers in the table
As an example consider the following input parameters:
#Channel = 5
DR = 9.6 kbps
Below table summarizes the performance (including Rx) of such a system with the various no signal detection schemes.
|LoP Detection**||RSSI measurement||DSA detection|
|5 channels 9.6 kbps DR||PLL FB AFC Enabled||PLL FB AFC Disabled||PLL FB AFC Enabled||PLL FB AFC Disabled||PLL FB AFC Enabled||PLL FB AFC Disabled|
|Min Tx Pr length [Tb]||266||218||86||78||52||52|
|Sensitivity degradation [dB]||0||0||0 to 2||0 to 2||0.5 to 2||0.5 to 2|
|AFC range||AN734 3.6 blue trace||AN734 3.6 red trace||AN734 3.6 blue trace||AN734 3.6 red trace||AN734 3.6 green trace||close to AN734 3.6 red trace|
|Co-channel rejection [dB]||-10 to 0||-10 to 0||very poor||very poor||-13 to -3||-13 to -3|
|IC rev support||B1/C2/A2||B1/C2/A2||B1/C2/A2||B1/C2/A2||C2/A2||C2/A2|
** LoP: Lack of Preamble
Where parameters form a range they represent values over increasing modulation indexes starting from 1. This practically means that co-channel rejection becomes better with increasing indices, sensitivity degradation, however becomes worse at higher indices.
Above table will help you take your no detection scheme pick. Generally speaking for ultimate Rx performance the best choice is lack of preamble detection, for shortest preamble the best pick is DSA detection, and finally RSSI measurement could be a viable option if you are on revB1 silicon but you are squeezed for preamble length reduction.
Note that as there is an absolute timing value term (as opposed to Tb relative times) in the calculation of the required minimum preamble length (T_Hop) the preamble length “gain” going from LoP detection to the other schemes will vary with DR. The more dominant the absolute timing term in the equation becomes the less the “gain” will be. Below graph captures this effect in plotting the “gain” versus DR in a 5 channel auto frequency hopping system.
An example of what this graph tells us: at 1 kbps DR DSA detection requires ~ 22% of the preamble length used for LoP detection (with the PLL FB AFC enabled), while at 500 kbps this measure goes up to 60%. Note that these graphs will change slightly with the number of channels used, so do plot yours should you need this data for different than 5 channels!
As a side note here it is worthwhile mentioning that there exists another mechanism for making the receiver hop (albeit not automatically). This mechanism is referred to as manual frequency hopping. All it does is that it restarts the receiver on another frequency channel. Refer to API command RX_HOP for more details on this operation. It will not, however initiate any autonomous hopping upon no signal detections; all that will have to be handled in the host MCU. Why going for all the trouble calling up these scheme then? The answer is that this mechanism has a shorter T_hop time (as some of the parameters needed for setting the new frequency are passed to the chip as opposed to it having to calculate them). T_hop time with the Rx_HOP command is typically 82 us on revC2/A2 variants.
This article is part of a series that discusses various aspects of auto frequency hopping. Find the links to the other articles below.