CMSIS DSP new functionality proposal

CMSIS DSP is a great tool which allows Cortex-M4 devices to have a great app field range, even replacing some general purpose DSP sometimes. However I am missing some "simple" new functions that could enhance, even more, the use of it.

For example:

- LOG approximation functions (float, int16, etc), which are one of the greatest time consumption methods in an Audio application.

- Vector Division, as Vector Multiplication (arm_mult_f32), quite handy.

- Threshold functions, something similar to the arm_max_f32 function. Comparing athreshold level and returning a vector with ones or zeroes if the original vector is bigger or smaller than the threshold level.

- Complex Phase calculation, same way as arm_cmplx_mag_f32 does for calculating the magnitude of an output FFT signal, but for getting the phase of two signals.

I am sure many other users have many more suggestions/ideas to extend the functionality of CMSIS DSP, which is the base of many great prodcuts/applications out there.

Please, take this as just a starting point, but from my point of view, I think this could be pretty interesting.

Regards.

Parents
  • Hi and thanks for the input regarding the CMSIS functions.  We'll keep these in mind as we discuss new features for upcoming releases of the library.

    If anyone else has suggestions for additional functions, please let us know!

  • Thank you for your answer pbeckmann

    I think it is great that you (as a company and as developers) are listening to the users of CMSIS DSP.

    I would propose some new functions:

    - Exponential functions, to complement the Logarithmics functions. Power of 2, 10 and e.

    - Complex vector constructors, same way as arm_copy does, but reading from two vectors, so the output is an interleaved stereo vector (L0 R0 L1 R1 L2 R2...Ln Rn)

    - Convolution

    - Decimation, similar way as interpolation works.

    - Autocorrelation

    - Compression algorithms as A-law, u-law, etc

    It would be also nice to get standard windowing functions, but anyway,  today is possible by multiplying two vectors.

    Best regards.

Reply
  • Thank you for your answer pbeckmann

    I think it is great that you (as a company and as developers) are listening to the users of CMSIS DSP.

    I would propose some new functions:

    - Exponential functions, to complement the Logarithmics functions. Power of 2, 10 and e.

    - Complex vector constructors, same way as arm_copy does, but reading from two vectors, so the output is an interleaved stereo vector (L0 R0 L1 R1 L2 R2...Ln Rn)

    - Convolution

    - Decimation, similar way as interpolation works.

    - Autocorrelation

    - Compression algorithms as A-law, u-law, etc

    It would be also nice to get standard windowing functions, but anyway,  today is possible by multiplying two vectors.

    Best regards.

Children
No data
More questions in this forum