Skip to main content
Graduate II
March 11, 2024
Question

General documentation error for cordic modulus m parameter - please update

  • March 11, 2024
  • 2 replies
  • 1690 views

Hi there!

I'm reporting a general documentation error for all instances of the STM32 CORDIC hardware.

For the modulus parameter m, the documentation lists the following:

etheory_0-1710196666036.png

But this is not correct. The hardware supports the range [-1,1] for the modulus value m as well, it is NOT limited to [0,1].

Could this error please be updated in all instances of the CORDIC for all processors? This affects the cosine and sine functions at the least, I have not checked the other functions, but I imagine your engineers could verify. But at least for cosine and sine it's definitely wrong.

Thanks.

P.S. this is a fantastic error! It's SO MUCH MORE USEFUL being able to multiply by a negative number.

P.P.S this is nitpicky, but it is true. Technically since q1.15 cannot represent 1, but can represent -1, you should be strictly stating the range [-1,1) which is the correct mathematical definition for the actually supported range of values. This does help people from a mathematical background to more easily see what the value ranges truly represent. Thanks.

    This topic has been closed for replies.

    2 replies

    Technical Moderator
    March 12, 2024

    Hello @etheory 

    In fact, the modulus m is the square root of the sum of x squared plus y squared. So, "m" should always be positive.

    Best Regards.

    STTwo-32 

    etheoryAuthor
    Graduate II
    March 12, 2024

    I am sorry but did you even read my post @STTwo-32? for the sine and cosine functions of the cordic it is a multiplier (and I've verified myself that on the hardware the multiplier is signed, NOT unsigned like the documentation incorrectly states.). What you are saying ONLY holds for the modulus cordic operation. My comment still stands for at least the sine and cosine functions.

    etheoryAuthor
    Graduate II
    March 17, 2024

    Could someone from ST please confirm the above documentation bug and tell me when it will be fixed? A lot of documentation would need to be changed. Thanks.

    Technical Moderator
    March 17, 2024

    Hello @etheory 

    According to our Spec. The modulus value should be [0,1]. But i've escalated your request on the negatif values to the concerned team for more investigation and i will be back to you as soon as we can.

    Best Regards.

    STTwo-32 

    etheoryAuthor
    Graduate II
    March 18, 2024

    Thank you. As my post says, this applies SPECIFICALLY to the sine and cosine functions of the cordic, NOT the other functions. Thanks. I can confirm this from actual experiment on the hardware. I appreciate the escalation.