Dinamically changing the Tx and Rx data rate in the Si1060 device
Thanks for your response. I've managed to solve the problem. Indeed, the objective is to have the best possible sensitivity for varying DRs.
What I did was to compare the radio_config.h files that WDS automatically generates for 10kbps and 100kbps data rates in order to find out exactly what parameters are modified on the receiver configuration. As you explained, BCR and receive filter coefficients change along with some AFC, AGC and synthetizer parameters.
Therefore I updated my function to also handle these parameter variations based on the values generated by WDS, so by now I get to change the data rate on the fly from 10kbps to 100kbps and viceversa.
Would it very demanding for the Si1060 to compute the parameter values that need to be changed according to the data rate? Maybe is just better to use a look-up table I guess...
Oct 28 2017, 2:22 PM
Dinamically changing the Tx and Rx data rate in the Si1060 device on
I'm using the Si1060 for an application which requires to change the data rate of transmission while executing.
I've created a function which receives a byte that represents the desired data rate in kbps and then writes to the MODEM_DATA_RATE property the corresponding 24-bit value. In order to maintain the modulation index to h=1 in 2FSK modulation, this function also calculates the required new deviation frequency and writes its value to the MODEM_FREQ_DEV property.
I understand that this modifications affect only the transmitter of the radio so in order for my receiver to receive a packet that's been transmitted with a new data rate I need also to change some parameters in the receiver.
By now I've assumed that the only parameters that are necessary to change at the receiver side are also the data rate and the frequency deviation, so I could use my function also in the receiver. The transmitter sends a packet that contains the future data rate at which it wil transmit, the receiver gets this info and on the next cyle it will start receiving at the new data rate. I've already tested this logic and although I can change the data rate of transmission on the go, I cannot receive any new packet if the transmission data rate is changes.
Any hints on how to solve this problem?
What other parameters do I need to change at the receiver side so that it can dynamically receive packets at different data rates?
Thanks a lot!
Oct 28 2017, 2:22 PM