Other Parts Discussed in Thread: CC1100, CC1150, CC1000
I am running a CC1101 with MSK modulation, at 250Kbps, at 433.92MHz, with BW set to 541KHz. These are setting derived from RF studio for the CC1100 with a couple of parameters changed.
I am experimenting with narrowing the bandwidth to squeeze more performance out of the radio. When I calculate the bandwidth required for the signal (OBW = 1.2/Tb) I get 300KHz. I then added my crystal tolerance information from both the transmitter and receiver to the calculation as per DN005 (SWRA122C) and got that my required bandwidth should be around 365KHz. See picture below.
My plan was to keep the bandwidth as narrow as possible and use FOC to compensate for crystal tolerances. To leave the bandwidth setting as low as possible I choose 325KHz (300KHz -> 325KHz is the lowest setting I can choose without going under 300KHz). A FOC setting of +/- BW/8 should be sufficient, but I had code compiled with +/- BW/4 as well.
To prove all of this worked the way I expected, I created an experiment with the following:
1. An RF traffic generator with two CC1150 radios with their respective carrier frequencies set to the respective min and max frequencies as per the crystal tolerance errors (frequencies were tuned with a spectrum analyzer to the respective carrier +/- crystal tolerance error (433.904MHz and 433.936MHz). This generator also is able to transmit messages back to back with only a 10uS gap between the two messages. This allows me to see if the FOC can compensate fast enough for closely spaced messages. (going below 10uS with showed messages being dropped)
2. Receiver code with the following BW and FOC parameters ---> BW = 325 FOC off, BW = 325 FOC BW/8, BW = 325 FOC BW/4
The planned approach to the experiment was to start with the FOC off firmware, show that messages were missed, then switch to the firmware with the FOC turned on and show that the receiver was capable of receiving all messages. Furthermore, to show that back to back messages at opposite ends of the FOC range could be reliably be received even when those messages were separated by a very short time (10uS).
What I got was all messages were received when the FOC was turned off, and all messages were received when FOC was on. To get messages to be dropped by the receiver (FOC off) I had to separate the transmitted messages further (+/- 32kHz which is double the calculated crystal offset of +/- 16KHz). This is not what I expected to happen and I would like to understand why.
So what am I missing here? 325KHz bandwidth seems to be wide enough to receive the transmitted messages, but based on the results it seems FOC is not necessary.
Is this a difference of occupied bandwidth vs how much of the OBW the receiver needs to reliably receive the message?
As you can see from the tolerance calculation above we are also going to introduce a lower data rate for our system. For this configuration we are planning to use Rx BW of 58KHz with FOC set to +/- BW/2 for a total BW of 116KHz. Does this seem about right? Is there something else I should consider?