Commit Graph

106 Commits (90f5435c504168e092f2369226a4ab090bc3afac)

Author SHA1 Message Date
邓智豪 d7e6e9aef4 Style: 去除格式引起的编译Warnings 2 years ago
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 af5294db09 Revert some part of PR #95
Removed long doubles.
3 years ago
Christophe Favergeon e13bd5a664 Corrections to the documentation. 3 years ago
tfosdike a5048f6ab9
Fixed compiler warnings (#95)
Fixed shadowed variables in assembly macros for Cortex-M convolution
Fixed type promotions in _f64 matrix and transform code

Co-authored-by: Timothy Fosdike <tfosdike@redarc.com.au>
3 years ago
Christophe Favergeon 8b49478b1f Update to the Python wrapper
Corrected issue with RFFT APIs
Added some features to compute graph

Improved documentation related to RFFT
Changed how Python wrapper is built (to prepare fro future
evolution).
3 years ago
Christophe Favergeon bc9321d1aa Corrected typo in MFCC documentation for Q15 and Q31 (issue #87). 3 years ago
Richard Allen a8f4056f79
use 32-bit bitreversal loop index (#81)
With GCC 8.3.1:
arm_bitreversal_16 - saves 1 instruction
arm_bitreversal_64 - saves 5 instructions
3 years ago
Christophe Favergeon 3d1a7f7ff4 Improvement to the Python wrapper
Corrected issues with arm_fir_decimate and arm_fir_interpolate
Corrected issues with real FFTs in the wrapper
Added a customization option for the FIFO class in compute graph.
Added Python tests for the corrected functions.
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 e0bb1407f7 Improved documentation 3 years ago
Christophe Favergeon 5721f94b28 Improved documentation
Corrected issues #7 and #8
Removed duplicates
Started using Mathjax
3 years ago
Christophe Favergeon b665767f3e Removed duplicate Doxygen definitions. 3 years ago
Vladimir Marchenko 155759586a Updated Documentation to Doxygen 1.9.2 and new layout. 3 years ago
Christophe Favergeon 3f95fbca89 New repository for CMSIS-DSP 4 years ago
Christophe Favergeon d4fee7d427 CMSIS-DSP: Corrected typo in some compilation flags for CFFT F64 4 years ago
Johan Bengtsson 065e8351c3 DSP: Remove undefined behavior in post-increment/decrement read (#1443)
According to the C standard q15_t * and const q15_t * are not compatible
types which, among other things, imply that an object of type const
q15_t * can't be modified by writing to a q15_t ** or vice versa.
Programs doing this are undefined.

Because of this rule all programs using the functions read_q15x2_ia,
read_q15x2_da, read_q7x4_ia, or read_q7x4_da for reading data from an
array of constant elements will be undefined. To solve this it is not
enough to change the type of the function since this will give problems
when reading data from an array of non-const elements. To get a defined
solution I needed to switch from functions to macros to allow the
increment to be done in the original type of the pointer.
4 years ago
FabKlein 168d055297 CMSIS-DSP: Improved Helium CFFT Radix4 butterflies 4 years ago
Christophe Favergeon 6ab9125272 CMSIS-DSP: Add MFCC to SDFTools
Python and C++ nodes available.
New examples 5 and 6 are shwoing how to use MFCC in SDF in both cases.
4 years ago
Christophe Favergeon 9a5083c565 CMSIS-DSP: Additional fixes for issue #1328 4 years ago
Christophe Favergeon d26cd50388 CMSIS-DSP: Correcting issue #1328
Sign issue warnings
4 years ago
Thomas Törnblom 2a7714ced7 DSP: Cleanup of type mismatches (#1327)
The IAR compiler appears to provide more warnings about type
mismatches than the other compilers. This cleans a lot of them up.

Signed-off-by: TTornblom <thomas.tornblom@iar.com>
4 years ago
TTornblom 9b6b4fff80 DSP: Eliminate some non-standard C code
Cleaned out some non-standard C code, typeof() and using
"const" variables as constants.

Also added some initial IAR support.

Signed-off-by: TTornblom <thomas.tornblom@iar.com>
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 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
Christophe Favergeon 3879adccd7 CMSIS-DSP: Correcting issue 1244
warning "statement is unreachable"
4 years ago
Christophe Favergeon 5fac45cc96 CMSIS-DSP: Removed float promotion issues
Corrected some additional warnings when compiling with AC5 compiler.
Updated version numbers,
5 years ago
Christophe Favergeon ac7da660b7 CMSIS-DSP: Remove type punning in vector code and some compilation warnings. 5 years ago
Christophe Favergeon acaa70a62a CMSIS-DSP: Correcting issue #1182 5 years ago
Sun Yiming Z 915f074f46 Update arm_rfft_fast_f16.c 5 years ago
Sun Yiming Z a397d144ef Update arm_rfft_fast_f32.c 5 years ago
Christophe Favergeon d5ad8e995b CMSIS-DSP: Update copyright year and version numbers in comments. 5 years ago
FabKlein a509fa39d4 CMSIS-DSP: FFT bit reversal unrolling
Issue index update earlier, adding more distance with
           subsequent gather loads
           Added Out-of-place variants
5 years ago
Christophe Favergeon ebcecdfa93 CMSIS-DSP: Correction for issue #1130
Better control of the f16 build.
5 years ago
Christophe Favergeon 25a524baad CMSIS-DSP: Configuration UI for the build
The first lines of the script are explaining how to use it.
5 years ago
Christophe Favergeon 9c83f0ab0c CMSIS-DSP: API corrections in bitreversal_f16 5 years ago
Christophe Favergeon 9168382637 CMSIS-DSP: Moved f16 bitreversal code into a new file 5 years ago
Christophe Favergeon 7bb4b16d50 CMSIS-DSP: Correction to an f16 header include. 5 years ago
Christophe Favergeon 9a254bc926 CMSIS-DSP: Improvements for building with gcc on M55.
Solve most of f16 issues. But there are still some remaining
build issues with gcc10q4.

2 functions are reverting to scalar version when build with gcc on M55.
(Since Helium versions of those functions are not building).
5 years ago
Christophe Favergeon 4288cf4fec CMSIS-DSP: Some improvements to build Helium version with gcc.
Helium f16 disabled by default with gcc since there are a few remaining build issues.
5 years ago
Christophe Favergeon 43f79ca92b CMSIS-DSP: Improvements to Helium implementation of RFFT Q15 and Q31. 5 years ago
Lennart c080770065 Add missing if clause
to not build float16 code if the datatype is disabled
5 years ago
Christophe Favergeon 0bcb1384f2 CMSIS-DSP: More consistent use of the flag ARM_MATH_AUTOVECTORIZE 5 years ago
Christophe Favergeon 3d1e329f33 CMSIS-DSP: Improved build with MDK
Compilation flags to control code size can now be used with MDK build
and not only with the cmake one.
5 years ago
Christophe Favergeon 8d2fca6efe CMSIS-DSP: Removed compilation warning. 5 years ago
Christophe Favergeon 2b6d208557 CMSIS-DSP: Corrected issue in rfft f16 5 years ago
Christophe Favergeon 3752e622b8 CMSIS-DSP: Corrected issue in scalar arm_rfft_fast_f16 5 years ago
Christophe Favergeon 1b34e464ba CMSIS-DSP: Added new f16 tests 5 years ago
Christophe Favergeon d2d691cc23 CMSIS-DSP: Added f16 matrix functions 5 years ago