nRF54L15 CSTONES: where are PHASESHIFT and the FAE/frequency-offset corrections applied in the tone processing chain?

I'm working with Channel Sounding on the nRF54L15 and trying to understand the CSTONES tone-processing block at the register level so I can post-process the results correctly and, for a custom localization experiment, drive the block directly from the application core via TASKS_CSTONESSTART.

From the Product Specification (RADIO chapter) I understand the chain as: NUMSAMPLES input IQ samples at the 2 MHz sample rate → optional DOWNSAMPLE → IQRAWMEAN ("Mean of IQ values") → MAGPHASEMEAN ("Mean magnitude and phase of the signal before it is converted to PCT16") → PCT16 ("Mean magnitude and mean phase converted to IQ"). I have three questions about where the corrections sit in that chain:

  1. CSTONES.PHASESHIFT (0x1018, "Parameter used in TPM, provided by software"). Is this phase shift applied to the incoming IQ samples before averaging, so that IQRAWMEAN already reflects it, or is it applied to the mean value after averaging, so that only MAGPHASEMEAN/PCT16 reflect it? What unit and sign convention does it use (e.g., 16-bit fraction of 2π)? What value does the SoftDevice Controller normally program here, and is it derived from the previous step's PCT or from calibration?
  2. CSTONES.FAEPEER / CSTONES.FREQOFFSET / CSTONES.FFOEST. When the peer's frequency actuation error and the FFO estimate are known, is the resulting phase-rotation compensation performed sample-by-sample on the IQ stream during the T_PM window (a derotation before the mean), or as a single rotation of the averaged value? Same question for the T_PM_CENTER_DELTA correction from Core Vol 6 Part A §6.3.
  3. Reflector with Inline PCT Transfer enabled. When the reflector adjusts the phase of its transmitted CS tone so that the reported Q sample is zero, which part of the radio applies that adjustment: is the measured phase written into the tone generation path (a phase/DTC setting in the frequency synthesizer), or is a phase rotation applied to a digital baseband value before the transmit path? Is that adjustment visible or configurable from the application core, or entirely inside the SoftDevice Controller? The SDC changelog mentions additional "TX Phase settling time" in T_IP2 when IPT is used; a pointer to what that settling covers would help me set the interlude correctly.

If any of this is documented in a version of the Product Specification or an SDC document I've missed, a link is fine. Thanks.

  • Hi John,

    Could you expand on why you do not want to use the SDC for what you are trying to achieve?

    We have documented all of the registers, and have a lot of documentation available. Though we are aware that this is still likely not enough for a customer to make their own software. 

    Regards,

    Elfving

  • Thanks, Elfving,

    To clarify, I'm not trying to replace the SDC for a product. This is an evaluation and characterization project on the tone-measurement path: I want to understand the intermediate quantities and the order of operations in the CSTONES block so I can validate my own post-processing and calibration model against what the hardware actually does. The SDC only exposes the final PCT through HCI, so the intermediate registers (IQRAWMEAN, MAGPHASEMEAN, PCT16) are what I'd like to relate to each other.

    The register pages define each register but not the "TPM calculation" itself, so three specific questions:

    1. Is CSTONES.PHASESHIFT applied to each input IQ sample before the mean is formed (so IQRAWMEAN already includes it), or is it added to the mean phase afterwards (so only MAGPHASEMEAN and PCT16 reflect it)? Same question for the frequency-offset de-rotation that uses FREQOFFSET / FFOEST.
    2. How is MAGPHASEMEAN formed relative to IQRAWMEAN: a vector mean converted to polar, or a mean of per-sample magnitudes and per-sample phases?
    3. Is there a functional description of the tone-processing pipeline (block diagram or algorithm note) beyond the register pages, and if it's internal, could the SDC expose IQRAWMEAN and MAGPHASEMEAN via a vendor-specific HCI event for evaluation purposes?

    If it helps, I'm happy to make this a private case.

  • I see. Unfortunately I do not think we can share any of this. If you still find it necessary for your work, please contact your regional sales manager (I can provide you their contact info if you do not already have it).

    Regards,

    Elfving

  • Thanks, understood on the algorithm.

    One clarification on the documented registers only, so I can interpret CSTONES.IQRAWMEAN and CSTONES.PCT16 correctly: is the frequency-offset compensation (from FREQOFFSET / FFOEST) applied to each input IQ sample before the mean is computed, or is it applied to the averaged result?

  • I've forwarded this question to the relevant team, I will let you know once I hear from them.

    Regards,

    Elfving

Related