About DW3000 RX_POWER

Hi, everyone.
We are testing to get the rx power of the DW3000. We used two DWM3000 and placed them 10cm apart. We found that the rx power was unstable when channel 9 was used, the rx power could jump from -43dbm to -55dbm. However, when dwm3000 is configured as channel 5, the rx power is relatively stable.As show below.
rxPower
ch9 ch5
In addition, we found that when the rx power jumped, the main reason was the change of DGC_DECISION.Could this be the result of the parameter configuration of RX_TUNE not being optimized on channel 9?

I’m on the way to to calc the rssi too.
Are the calculation that you using like that?

    dwt_rxdiag_t rx_diag;
    float rssi = -INFINITY;
    uint32_t dgc_decision = 0; // DGC_DECISION 0-7

    rx_diag.ipatovPower = dwt_read32bitoffsetreg(IP_DIAG_1_ID, 0);
    rx_diag.ipatovAccumCount = dwt_read16bitoffsetreg(IP_DIAG_12_ID, 0);
    dgc_decision = (dwt_read8bitoffsetreg(0x30060, 3) >> 4) & 0b111;

    if(rx_diag.ipatovAccumCount)
    {
        rssi = 10.0f * log10f(rx_diag.ipatovPower * 0x200000/(rx_diag.ipatovAccumCount * rx_diag.ipatovAccumCount))  + (6 * dgc_decision) - ((prfConfig == DWT_PRF_16M) ? 113.77 : 121.7);
    }

Yes, it’s like that.
I’m using the function dwt_readdiagnostics to get ipatovPower and ipatovAccumCount.

1 Like

Hi Everyone,

Regarding the initial post, note that a 10cm the power will be very high and this is not the best condition in which we’ll manage to calculate RSSI. Indeed at such distance power will be high and the accumulator may be saturated. Similarly we reach the limits of the DGC which may explain with RSSi correlation is not so good in channel 9.

I’m wouldn’t think there is an issue with the Tunes and DGC_LUT and would advise against trying to modify them ; these LUTs are extracted from a large sample of devices during characterisation and are design to fit all devices in an optimal manner