This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWRL6432: Velocity resolution issue in mmWave Sensing Estimator

Part Number: IWRL6432
Hello,

While playing around with my IWRL6432 radar configuration in the mmWave Sensing Estimator, I noticed an inconsistency in the Velocity Resolution calculation.
My configuration is shown in the picture below:


As you can see, we are in "Burst Mode", we have 2 Tx antennas, 16 bursts per frame and 2 chirps per burst (1 for each Tx antenna). A burst lasts 800us.
In this case, the velocity resolution (circled in red) is correctly calculated as  (2 * MaximumVelocity) / numOfBurstsInFrame = 2*1.555/16 = 0.194 m/s.

I have now tried switching to 'Normal Mode', using the same number of chirps and keeping the distance between two successive chirps transmitted by the same Tx antenna at 800us.
The new configuration is shown in the following picture:

In this case, as the chirp repetition period has been kept constant, I would expect the same maximum velocity. At the same time, given that the number of chirps hasn't changed, I would expect also the same velocity resolution. But the first expectation is fulfilled, while the second is not.

I think that this is a bug in the tool.
Since the velocity in the "Normal Mode" is calculated as  (2 * MaximumVelocity)/numOfChirpLoops, which is correct, I think that the problem comes from the definition of numOfChirpLoops, which is 32 in both cases (blue circled values).
As far as I understand, in the case of 2 Tx antennas, a chirp loop describes the transmission of a pair of chirps, one for the first Tx antenna and one for the second. So I expect numOfChirpLoops to be calculated as

numOfChirpLoops  = numOfBurstsInFrame * numOfChirpsInBurst / numOfTxAntennas
I also have the impression that this incorrect numOfChirpLoops also affects other outputs of the tool.

Could you check this issue?

