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