Commit Graph

267 Commits (hotfix)

Author SHA1 Message Date
Christophe Favergeon 1d9e38adca Reworked FFT initializations to make the work of the linker easier.
New FFT initialization functions to make it easier for the linker
to optimize the code size when the library is used as a static
library and can't be rebuilt.

Compilation directives for code size optimizations have been removed.
3 years ago
Christophe Favergeon fca49d69ae Modified gitignore to ignore some temporary files generated by cmsis build tools. 3 years ago
Christophe Favergeon 2458ff8670 Correction of issue #93
Const qualifier in interpolation functions
3 years ago
Christophe Favergeon 0fe2214dc7 Missing header in arm_math.h added
THe new dsp/window_functions.h header was missing.
(But it could be used and included separately from arm_math.h)
3 years ago
Christophe Favergeon b46a2f86b5 First version of the dynamic time warping algorithm.
F32 only. Some windows suppported.
3 years ago
Christophe Favergeon f757add3bb Added window functions for use with Fourier transforms.
Regular functions for use with tone detection and noise estimation.
Flat-top windows for estimation of tone amplitudes.

Parameters of the windows are given.

Kaiser window missing (Bessel function not available in the library).

No f16 implementation since it is not accurate enough. It is better
to compute a f32 window and convert to f16 after.
3 years ago
Christophe Favergeon 258f31c5e6 Corrected issue #72
arm_sqrt_f32 optimizations for clang and gcc.
3 years ago
Christophe Favergeon f91c1f3c24 Better test automation with cmsis build tools
Added a python script for automation of tests with cmsis build tools.
Correction to some tests
Float promotion issues in some f16 code.
3 years ago
Christophe Favergeon 25c3fa3c02 Corrected compilation warnings. 3 years ago
Silfurion 633ab5913e Add Conversion functions from and to 64 bit floating point
Cleaned f64 conversion functions.
3 years ago
Christophe Favergeon 91ef795234 Corrected issue #66
Saturation problem in arm_absmax_no_idx_q(7|15|31)
Difference of behavior for absmax_q(7|15|31) between reference and code:
reference is first max found. Code was last max found.
3 years ago
Christophe Favergeon 0705c67568 Corrected issue #59
Out of bound access for arm_correlate MVE implementations.
3 years ago
Christophe Favergeon 54be9aeaee Corrected issue #61
Table configuration issue with RFFT Fast F32 and F16

The define use to include or exclude the bit reverse table is different
for scalar and MVE versions. The test was not covering both cases.
3 years ago
Christophe Favergeon 68ddaa577d Corrected issue #62
MVE tables were not const qualified.
3 years ago
Christophe Favergeon 9eb4e92e74 Corrected issue #57
Problem with arm_scale_q15 and q31.

Reorganized a little the cmsis build scripts for the test framework.
3 years ago
Silfurion 3d5fb83720 Add some f64 Neon optimisations for aarch64
Some documentation improvements.
3 years ago
Christophe Favergeon 633b528421 Corrected issue #49
Incorrect out of bounds value for linear interpolation (float).
3 years ago
Christophe Favergeon cbf9e73c06 Improved comment and test framework. 3 years ago
Christophe Favergeon 305b12c4a7 Corrected small issues when building for aarch64. 3 years ago
Christophe Favergeon 865419778b Added tests for the new accumulate functions.
Corrected build issue on Neon without aarch64 support.
Corrected some Doxygen issues
3 years ago
Christophe Favergeon a973e9ed37 Improved cmsis build project files to build with v1.11.0 release 3 years ago
Christophe Favergeon e0bb1407f7 Improved documentation 3 years ago
Christophe Favergeon 2bd5292468 Optimizations for QR decomposition. 3 years ago
Christophe Favergeon 6a7b8879f4 Added documentation about how to build with Make
An example makefile was added into Source and the README improved.
Small correction to Python wrapper URLs.
3 years ago
Christophe Favergeon 91f599c052 Householder and QR decomposition for matrices (f64,f32,f16).
(not yet optimized)
3 years ago
Christophe Favergeon 7cd6cf1e66 Improved gcc csolution file to build on Cortex A5,A7 and A9.
It is requiring some changes in the cmake of CMSIS build tools (because
Cortex-A targets are not yet available).