Thank you,
Guido
  • Hello.

    The velocity resolution in burst mode is 2 * max velocity / number of bursts, while in normal mode it is 2 * max velocity / number of chirp loops.  In burst mode you have 16 bursts per frame, while in the normal mode you have 32, so it makes sense that your velocity resolution is halved.  If you hover over the velocity resolution information, it should show you what goes into making this calculation.

    Sincerely,

    Santosh

  • Hello Santosh,

    I don't understand why I should have a different velocity resolution when the only difference between the two configurations is that the same number of chirps is spread over different bursts in the first case or packed into the same burst in the second case.

    In my first configuration (burst mode) there are 2 Tx antennas, 16 bursts of 2 chirps each. The burst periodicity is 800 us, so two consecutive chirps transmitted by the same antenna are 800us apart (chirpRepetitionPeriod). And there are 16 chirps for each Tx antenna.

    In my second configuration (normal mode) there are also 2 Tx antennas, 1 burst consisting of 32 chirps. The chirpRampEndTime is 63 us and the chirpIdleTime is 337 us. Thus, the distance between two consecutive chirps transmitted by the same antenna is 2* chirpRampEndTime +2* chirpIdleTime = 800 us. The same chirpRepetitionPeriod as in the burst mode configuration. And, again, there are 16 chirps for each Tx antenna.

    From a Doppler point of view, these two configurations are the same and should result in the same velocity resolution.

    We can also use the theoretical formula for Doppler velocity resolution, which is:

    Vres = c / (fc * 2 * Tf)

    where c is the speed of light, fc is the carrier frequency and Tf is the transmission time.

    In burst mode, the transmission time lasts Tf = numOfBurstsInFrame*framePeriodicity = 12.8 ms.
    With a central frequency of 60.26 GHz, we get Vres = 0.194 m/s, the same result shown in the first picture of my previous post.

    In normal mode, since only one burst is set, the transmission time is Tf = numOfChirpsInBurst * (chirpRampEndTime + chirpIdleTime) = 12.8 ms. 
    Since the central frequency hasn't changed, we again get Vres = 0.194 m/s. The same for burst mode, but twice the value returned by the mmWave Sensing Estimator (second picture of my previous post).

    Could you explain this behavior?

    Thank you,
    Guido
  • Hello Guido.

    Apologies for the delay in response.  I am looking into this and will provide an update by the end of day tomorrow.

    Sincerely,

    Santosh

  • Hello Guido.

    Tf = numOfBurstsInFrame*framePeriodicity = 12.8 ms.

    This is incorrect for burst mode.  You should be using burst periodicity instead of frame periodicity, as you only count the time where the device is chirping(chirp repetition period).

    It looks like the equations you are using are incorrect.  I have included images from the SDK documentation for reference.

    Where Tr is the chirp repetition period and it is multiplied by 2 due to using 2 TX's, but this only applies for normal mode as the burst periodicity contains chirps from both Tx. So for burst mode the denominator should be (Nc * Fc * Tr), where Tr is the burst periodicity and Nc should be the number of bursts as the Nc * Tr should represent the total chirping time.

    From doing this math, the denominator for the normal mode will be (400 us * 32 chirps * Fc * 2), while the denominator for burst mode will be (800 us * 16* Fc).  This results in the denominator for the 32 chirp config to be double than burst mode, so the resolution is 2x smaller.

    Sincerely,

    Santosh

  • Hello Santosh,

    Tf = numOfBurstsInFrame*framePeriodicity = 12.8 ms.

    This is incorrect for burst mode.  You should be using burst periodicity instead of frame periodicity, as you only count the time where the device is chirping(chirp repetition period).

    You are right, there was a typo in my formula. The correct formula is clearly Tf = numOfBurstsInFrame*burstPeriodicity, which is indeed 12.8 ms. (If I were to use the frame periodicity, the result would be 3.2 seconds)

    The formula you reported from the SDK is exactly the one I used, with Nc*Tr = Tf.
    But you're wrong in your interpretation. You can get the same formula from Sandeep Rao's "Introduction to mmwave Sensing: FMCW Radars" (https://www.ti.com/content/dam/videos/external-videos/2/3816841626001/5415528961001.mp4/subassets/mmwaveSensing-FMCW-offlineviewing_0.pdf) from which I report here slide 40:



    As you can see, the 2 factor is not related to the number of Tx antennas, but to the definition of the signal phase.

    To show you that the number of Tx antennas is irrelevant for velocity resolution, here is a scheme that takes into account the burst mode configuration.



    The starting point is that the Doppler analysis is performed on a per-antenna basis. Given this, and assuming for simplicity that there is only one Rx antenna (but the analysis can be generalized for every antenna pair), we can separate the chirps into two sequences of 16 samples each: one composed of the 16 chirps transmitted by the first TX antenna (blue chirps) and one composed of the 16 chirps transmitted by the second Tx antenna (red chirps).
    The two sequences have the same:
    • maximum velocity: Vmax = c / (4 * fc * Tr) =  3e8/(4 * 60.26e9 * 800e-6) = 1.555 m/s
    • velocity resolution: Vres = c / (2 * fc * Tf ) = c / (2 * fc * Nc * Tr ) = 3e8/(2 * 60.26e9 * 16 * 800e-6) = 0.1944 m/s. Or, alternatively, Vres = 2 * Vmax / Nc = 2 * 1.555 / 16 = 0.1944 m/s.

    Now let's look at the same scheme in the case of normal mode configuration.



    As you can see from the graph, the situation is the same for the Doppler analysis and the same conclusions obtained above should apply.
    In fact, we can obtain again two sequences of chirps, one for each Tx antenna. The structure is the same as before, except for the shift between the two sequences due to different chirp idle times, which is irrelevant from the Doppler perspective. Note that here the number of chirps for each sequence can be calculated as numberOfChirpsInBurst/numTxAntennas = 32/2 = 16.
    As a result, the two sequences have the same:
    • maximum velocity: Vmax = c / (4 * fc * Tr) =  3e8/(4 * 60.26e9 * 800e-6) = 1.555 m/s
    • velocity resolution: Vres = c / (2 * fc * Tf ) = c / (2 * fc * Nc * Tr ) = 3e8/(2 * 60.26e9 * (32/2) * 800e-6) = 0.1944 m/s. Or, alternatively, Vres = 2 * Vmax / Nc = 2 * 1.555 / (32/2) = 0.1944 m/s.
    As you can see, the burst mode and normal mode configurations have the same velocity resolution. This fact brings us back to my first post in this thread.

    Best regards,
    Guido
  • Hello Guido.

    You are correct. We will look to update this bug on the sensing estimator.

    Sincerely,

    Santosh

  • Ok.

    Tthank you,
    Guido