In some cases mainly for debug purposes it may be desirable to check the output spectrum from WDS’s range test demo. Quite often at first try the measured spectrum contains seemingly spurious content. This KB article describes the root cause of them as well as recommends a measurement method getting around them.
In WDS’s “Range test” project the Tx side switches its output off after a packet has been sent and then flicks it back on again when the next packet is due to be sent. See an example plot below that shows the Tx output frequency vs. time at a packet boundary.
There are a couple of subtleties worth mentioning: both at the beginning and at the end of the packet there is a brief CW transmission. This could be responsible for CW content on the spectrum plot if short packets are sent. The all yellow portion on the trace in the middle means noise; this is the region where the Tx is shut down.
Above mechanism can also be described by the TX signal being gated with a switching signal. You can think of this as the Tx output were pulse modulated with a high duty cycle square wave. This behavior imposes two possible issues on the spectrum measurement:
1 – The fast switching of the Tx output will cause spectral splatter for a brief amount of time
2 – The switching signal’s spectrum (high duty cycle square wave) will have a direct effect on the output spectrum. It gets convolved with the desired Tx output spectrum.
Number 1 is more of an issue with decreasing sweep times whereas number 2 is more of an issue with increasing sweep times on the SA.
If you randomly take a look at the output with an SA the sweep will be asynchronous to the beginning of a packet so transients can and will occur at different times in consecutive sweeps. The transients themselves and their varying positions in time during SA sweeps will lead to somewhat “chaotic” spectrum plot. See one example below. This one has been taken in MAX HOLD trace mode.
To get an accurate spectrum measurement on such a signal one must make sure that the transients are excluded from the analysis. In other words it means only looking at the output when the output is the desired FSK/OOK modulated signal.
There is one means to achieving this from the range test demo. Place the TX_STATE signal onto one of the GPIOs and use this signal for triggering the sweep on the SA. You may want to add some trigger delay to exclude the CW portion at the beginning of the packet. Set the sweep time just below the length of the packet. With this method both the rising and falling transients will be excluded from the spectrum analysis and no spurious content will show. Find the example signal below again taken with the method described above.
Note that as the packet content is the same for each packet (less a 2 byte counter) in the range test demo the resulted spectrum pattern will be quite static. I.e. each and every sweep will result in (close to) the same spectrum so there will be very little (if any) difference between MAX HOLD and CLEAR/WRITE traces.
What is RSSI?
Received signal strength indicator (RSSI) is an estimate of the signal strength in the channel to which the receiver is tuned. The RSSI value can be read from an 8-bit register with 0.5 dB resolution per bit. The next Figure demonstrates the relationship between input power level and RSSI value:
The absolute value of the RSSI will change slightly depending on the modem settings: the linearity and the slope of the curve stays the same, but it might be shifted up or down a little bit. It is highly advised to measure the curve for the desired radio parameters if absolute accuracy is necessary for the given application.
The RSSI may be read at anytime while the Radio is in Receive mode. The RSSI is not latched, but continuously updated while in Receive mode.
Note: An incorrect error may rarely occur. The RSSI value may be incorrect if read during the update period (read 0, instead the actual RSSI value). The update period is approximately 10 ns every 4 Tb (bit period). For 10 kbps, this would result in a 1 in 40,000 probability that the RSSI may be read incorrectly. This probability is extremely low, but to avoid this, one of the following options is recommended:
The high resolution RSSI enables accurate channel power measurements, that can be useful for various reasons:
How can I access to the RSSI information?
The RSSI can be read at anytime while the radio is in Receive mode throught the rssi[7:0] in "Register 26h - Received Signal Strength Indicator" register. The first RSSI information is available after 6Tb (bit time) the Radio successfully transitioned to Receive mode. The RSSI register is updated in every 4Tb while in Receive mode.
Addition to that, the Radio can compare the actual RSSI to a predefined threshold. This is the Clear Channel Assessment feature. The threshold is programmed into rssith[7:0] in "Register 27h. RSSI Threshold for Clear Channel Indicator". After the RSSI is evaluated while in Receive mode, a decision is made if the signal strength on this channel is above or below the threshold. If the signal strength is above the programmed threshold then the RSSI status bit, irssi, in "Register 04h. Interrupt/Status 2" will be set to 1. Interrupt is triggered for the host MCU if the enrssi in "Register 06 The RSSI status can also be routed to a GPIO line by configuring any of the GPIO configuration register to GPIOx[3:0] = 1110. This feautre provides a fast and interrupt driven method to evaluate a channel before transmitting a packet. The Radio doesn't provide any other feature to implement a complex Listen Before Talk functionality, that should be realized in the host MCU, relying on either the RSSI read or CCA features on the radio.
Which Wireless MBUS modes are supported by the Silicon Labs's WMBUS solution?
Silicon Labs provides a complete WMBUS stack and documentation for the Si446x radios and EFM32 MCUs, supporting the most popular WMBUS modes: S1, S2, T1, T2, C1, C2.