Hi,
We have a measurement system consisting of one transmitter (txer) and one receiver (rxer). The txer sends a constant unmodulated carrier. The rxer measures the txer frequency using the frequency offset estimate available in the FREQOFF_EST registers.
The system works according to the following outline:
1) Start txer constant unmodulated carrier
2) Start rxer
3) Every 20 ms: read FREQOFF_EST a number of times and calculate an average frequency offset
4) Calculate txer frequency = rxer frequency + freq offset
5) Stop rxer and txer
6) Done
The procedure above works in most cases, say > 99% of the cases. However, sometimes it fails due to the fact that FREQOFF_EST returns large values (e.g. -809 and +809), even under good circumstances where we expect it to succeed.
Now to my questions:
- Is the above algorithm supported by CC112x? Obviously it works in a vast majority of the cases. However, official statements from TI (see post http://e2e.ti.com/support/wireless_connectivity/f/156/t/260273.aspx) indicate the FREOFF_EST is calculated during and settled after a SYNCWORD is received. The CC112x user guide does not contain information about this.
- If the above algorithm is supported, why does it not work always? Maybe some special settings are required? Please share required settings!
- If the above algorithm is NOT supported, why does it work in most cases? Please also propose an alternative method.
Factors that affect the algorithm:
- Lower signal strength makes the algorithm fail more often. But the threshold is still quite “high”, somewhere around -70dBm where it should work without any problems
- Having the system inside a rf-shielded box seems to make the algorithm fail more often. If we open the box lid, it works, but if we close it starts failing a significant number of times.
Any help is highly appreciated!
Best regards
Björn
Keywords:
CC112x, CC1120, CC1121, CC1125, AFC, Frequency Offset Correction, FOC