AWR2944P: HWA 2.1 – DC estimation with scaling weights for first 4 range bins

Part Number: AWR2944P

Tool/software:

Hello,

I am working on AWR2944P with HWA 2.1, where I want to implement weighted DC removal before VFFT. For the first 4 range bins, I want to:

  1. Compute mean across all chirps for each Rx channel.

  2. Subtract that mean from all chirps.

  3. For the first 4 range bins, apply scaling weights [1, 1, 0.5, 0.25] to the DC estimate before subtraction respectively.

I understand the HWA has a built-in DC estimator (DCEST_EN=1) that latches the mean internally, and that subtraction can then be enabled with DCSUB_EN=1, DCSUB_SELECT=1.

My questions are:

  1. Where are the outputs of the DC estimator stored? From the TRM, it seems the estimates are only latched internally and not written to memory or CPU-readable. Is that correct?

  2. If I want to apply my own scaling factor (e.g., 0.5 or 0.25 for bins 2 and 3), can I:

    • Use a paramset with the Statistics block (SUM mode) to compute the per-Rx sum across chirps,

    • Divide by the number of chirps in the CPU to get the mean,

    • Multiply by my scaling weight,

    • Then load the result into the DC_SW_I/Q registers,

    • And finally configure the next paramset with DCSUB_EN=1, DCSUB_SELECT=0 to use the software DC values?

  3. Is there any recommended way to combine both approaches — e.g., using HWA for DC estimation but still being able to scale the results before subtraction?

Any clarifications on how to correctly implement this flow in HWA 2.1 would be greatly appreciated.

Thanks.

  • Hi Anshuman,

    I hope you are using DCEST_RESET_MODE 2. The internal DC accumulators are reset at the beginning of the current parameter-set execution in this mode. DC estimates are stored in DC_EST_I_<n>_VAL or DC_EST_Q_<n>_VAL registers.

    You can check section 28.13.2 DSS_HWA_CFG Registers of TRM for register description and address offset.

    If you want to scale DC_VALUES, you can configure DS_EST_CTRL register with appropriate values.

    For detailed description of DC estimation, you can check section 28.7.1 DC Estimation of TRM. You can also check the current implementation in Range Processing DPU of the processing chain provided in SDK - C:\ti\mmwave_mcuplus_sdk_04_07_01_03\mmwave_mcuplus_sdk_04_07_01_03\ti\datapath\dpu\rangeprocDDMA\src\rangeprochwaDDMA.c.

    Regards,

    Samhitha