Hi Nordic team,
I am currently researching Bluetooth Channel Sounding, where I have setup two nrf54LM20-DK as intiaitor and reflector respectively.
I am using NCS 3.3.1 and am using sample RAS requestor and RAS responder, however I am logging only the data that like IQ tones, channels, frequency and offset to a CSV based files instead of running a ranging algorithm.
I use mode_0_steps = 3 with 02 subevents per procedure for testimg. I log the initiator-side Mode 0
measured_freq_offset and the local HCI subevent result->header.frequency_compensation. Across two datasets, I observed that frequency_compensation always equals the first Mode 0 measured_freq_offset of the corresponding subevent. This matches exactly for all subevents.Mode 0 offsets: [0.31, 0.25, 0.18] ppm
Frequency compensation: 0.31 (ppm for entire procedure)
My questions are:
- Is this expected behavior?
- Do both fields use the same signed format and
0.01 ppmresolution? - How are the remaining Mode 0 steps used internally?
- Is the reported compensation applied internally to subsequent Mode 1/2/3 measurements?
- Is it valid across the full subevent or recalculated/scaled per channel?
- Besides frequency offset, compensation, RSSI, AA status, bit errors, and antenna ID, is any additional Mode 0 information exposed?
I would also appreciate any clarification on the exact distinction between
measured_freq_offset and frequency_compensation, particularly whether the former is a per-step measurement while the latter is the controller-selected or processed value for the subevent.Thank you for your support.