It is requiring a fix to the packs (CMSIS >= 5.9.0)
3 years ago
Christophe Favergeon ae24b870e7 Added support for A5, A7 and A9 to test framework with cmsis build tools.
AC6 only. There are still some limitations with gcc.
3 years ago
Christophe Favergeon 65cf6252ca Added support for building the test framework and examples with CMSIS build tools. 3 years ago
Christophe Favergeon 0db91786e9 README improvements.
Example improvement.
cmake improvement.
github workflow tuning.
4 years ago
Christophe Favergeon 3f95fbca89 New repository for CMSIS-DSP 4 years ago
Christophe Favergeon cb0960577d CMSIS-DSP: Improvements to matrix inversion.
Partial pivoting added for better numerical stability.
4 years ago
Christophe Favergeon 99bcacd027 CMSIS-DSP: Some improvements for sign conversion warnings.
Added new tests for function in utils.h
4 years ago
Christophe Favergeon 29cb70ce55 CMSIS-DSP: scalar atan2 q31, q15, f32 and f16
Correction to q15 and q31 division when denominator is max
negative value.
4 years ago
Christophe Favergeon 8dcdb350a4 CMSIS-DSP: Mean square error for q15, q31, f16, f32, f64.
Reworked q7 to have a bit more accuracy.
4 years ago
Christophe Favergeon 47a987217f CMSIS-DSP: Mean square error q7 4 years ago
Christophe Favergeon fb90fab3e7 CMSIS-DSP: Added missing functions to the Python wrapper
Changed the version of Jinja2 required by the wrapper to avoid warnings
when using google colab.
4 years ago
Christophe Favergeon aa4a2c6df2 CMSIS-DSP: Correction to file causing issue with git diff. 4 years ago
Christophe Favergeon 02b12fd1cf CMSIS-DSP: New min/max functions.
Added arm_(max|min)_no_idx_(q7|q15|q31|f16|f32|f64).c
Added arm_abs(max|min)_no_idx_(q7|q15|q31|f16|f32|f64).c

For both functions : Helium and scalar versions.
4 years ago
Christophe Favergeon e45dc7c22e CMSIS-DSP: Improvements to pull request #1363
To avoid having to change the API in an incompatible way,
a arm_mat_mult_opt_q31 was introduced and is providing a faster implementation
to use with Helium (but requiring more storage for intermediate results).

Some improvements to tests for matrix functions added.
4 years ago
Christophe Favergeon 2cd6c30118 CMSIS-DSP: Updated SDF pack.
Removed unused variables in some tests.
4 years ago
Christophe Favergeon 02d4e88031 CMSIS-DSP: Reworked sqrt q15 and q31 4 years ago
Christophe Favergeon cd7ecea5a7 CMSIS-DSP: Corrected some failing f16 tests. 4 years ago
Christophe Favergeon 3976ce6959 CMSIS-DSP: Corrected wrong test pattern for fixed point division. 4 years ago
Christophe Favergeon 8092cc61f9 CMSIS-DSP: New MFCC Q15 and Q31
arm_cmplx_mag_q15 reworked to be more accurate but less efficient.

New function arm_cmplx_mag_fast_q15 introduced to retain previous
(less accurate) but faster behavior.

Improvement to Python wrapper to support the new functions.
4 years ago
Christophe Favergeon 99dc566e87 CMSIS-DSP: MVE versions of vlog q15 and q31 and PythonWrapper fix
PythonWrapper was no more building on windows due to a too long
link command line.

A temporary fix was made. But on long term the wrapper must be refactored
into submodules to allow to more easily add new functions.
4 years ago
Christophe Favergeon cd9ac529d6 CMSIS-DSP: Some small changes to thresholds used in test for Q15 convolution. 4 years ago
Christophe Favergeon 0597838b9f CMSIS-DSP: New f64 tests
Tests for : BasicMaths, ComplexMaths, Stats, FastMath
Filtering, Distances, Support.

Some tests are disabled because only a subset
of the functions has been converted to f64.
4 years ago
Christophe Favergeon 9674e00294 CMSIS-DSP: log f16 update 4 years ago
Christophe Favergeon 8fb55a90b7 CMSIS-DSP: Added MFCC F16
This first version is not very accurate due to problems with the log.
A coming commit will improve the log accuracy.

Issues #1305 and #1304 also corrected as part of this commit.
4 years ago
Christophe Favergeon 3d264cfabb CMSIS-DSP: MFCC F32
MFCC F32 implementation
MFCC F32 tests
MFCC F32 in Python wrapper
Python wrapper structure updated to support submodule like
cmsisdsp.mfcc and cmsisdsp.fixedpoint
PythonWrapper tests updated to use the new fixedpoint
cmsisdsp.mfcc is used to generate the mel filter, dct and window coefficients.
4 years ago