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.

floating point dsp + fix point algorithm VS floating point dsp + floating point algorithm

F28335 is a floating point dsp.

Then, I want to know what will happen if we use IQmath to convert floating point algorithm to fixed point algorithm, and implement it on a floating point dsp.

The implementing time becomes shorter? 

example:

A: floating point algorithm + floating point dsp

B: fixed point algorithm     + floating point dsp (using IQmath convert floating point algorithm to fixed point algorithm)

then, between A and B, which one is much faster?

  • shanhai jin said:

    F28335 is a floating point dsp.

    Then, I want to know what will happen if we use IQmath to convert floating point algorithm to fixed point algorithm, and implement it on a floating point dsp.

    The implementing time becomes shorter? 

    example:

    A: floating point algorithm + floating point dsp

    B: fixed point algorithm     + floating point dsp (using IQmath convert floating point algorithm to fixed point algorithm)

    then, between A and B, which one is much faster?

    Using IQmath allows you to more quickly go between fixed and float for a particular algorithm.  So you could test on a 28335 with the IQmath .h file configured such that MATH_TYPE == FLOAT_MATH.  This has the advantage of not worring about overflow, sign inversion etc.

    Then once you are satisified with the basic algorithm you can switch the MATH_TYPE to IQ_MATH to test out the fixed-point version.  Once you are settled that both are working you could run this same fixed-point version on a 2823x which is an equiv. device without the native floating-point capabilities.

    Your option B would require that you use the IQmath syntax ie _IQmpy, _IQdiv etc.. but allows you this flexabiltiy.   Option B, with the MATH_TYPE set to IQ_MATH would work on either a floating-point dsp (2833x) or a fixed point (2823x).

    Option A does not require using the IQmath syntax, but does require a floating-point DSP.

    -Lori