This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1200 AGC Regference

Other Parts Discussed in Thread: CC1200, CC1190, CC1120

Hello,

We discovered that our CC1200 based radio modem has some problems receiving strong signal: -70dBm…-50dBm on different link rates, for some Rx Filter BWs we use MDMCFG1.DVGA_GAIN=00 or 01. The formula for calculation of the AGC_REF.AGC_REFERENCE (page 33 of CC1200 User’s Guide) is not clear. What is RSSI OFFSET? Is it a value saved in AGC_GAIN_ADJUST (RSSI Offset Configuration), which is different for MDMCFG1.DVGA_GAIN=00 or 01?

We don’t have any problems with RSSI measurements when DVGA is on or off.

Thanks,

Alex

  • Hi,

    Please refer to section 6.9 of CC120X User Guide for RSSI explanation. You may use our SmartRFStudio to get the RSSI Offset value (under continuous RX Tab).

    We use RSSI Offset = 99 (when MDMCFG1.DVGA_GAIN=00)  and RSSI Offset = 81 (when MDMCFG1.DVGA_GAIN=01) with our CC1200 EM. If you use our reference circuit (No front-end losses) then you can use the same RSSI Offset. Otherwisw you need to calibrate it as per the procedure described in section 6.9.

    Thanks,

    PM

  • Thanks PM for so fast response.
    We use our board and we have calibrated RSSI. If CC1200 is calibrated on our board, we use value saved in the AGC_GAIN_ADJUST.GAIN_ADJUSTMENT as an RSSI OFFSET to calculate the AGC_REF.AGC_REFERENCE (page 33 of CC1200 User’s Guide)?
    Thanks,Alex
  • Thanks PM for so fast response.
    We use our board and we have calibrated RSSI. If CC1200 is calibrated on our board, can we use value saved in the AGC_GAIN_ADJUST.GAIN_ADJUSTMENT as an RSSI OFFSET to calculate the AGC_REF.AGC_REFERENCE (page 33 of CC1200 User’s Guide)?
    Thanks,Alex
  • The RSSI OFFSET value from your calibration should be written (saved) to the register AGC_GAIN_ADJUST.GAIN_ADJUSTMENT and the same can be used to calculate AGC _REFERENCE by using the formula on Page-33.
    We recommned to use our SmartRFStudio to get the proper register settings.
    Thanks,PM
  • Going back to the original question: For which datarates/ RX BW do you get issues with strong signals?

  • Hi TER,
    We have problems with many narrow band link rates. I'm testing our modem right now with the following settings: link rate 19.2kbps, 2GFSK, Freq dev 3.4kHz, RxFilterBW=39.7kHz, DVGA_GAIN = 0. The RSSI calibration RSSI value = -99 when DVGA_GAIN = 01. For the AGC_REF formula (page 33) RSSI OFFSET =-99-18=-117, which is equal to AGC_ GAIN_ADJUSTMENT. We don’t have any problem with RSSI measurements.
    The calculated AGC_REF = 70, that gives errors for the signal range -50dBm and 0dBm.
    We tested reception for different AGC_REFs from 0 to 100 and got the following results
    AGC_REF Rx Strong signal, dBm Sensitivity, dB0 OK -805 OK -7810 OK -8015 OK -79
    20 OK -10425 OK -10830 OK -11535 OK -11640 OK -11545 OK -11550 OK -11555 OK -115
    60 OK -11565 -54dBm …0dBm -11570 -54dBm …0dBm -11575 -54dBm …0dBm -115
    80 -54dBm …0dBm -11585 -54dBm …0dBm -11590 -54dBm …0dBm -11595 -54dBm …0dBm -115
    100 -54dBm …0dBm -115
    According to these test results the optimum AGC_REF should be 35…40, not 70. Why formula for AGC doesn’t work? What do you recommend?
    Thanks,Alex
  • The equation is as follows: AGC_REFERENCE = 10*log10(RX Filter BW) - 92 - RSSI Offset

    Given offset equal to -99, the AGC_REFERENCE will then be 10log10(40k)-92+99=50. Not sure how you got your value.

    I did a PER vs level sweep with the attached settings and 0 PER for all levels.E2E_settings.xlsx

  • According to DVGA_GAIN explanations: "The DVGA configuration has impact on the RSSI offset"
    If RxFilterBW < 100kHz, DVGA_GAIN=0 and additional RSSI offset = 0 dB.
    If RxFilterBW >= 100kHz, DVGA_GAIN=1 and additional RSSI offset = -18 dB.
    If RSSI calibratoin vaule -91dBm for our hardware was taken when DVGA_GAIN=1, we need to adjust AGC_GAIN_ADJUST= -99-18.
    We took AGC_GAIN_ADJUSTas RSSI OFFSET. Is it correct?
  • The problem shows up for slow link rates: 19.2 kbps (RxFilterBW=40kHz) and 24.7kbps(RxFilterBW=50kHz) when MDMCFG1.DVGA_GAIN=0. RSSI measurements are OK for low signal but wrong for strong sinal (-60dBm).
    For fast link rates (115.2, 172.8, 230.4, 270, 345 kbps and RxFilterBW > 100kHz) when MDMCFG1.DVGA_GAIN=1 reception and RSSI measurements are OK for strong and low signals.
    It looks like the formula for AGC_REF should not have -18dB?Thanks,Alex
  • The equation does contain DVA_GAIN indirectly as part of RSSI_OFFSET so you should not adjust the AGC_REF with an extra 18 dB.
  • How about examples for AGC_REF calculations on page 88?
  • TER,
    One of your colleagues: PM suggested that I can use AGC_AGC_GAIN_ADJUST.GAIN_ADJUSTMENT (includes that 18dB)as an RSSI OFFSET to calculate the AGC_REF.AGC_REFERENCE. Who is wrong? See below:
    My question:"Thanks PM for so fast response.
    We use our board and we have calibrated RSSI. If CC1200 is calibrated on our board, we use value saved in the AGC_GAIN_ADJUST.GAIN_ADJUSTMENT as an RSSI OFFSET to calculate the AGC_REF.AGC_REFERENCE (page 33 of CC1200 User’s Guide)? Thanks,Alex"
    PM's response:
    "The RSSI OFFSET value from your calibration should be written (saved) to the register AGC_GAIN_ADJUST.GAIN_ADJUSTMENT and the same can be used to calculate AGC _REFERENCE by using the formula on Page-33.
    We recommned to use our SmartRFStudio to get the proper register settings. Thanks,PM"
  • TER,
    One of your colleagues: PM suggested that that I can use AGC_AGC_GAIN_ADJUST.GAIN_ADJUSTMENT as an RSSI OFFSET to calculate the AGC_REF.AGC_REFERENCE. Who is wrong? Is DVGA located after AGC?
    My question:Thanks PM for so fast response.
    “We use our board and we have calibrated RSSI. If CC1200 is calibrated on our board, can we use value saved in the AGC_GAIN_ADJUST.GAIN_ADJUSTMENT as an RSSI OFFSET to calculate the AGC_REF.AGC_REFERENCE (page 33 of CC1200 User’s Guide)? Thanks,Alex”
    PM’s response:
    “The RSSI OFFSET value from your calibration should be written (saved) to the register AGC_GAIN_ADJUST.GAIN_ADJUSTMENT and the same can be used to calculate AGC _REFERENCE by using the formula on Page-33. We recommned to use our SmartRFStudio to get the proper register settings. Thanks,PM”
    Alex
  • It could be that part of your problem is that you start with numbers that are off. My experience is that the RSSI offset is fairly constant from board to board (typ +/- 1 dB). Using DVGA_GAIN=1 the offset should be about -81 dB but you write:

    "If RSSI calibratoin vaule -91dB for our hardware was taken when DVGA_GAIN=1" which is 10 dB off from the value we get. 

    You have issues with the AGC for low datarates (low RX bandwidth) when DVGA_GAIN=0 and the RSSI_OFFSET is about -99 dB which gives a AGC_REF value that gives a clean PER vs level curve (ref the settings I sent)

    I have trouble understanding "If RSSI calibratoin vaule -91dBm for our hardware was taken when DVGA_GAIN=1, we need to adjust AGC_GAIN_ADJUST= -99-18."

    - First as commented the value -91 dB seems off. Also in your calculation it should have been -91 -18 and not our RSSI_OFFSET valid for DVGA_GAIN=0. The thought I believe is correct but if you find a RSSI offset for DVGA_GAIN=1 the calculation should look more like -81-18 for RX bandwidths lower than 100 kHz. 

    AGC_ REF sets where the AGC adjust the gain down from max and if the value is some dB off it will not impact performance. To speed things up I would suggest using the RSSI_OFFSET values given on page 88 in the UserGuide to calculate AGC_REF. 

  • TER,
    Sorry, the RSSI calibration value for our hardware (external filter, switches, LNA) taken when DVGA_GAIN=1 is -99dBm (not -91dB). With 18dB adjustment we don’t have any problems with measuring and reading RSSI for DVGA_GAIN=0. One of your colleagues (PM) suggested that I can use AGC_AGC_GAIN_ADJUST.GAIN_ADJUSTMENT as an RSSI OFFSET to calculate the AGC_REF.AGC_REFERENCE. Who is wrong? Is DVGA located after AGC?
    My question:Thanks PM for so fast response.
    “We use our board and we have calibrated RSSI. If CC1200 is calibrated on our board, can we use value saved in the AGC_GAIN_ADJUST.GAIN_ADJUSTMENT as an RSSI OFFSET to calculate the AGC_REF.AGC_REFERENCE (page 33 of CC1200 User’s Guide)? Thanks,Alex”
    PM’s response:
    “The RSSI OFFSET value from your calibration should be written (saved) to the register AGC_GAIN_ADJUST.GAIN_ADJUSTMENT and the same can be used to calculate AGC _REFERENCE by using the formula on Page-33. We recommned to use our SmartRFStudio to get the proper register settings. Thanks,PM”
    We are under real pressure to deliver our product.Thanks,Alex
  • TER,
    Sorry for confusion and misunderstanding. We trust your recommended settings, but they can’t be moved to our hardware without changes. As you agree, we have problems only for slow link rates that have RxFilterBW< 100kHz.
    Our CC1200-based modem has external filter, switches and LNA, we have RSSI offset different from TI’s evaluation board.
    1) If RSSI calibration value: -99dB for our hardware was taken when DVGA_GAIN=1, we need to adjust AGC_GAIN_ADJUST= -99-18=-117 for DVGA_GAIN=0. RSSI reading from registers RSSI1 and RSSI0 is correct and accurate (we use Signal Generator to verify RSSI). – Is this correct?
    2) For the AGC_REF we use the following formula:
    AGC_REFERENCE = 10*log10(RX Filter BW) - 92 - RSSI Offset
    For the DVGA_GAIN=0, we got:AGC_REFERENCE = 10*log10(40000) - 92 – (-117) = 70.
    It is too high. What is wrong here?Thank you for your patience.The best regards,
    Alex
  • Ok, using an LNA in front of CC1200 changes the math some. The equation in the datasheet for AGC_REF is only valid for using CC1200 standalone. The reason for this is that the LNA in CC1200 is part of the AGC loop but an external LNA is a fixed gain.

    What you need to do is to use the RSSI_OFFSET values given in the datasheet as the input to the equation. This will give good performance but if you want to optimize blocking
    - Adjust the AGC max gain down until the sensitivity changes
    - Then adjust AGC_REF down until you see an impact on PER vs Level. Normally this is just a few dB.

    For the CC1120+CC1190 measurements in AN110/ AN112 the same AGC_REF as without LNA were used.
  • TER,Thank you so much. It looks better now.Alex