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.

TMS320F28027: The formula of floating value to IQ

Part Number: TMS320F28027

Hi,

Do we have a formula (not function in lib) to convert floating value to IQ, just like IQ(24).

There's the formula to convert IQ to floating value.

Thanks.

Br, Jordan

  • Jordan,

    The _IQ(A) function in the library is not really a function. It is #defined in the IQmathLib.h file and shows how to convert a float to an IQ value:

    #define _IQ30(A) (long) ((A) * 1073741824.0L)
    #define _IQ29(A) (long) ((A) * 536870912.0L)
    #define _IQ28(A) (long) ((A) * 268435456.0L)
    #define _IQ27(A) (long) ((A) * 134217728.0L)
    #define _IQ26(A) (long) ((A) * 67108864.0L)
    #define _IQ25(A) (long) ((A) * 33554432.0L)
    #define _IQ24(A) (long) ((A) * 16777216.0L)
    #define _IQ23(A) (long) ((A) * 8388608.0L)
    #define _IQ22(A) (long) ((A) * 4194304.0L)
    #define _IQ21(A) (long) ((A) * 2097152.0L)
    #define _IQ20(A) (long) ((A) * 1048576.0L)
    #define _IQ19(A) (long) ((A) * 524288.0L)
    #define _IQ18(A) (long) ((A) * 262144.0L)
    #define _IQ17(A) (long) ((A) * 131072.0L)
    #define _IQ16(A) (long) ((A) * 65536.0L)
    #define _IQ15(A) (long) ((A) * 32768.0L)
    #define _IQ14(A) (long) ((A) * 16384.0L)
    #define _IQ13(A) (long) ((A) * 8192.0L)
    #define _IQ12(A) (long) ((A) * 4096.0L)
    #define _IQ11(A) (long) ((A) * 2048.0L)
    #define _IQ10(A) (long) ((A) * 1024.0L)
    #define _IQ9(A) (long) ((A) * 512.0L)
    #define _IQ8(A) (long) ((A) * 256.0L)
    #define _IQ7(A) (long) ((A) * 128.0L)
    #define _IQ6(A) (long) ((A) * 64.0L)
    #define _IQ5(A) (long) ((A) * 32.0L)
    #define _IQ4(A) (long) ((A) * 16.0L)
    #define _IQ3(A) (long) ((A) * 8.0L)
    #define _IQ2(A) (long) ((A) * 4.0L)
    #define _IQ1(A) (long) ((A) * 2.0L)

    Regards,
    David