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.

IQ math library

Other Parts Discussed in Thread: TMS320F28069, SPRC087

Hi,

I am working on TMS320F28069, it has a 32-bit floating point CPU. Please tell me, is IQ math library required for floating point CPUs.

Thanks & Regards

Prashanth

  • Hi Prashanth,

    IQmath library is used for fixed point controllers. For floating point its not required!

    Regards,

    Gautam

  • Hi Prashanth!

    The build of the IQmath library "IQmath_f32.lib" can be linked with code built with the --float_support=fpu32 switch. This can be useful for mixing IQmath with native floating-point code on devices with the C28x+FPU. You can refer to 0601.TI_IQmath_Quickstart.pdf.

    Regards,

    Igor

  • Hi Igor,

    Do you feel that IQmath library is useful for floating point controllers (FPU)? Because it really didn't matter with the performance of the controller. The computations were nearly same; in maximum cases FPU performed better than IQmath lib. Yes, one can use this library for performing some typical functions like IQNrmpy, IQNrsmpy etc.

    I instead used a library called FastRTS which was quicker in computing complex results than FPU. 

    Regards,

    Gautam

  • Hi Gautam!

    Gautam Iyer said:

     Because it really didn't matter with the performance of the controller. 

    Agree. This matter about who want to use both IQmath functions as well as native C28x floating-point code within their project only. And IQmath allows it. It's a matter of taste :-)

    Regards,

    Igor

  • Cool, thanks for the clarification Igor.

    Regards,

    Gautam

  • Hi Gautam,

    You mention that " IQmath library is not required for floating point processors" .

    But, IQ math tables are given in Boot ROM of TMS320F28069( floating-point). Why they are given IQmath tables in floating point processors.

    Thanks & Regards

    Prashanth K 

  • Hi Prashanth!

    1 I would recommend you to read carefully this link http://processors.wiki.ti.com/index.php/IQmath_Library_for_C28x#Q:_If_I_use_IQmath_f32.lib.2C_does_it_do_native_floating_point_operations.3F.

    2 This is quote from TRM of TMS320x2806x 4807.TI_TMS320x2806x_manual.pdf (chapter 2.1.1 & 2.1.2):

    2.1.1

    The fixed-point math tables included in the boot ROM are used by the Texas Instruments™ C28x™
    IQMath Library - A Virtual Floating Point Engine (SPRC087). The 28x IQmath Library is a collection of
    highly optimized and high precision mathematical functions for C/C++ programmers to seamlessly port a
    floating-point algorithm into fixed-point code on TMS320C28x devices.
    These routines are typically used in computational-intensive real-time applications where optimal
    execution speed and high accuracy is critical. By using these routines, you can achieve execution speeds
    that are considerably faster than equivalent code written in standard ANSI C language. In addition, by
    providing ready-to-use high precision functions, the TI IQmath Library can shorten significantly your DSP
    application development time.
    The IQmath library accesses the tables through the IQmathTables and the IQmathTablesRam linker
    sections. The IQmathTables section is completely included in the boot ROM. From the IQmathTablesRam
    section, only the IQexp table is included and the remainder must be loaded into the device if used. If you
    do not wish to load a copy of these tables already included in the ROM into the device, use the boot ROM
    memory addresses and label the sections as “NOLOAD”.

    2.1.2

    These functions can be accessed using the IQmath boot ROM symbol library included with the boot ROM
    source. If this library is linked in the project before the IQmath library, and the linker-priority option is used,
    then any math tables and IQmath functions within the boot ROM will be used first.

    3 I have written already that in my opinion using IQMath is the matter of taste (from view point of customer) and the matter of expansion of features (from view point of producer) at case MCU with FPU. 

    Regards,

    Igor