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.
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.