Inquiry on the Meaning and Calculation of Local and Remote I/Q Values in the SDK

Certainly! Here’s a clear, natural English version of your email:


Dear Specialist,

I would like to better understand the two variables used in the SDK for calculating the phase of each channel: the local and remote (or, in version 2.9.0, the peer) I/Q values. Specifically, I am interested in how these values are obtained—are they averages over a series of measurements, or do they have some other physical significance?

  1. What do “local” and “remote” represent?
    Do they refer to the phase values measured by each device for the signals transmitted by the other? According to the description in the Bluetooth Channel Sounding technical overview, the reflector only reflects the signal and does not measure it—it simply bounces the transmitted signal back to the initiator. Based on this, it seems that “local” and “remote” might refer to the local oscillator of the transmitter and the signal eventually received by the transmitter, with their difference representing the final phase change.

    However, in the BLE 6 Core Specification, for multi-antenna measurements, the transmitter needs to send signals sequentially from multiple antennas, and only then does the reflector return each signal. This process appears to be more than just simple reflection; it suggests that the reflector is actively involved, rather than merely relaying the signal without phase measurement. If the reflector only acts as a relay without participating in phase measurement, this should happen at the hardware level, and it seems unlikely that it could wait for all transmissions to finish before retransmitting each one.

  2. If both devices are measuring the phase bidirectionally, why is there only one value reported for local and remote per channel in each subevent?
    In BLE AoA, estimating the phase of a signal requires a series of phase values sampled continuously from the CTE portion of the packet, which are then used to estimate the overall phase of the packet. In Channel Sounding, is it also the case that a series of phase values are sampled continuously from the mode-2 tone signal, and synchronization between the devices ensures that the sampling time aligns within each packet? Is the final phase value reported the average of the differences between a series of local and remote measurements?

Thank you for your help!

Best regards,
Cheng

  • Hello,

    We prefer that you just use e.g. google translate, and not chatgpt to translate your text. The reason is that we don't know whether the AI has added/removed information that is relevant for your question. 

    I believe we are talking about Channel sounding, and not Direction finding. Correct?

    If so, the "local" and "remote" refers to the one doing the measurement, which is the local, and the remote is the device that the local is measuring the distance to.

    However, in the BLE 6 Core Specification, for multi-antenna measurements, the transmitter needs to send signals sequentially from multiple antennas, and only then does the reflector return each signal. This process appears to be more than just simple reflection

    Now it sounds like you are talking about direction finding. Channel sounding doesn't require multiple antennas. Direction finding does require multiple antennas, because it measures the difference in phase to detect the angle. The channel sounding algorithm uses different channels to calculate the phase offset between different frequencies.

    Perhaps some more context can explain what you are actually looking for.

    Are you trying to combine the two technologies, Channel Sounding and Direction Finding? If so, this is not straight forward.

    Direction finding is delivered from us as an as-is-solution. We do the calculations, but we do not explain how the IQ data is being used.

    Channel sounding, as of today, is in an early stage. It is not very accurate the last time I tested, but is more a proof of concept. That we are able to measure the IQ data, but more work is required in order to crush the numbers for a better distance measurement result.

    But feel free to use google translate to explain what you are imagineing in your application. Perhaps that can give me some pointers on what information you are looking for.

    Best regards,

    Edvin

  • Thank you very much for your response—now I understand the meaning of “local” and “remote.”

    I apologize for mixing up AoA and Channel Sounding (CS) in my previous question. What I actually want to understand is why, in CS, each subevent only reports a single IQ value per channel.

    From what I know about AoA, it requires a series of phase samples over the CTE part of the packet to estimate the frequency of the whole signal, and then continues sampling on different antennas.

    However, in CS, I noticed that for each enabled channel, only one local IQ and one remote IQ are reported. It seems to me that if there is only a single measurement, the sampling time for local and remote would need to be strictly synchronized (starting from the very beginning of the signal). I’m not sure if my understanding is correct.

    For example, in the cs_de_iq_tones_t structure, the lengths of i_local, q_local, i_remote, and q_remote are all 80, which I assume corresponds to the number of channels—meaning there is only one measurement result per channel. I would like to know why there is only one local IQ and one remote IQ per channel. My intuition is that in order to obtain the phase of the received signal, it would require continuous sampling at multiple points.

    Could you please clarify this for me?

    Thank you!

Related