Classes | Macros | Typedefs | Enumerations | Functions
arm_math.h File Reference
#include "string.h"
#include "math.h"
Include dependency graph for arm_math.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  arm_bilinear_interp_instance_f32
 Instance structure for the floating-point bilinear interpolation function. More...
 
struct  arm_bilinear_interp_instance_q15
 Instance structure for the Q15 bilinear interpolation function. More...
 
struct  arm_bilinear_interp_instance_q31
 Instance structure for the Q31 bilinear interpolation function. More...
 
struct  arm_bilinear_interp_instance_q7
 Instance structure for the Q15 bilinear interpolation function. More...
 
struct  arm_biquad_cas_df1_32x64_ins_q31
 Instance structure for the high precision Q31 Biquad cascade filter. More...
 
struct  arm_biquad_cascade_df2T_instance_f32
 Instance structure for the floating-point transposed direct form II Biquad cascade filter. More...
 
struct  arm_biquad_cascade_df2T_instance_f64
 Instance structure for the floating-point transposed direct form II Biquad cascade filter. More...
 
struct  arm_biquad_cascade_stereo_df2T_instance_f32
 Instance structure for the floating-point transposed direct form II Biquad cascade filter. More...
 
struct  arm_biquad_casd_df1_inst_f32
 Instance structure for the floating-point Biquad cascade filter. More...
 
struct  arm_biquad_casd_df1_inst_q15
 Instance structure for the Q15 Biquad cascade filter. More...
 
struct  arm_biquad_casd_df1_inst_q31
 Instance structure for the Q31 Biquad cascade filter. More...
 
struct  arm_cfft_instance_f32
 Instance structure for the floating-point CFFT/CIFFT function. More...
 
struct  arm_cfft_instance_q15
 Instance structure for the fixed-point CFFT/CIFFT function. More...
 
struct  arm_cfft_instance_q31
 Instance structure for the fixed-point CFFT/CIFFT function. More...
 
struct  arm_cfft_radix2_instance_f32
 Instance structure for the floating-point CFFT/CIFFT function. More...
 
struct  arm_cfft_radix2_instance_q15
 Instance structure for the Q15 CFFT/CIFFT function. More...
 
struct  arm_cfft_radix2_instance_q31
 Instance structure for the Radix-2 Q31 CFFT/CIFFT function. More...
 
struct  arm_cfft_radix4_instance_f32
 Instance structure for the floating-point CFFT/CIFFT function. More...
 
struct  arm_cfft_radix4_instance_q15
 Instance structure for the Q15 CFFT/CIFFT function. More...
 
struct  arm_cfft_radix4_instance_q31
 Instance structure for the Q31 CFFT/CIFFT function. More...
 
struct  arm_dct4_instance_f32
 Instance structure for the floating-point DCT4/IDCT4 function. More...
 
struct  arm_dct4_instance_q15
 Instance structure for the Q15 DCT4/IDCT4 function. More...
 
struct  arm_dct4_instance_q31
 Instance structure for the Q31 DCT4/IDCT4 function. More...
 
struct  arm_fir_decimate_instance_f32
 Instance structure for the floating-point FIR decimator. More...
 
struct  arm_fir_decimate_instance_q15
 Instance structure for the Q15 FIR decimator. More...
 
struct  arm_fir_decimate_instance_q31
 Instance structure for the Q31 FIR decimator. More...
 
struct  arm_fir_instance_f32
 Instance structure for the floating-point FIR filter. More...
 
struct  arm_fir_instance_q15
 Instance structure for the Q15 FIR filter. More...
 
struct  arm_fir_instance_q31
 Instance structure for the Q31 FIR filter. More...
 
struct  arm_fir_instance_q7
 Instance structure for the Q7 FIR filter. More...
 
struct  arm_fir_interpolate_instance_f32
 Instance structure for the floating-point FIR interpolator. More...
 
struct  arm_fir_interpolate_instance_q15
 Instance structure for the Q15 FIR interpolator. More...
 
struct  arm_fir_interpolate_instance_q31
 Instance structure for the Q31 FIR interpolator. More...
 
struct  arm_fir_lattice_instance_f32
 Instance structure for the floating-point FIR lattice filter. More...
 
struct  arm_fir_lattice_instance_q15
 Instance structure for the Q15 FIR lattice filter. More...
 
struct  arm_fir_lattice_instance_q31
 Instance structure for the Q31 FIR lattice filter. More...
 
struct  arm_fir_sparse_instance_f32
 Instance structure for the floating-point sparse FIR filter. More...
 
struct  arm_fir_sparse_instance_q15
 Instance structure for the Q15 sparse FIR filter. More...
 
struct  arm_fir_sparse_instance_q31
 Instance structure for the Q31 sparse FIR filter. More...
 
struct  arm_fir_sparse_instance_q7
 Instance structure for the Q7 sparse FIR filter. More...
 
struct  arm_iir_lattice_instance_f32
 Instance structure for the floating-point IIR lattice filter. More...
 
struct  arm_iir_lattice_instance_q15
 Instance structure for the Q15 IIR lattice filter. More...
 
struct  arm_iir_lattice_instance_q31
 Instance structure for the Q31 IIR lattice filter. More...
 
struct  arm_linear_interp_instance_f32
 Instance structure for the floating-point Linear Interpolate function. More...
 
struct  arm_lms_instance_f32
 Instance structure for the floating-point LMS filter. More...
 
struct  arm_lms_instance_q15
 Instance structure for the Q15 LMS filter. More...
 
struct  arm_lms_instance_q31
 Instance structure for the Q31 LMS filter. More...
 
struct  arm_lms_norm_instance_f32
 Instance structure for the floating-point normalized LMS filter. More...
 
struct  arm_lms_norm_instance_q15
 Instance structure for the Q15 normalized LMS filter. More...
 
struct  arm_lms_norm_instance_q31
 Instance structure for the Q31 normalized LMS filter. More...
 
struct  arm_matrix_instance_f32
 Instance structure for the floating-point matrix structure. More...
 
struct  arm_matrix_instance_f64
 Instance structure for the floating-point matrix structure. More...
 
struct  arm_matrix_instance_q15
 Instance structure for the Q15 matrix structure. More...
 
struct  arm_matrix_instance_q31
 Instance structure for the Q31 matrix structure. More...
 
struct  arm_pid_instance_f32
 Instance structure for the floating-point PID Control. More...
 
struct  arm_pid_instance_q15
 Instance structure for the Q15 PID Control. More...
 
struct  arm_pid_instance_q31
 Instance structure for the Q31 PID Control. More...
 
struct  arm_rfft_fast_instance_f32
 Instance structure for the floating-point RFFT/RIFFT function. More...
 
struct  arm_rfft_instance_f32
 Instance structure for the floating-point RFFT/RIFFT function. More...
 
struct  arm_rfft_instance_q15
 Instance structure for the Q15 RFFT/RIFFT function. More...
 
struct  arm_rfft_instance_q31
 Instance structure for the Q31 RFFT/RIFFT function. More...
 

Macros

#define __CMSIS_GENERIC   /* disable NVIC and Systick functions */
 
#define __PACKq7(v0, v1, v2, v3)
 definition to pack four 8 bit values. More...
 
#define __SIMD32(addr)   (*(__SIMD32_TYPE **) & (addr))
 definition to read/write two 16 bit values. More...
 
#define __SIMD32_CONST(addr)   ((__SIMD32_TYPE *)(addr))
 
#define __SIMD64(addr)   (*(int64_t **) & (addr))
 
#define _SIMD32_OFFSET(addr)   (*(__SIMD32_TYPE *) (addr))
 
#define ALIGN4
 Macro for Unaligned Support. More...
 
#define CONTROLLER_Q31_SHIFT   (32 - 9)
 
#define DELTA_Q15   0x5
 
#define DELTA_Q31   (0x100)
 Macros required for reciprocal calculation in Normalized LMS. More...
 
#define FAST_MATH_Q15_SHIFT   (16 - 10)
 
#define FAST_MATH_Q31_SHIFT   (32 - 10)
 
#define FAST_MATH_TABLE_SIZE   512
 Macros required for SINE and COSINE Fast math approximations. More...
 
#define INDEX_MASK   0x0000003F
 
#define INPUT_SPACING   0xB60B61
 Macros required for SINE and COSINE Controller functions. More...
 
#define mult_32x32_keep32(a, x, y)   a = (q31_t) (((q63_t) x * y ) >> 32)
 
#define mult_32x32_keep32_R(a, x, y)   a = (q31_t) (((q63_t) x * y + 0x80000000LL ) >> 32)
 
#define multAcc_32x32_keep32(a, x, y)   a += (q31_t) (((q63_t) x * y) >> 32)
 
#define multAcc_32x32_keep32_R(a, x, y)   a = (q31_t) (((((q63_t) a) << 32) + ((q63_t) x * y) + 0x80000000LL ) >> 32)
 
#define multSub_32x32_keep32(a, x, y)   a -= (q31_t) (((q63_t) x * y) >> 32)
 
#define multSub_32x32_keep32_R(a, x, y)   a = (q31_t) (((((q63_t) a) << 32) - ((q63_t) x * y) + 0x80000000LL ) >> 32)
 
#define PI   3.14159265358979f
 
#define TABLE_SIZE   256
 
#define TABLE_SPACING_Q15   0x80
 
#define TABLE_SPACING_Q31   0x400000
 

Typedefs

typedef float float32_t
 32-bit floating-point type definition. More...
 
typedef double float64_t
 64-bit floating-point type definition. More...
 
typedef int16_t q15_t
 16-bit fractional data type in 1.15 format. More...
 
typedef int32_t q31_t
 32-bit fractional data type in 1.31 format. More...
 
typedef int64_t q63_t
 64-bit fractional data type in 1.63 format. More...
 
typedef int8_t q7_t
 8-bit fractional data type in 1.7 format. More...
 

Enumerations

enum  arm_status {
  ARM_MATH_SUCCESS = 0, ARM_MATH_ARGUMENT_ERROR = -1, ARM_MATH_LENGTH_ERROR = -2, ARM_MATH_SIZE_MISMATCH = -3,
  ARM_MATH_NANINF = -4, ARM_MATH_SINGULAR = -5, ARM_MATH_TEST_FAILURE = -6
}
 Error status returned by some functions in the library. More...
 

Functions

void arm_abs_f32 (float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Floating-point vector absolute value. More...
 
void arm_abs_q15 (q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Q15 vector absolute value. More...
 
void arm_abs_q31 (q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Q31 vector absolute value. More...
 
void arm_abs_q7 (q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Q7 vector absolute value. More...
 
void arm_add_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
 Floating-point vector addition. More...
 
void arm_add_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
 Q15 vector addition. More...
 
void arm_add_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
 Q31 vector addition. More...
 
void arm_add_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
 Q7 vector addition. More...
 
static __INLINE float32_t arm_bilinear_interp_f32 (const arm_bilinear_interp_instance_f32 *S, float32_t X, float32_t Y)
 Floating-point bilinear interpolation. More...
 
static __INLINE q15_t arm_bilinear_interp_q15 (arm_bilinear_interp_instance_q15 *S, q31_t X, q31_t Y)
 Q15 bilinear interpolation. More...
 
static __INLINE q31_t arm_bilinear_interp_q31 (arm_bilinear_interp_instance_q31 *S, q31_t X, q31_t Y)
 Q31 bilinear interpolation. More...
 
static __INLINE q7_t arm_bilinear_interp_q7 (arm_bilinear_interp_instance_q7 *S, q31_t X, q31_t Y)
 Q7 bilinear interpolation. More...
 
void arm_biquad_cas_df1_32x64_init_q31 (arm_biquad_cas_df1_32x64_ins_q31 *S, uint8_t numStages, q31_t *pCoeffs, q63_t *pState, uint8_t postShift)
 
void arm_biquad_cas_df1_32x64_q31 (const arm_biquad_cas_df1_32x64_ins_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 
void arm_biquad_cascade_df1_f32 (const arm_biquad_casd_df1_inst_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point Biquad cascade filter. More...
 
void arm_biquad_cascade_df1_fast_q15 (const arm_biquad_casd_df1_inst_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Fast but less precise processing function for the Q15 Biquad cascade filter for Cortex-M3 and Cortex-M4. More...
 
void arm_biquad_cascade_df1_fast_q31 (const arm_biquad_casd_df1_inst_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Fast but less precise processing function for the Q31 Biquad cascade filter for Cortex-M3 and Cortex-M4. More...
 
void arm_biquad_cascade_df1_init_f32 (arm_biquad_casd_df1_inst_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *pState)
 Initialization function for the floating-point Biquad cascade filter. More...
 
void arm_biquad_cascade_df1_init_q15 (arm_biquad_casd_df1_inst_q15 *S, uint8_t numStages, q15_t *pCoeffs, q15_t *pState, int8_t postShift)
 Initialization function for the Q15 Biquad cascade filter. More...
 
void arm_biquad_cascade_df1_init_q31 (arm_biquad_casd_df1_inst_q31 *S, uint8_t numStages, q31_t *pCoeffs, q31_t *pState, int8_t postShift)
 Initialization function for the Q31 Biquad cascade filter. More...
 
void arm_biquad_cascade_df1_q15 (const arm_biquad_casd_df1_inst_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 Biquad cascade filter. More...
 
void arm_biquad_cascade_df1_q31 (const arm_biquad_casd_df1_inst_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 Biquad cascade filter. More...
 
void arm_biquad_cascade_df2T_f32 (const arm_biquad_cascade_df2T_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void arm_biquad_cascade_df2T_f64 (const arm_biquad_cascade_df2T_instance_f64 *S, float64_t *pSrc, float64_t *pDst, uint32_t blockSize)
 Processing function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void arm_biquad_cascade_df2T_init_f32 (arm_biquad_cascade_df2T_instance_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *pState)
 Initialization function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void arm_biquad_cascade_df2T_init_f64 (arm_biquad_cascade_df2T_instance_f64 *S, uint8_t numStages, float64_t *pCoeffs, float64_t *pState)
 Initialization function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void arm_biquad_cascade_stereo_df2T_f32 (const arm_biquad_cascade_stereo_df2T_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point transposed direct form II Biquad cascade filter. 2 channels. More...
 
void arm_biquad_cascade_stereo_df2T_init_f32 (arm_biquad_cascade_stereo_df2T_instance_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *pState)
 Initialization function for the floating-point transposed direct form II Biquad cascade filter. More...
 
void arm_cfft_f32 (const arm_cfft_instance_f32 *S, float32_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
 
void arm_cfft_q15 (const arm_cfft_instance_q15 *S, q15_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
 
void arm_cfft_q31 (const arm_cfft_instance_q31 *S, q31_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
 
void arm_cfft_radix2_f32 (const arm_cfft_radix2_instance_f32 *S, float32_t *pSrc)
 
arm_status arm_cfft_radix2_init_f32 (arm_cfft_radix2_instance_f32 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
 
arm_status arm_cfft_radix2_init_q15 (arm_cfft_radix2_instance_q15 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
 
arm_status arm_cfft_radix2_init_q31 (arm_cfft_radix2_instance_q31 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
 
void arm_cfft_radix2_q15 (const arm_cfft_radix2_instance_q15 *S, q15_t *pSrc)
 
void arm_cfft_radix2_q31 (const arm_cfft_radix2_instance_q31 *S, q31_t *pSrc)
 
void arm_cfft_radix4_f32 (const arm_cfft_radix4_instance_f32 *S, float32_t *pSrc)
 
arm_status arm_cfft_radix4_init_f32 (arm_cfft_radix4_instance_f32 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
 
arm_status arm_cfft_radix4_init_q15 (arm_cfft_radix4_instance_q15 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
 
arm_status arm_cfft_radix4_init_q31 (arm_cfft_radix4_instance_q31 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
 
void arm_cfft_radix4_q15 (const arm_cfft_radix4_instance_q15 *S, q15_t *pSrc)
 
void arm_cfft_radix4_q31 (const arm_cfft_radix4_instance_q31 *S, q31_t *pSrc)
 
static __INLINE void arm_circularRead_f32 (int32_t *circBuffer, int32_t L, int32_t *readOffset, int32_t bufferInc, int32_t *dst, int32_t *dst_base, int32_t dst_length, int32_t dstInc, uint32_t blockSize)
 floating-point Circular Read function. More...
 
static __INLINE void arm_circularRead_q15 (q15_t *circBuffer, int32_t L, int32_t *readOffset, int32_t bufferInc, q15_t *dst, q15_t *dst_base, int32_t dst_length, int32_t dstInc, uint32_t blockSize)
 Q15 Circular Read function. More...
 
static __INLINE void arm_circularRead_q7 (q7_t *circBuffer, int32_t L, int32_t *readOffset, int32_t bufferInc, q7_t *dst, q7_t *dst_base, int32_t dst_length, int32_t dstInc, uint32_t blockSize)
 Q7 Circular Read function. More...
 
static __INLINE void arm_circularWrite_f32 (int32_t *circBuffer, int32_t L, uint16_t *writeOffset, int32_t bufferInc, const int32_t *src, int32_t srcInc, uint32_t blockSize)
 floating-point Circular write function. More...
 
static __INLINE void arm_circularWrite_q15 (q15_t *circBuffer, int32_t L, uint16_t *writeOffset, int32_t bufferInc, const q15_t *src, int32_t srcInc, uint32_t blockSize)
 Q15 Circular write function. More...
 
static __INLINE void arm_circularWrite_q7 (q7_t *circBuffer, int32_t L, uint16_t *writeOffset, int32_t bufferInc, const q7_t *src, int32_t srcInc, uint32_t blockSize)
 Q7 Circular write function. More...
 
static __INLINE void arm_clarke_f32 (float32_t Ia, float32_t Ib, float32_t *pIalpha, float32_t *pIbeta)
 Floating-point Clarke transform. More...
 
static __INLINE void arm_clarke_q31 (q31_t Ia, q31_t Ib, q31_t *pIalpha, q31_t *pIbeta)
 Clarke transform for Q31 version. More...
 
void arm_cmplx_conj_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
 Floating-point complex conjugate. More...
 
void arm_cmplx_conj_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
 Q15 complex conjugate. More...
 
void arm_cmplx_conj_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
 Q31 complex conjugate. More...
 
void arm_cmplx_dot_prod_f32 (float32_t *pSrcA, float32_t *pSrcB, uint32_t numSamples, float32_t *realResult, float32_t *imagResult)
 Floating-point complex dot product. More...
 
void arm_cmplx_dot_prod_q15 (q15_t *pSrcA, q15_t *pSrcB, uint32_t numSamples, q31_t *realResult, q31_t *imagResult)
 Q15 complex dot product. More...
 
void arm_cmplx_dot_prod_q31 (q31_t *pSrcA, q31_t *pSrcB, uint32_t numSamples, q63_t *realResult, q63_t *imagResult)
 Q31 complex dot product. More...
 
void arm_cmplx_mag_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
 Floating-point complex magnitude. More...
 
void arm_cmplx_mag_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
 Q15 complex magnitude. More...
 
void arm_cmplx_mag_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
 Q31 complex magnitude. More...
 
void arm_cmplx_mag_squared_f32 (float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
 Floating-point complex magnitude squared. More...
 
void arm_cmplx_mag_squared_q15 (q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
 Q15 complex magnitude squared. More...
 
void arm_cmplx_mag_squared_q31 (q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
 Q31 complex magnitude squared. More...
 
void arm_cmplx_mult_cmplx_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t numSamples)
 Floating-point complex-by-complex multiplication. More...
 
void arm_cmplx_mult_cmplx_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t numSamples)
 Q15 complex-by-complex multiplication. More...
 
void arm_cmplx_mult_cmplx_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t numSamples)
 Q31 complex-by-complex multiplication. More...
 
void arm_cmplx_mult_real_f32 (float32_t *pSrcCmplx, float32_t *pSrcReal, float32_t *pCmplxDst, uint32_t numSamples)
 Floating-point complex-by-real multiplication. More...
 
void arm_cmplx_mult_real_q15 (q15_t *pSrcCmplx, q15_t *pSrcReal, q15_t *pCmplxDst, uint32_t numSamples)
 Q15 complex-by-real multiplication. More...
 
void arm_cmplx_mult_real_q31 (q31_t *pSrcCmplx, q31_t *pSrcReal, q31_t *pCmplxDst, uint32_t numSamples)
 Q31 complex-by-real multiplication. More...
 
void arm_conv_f32 (float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst)
 Convolution of floating-point sequences. More...
 
void arm_conv_fast_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
 Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4. More...
 
void arm_conv_fast_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst)
 Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4. More...
 
void arm_conv_fast_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
 Convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4. More...
 
void arm_conv_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
 Convolution of Q15 sequences. More...
 
void arm_conv_opt_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
 Convolution of Q7 sequences. More...
 
arm_status arm_conv_partial_f32 (float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 Partial convolution of floating-point sequences. More...
 
arm_status arm_conv_partial_fast_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, uint32_t firstIndex, uint32_t numPoints, q15_t *pScratch1, q15_t *pScratch2)
 Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4. More...
 
arm_status arm_conv_partial_fast_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4. More...
 
arm_status arm_conv_partial_fast_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 Partial convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4. More...
 
arm_status arm_conv_partial_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, uint32_t firstIndex, uint32_t numPoints, q15_t *pScratch1, q15_t *pScratch2)
 Partial convolution of Q15 sequences. More...
 
arm_status arm_conv_partial_opt_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst, uint32_t firstIndex, uint32_t numPoints, q15_t *pScratch1, q15_t *pScratch2)
 Partial convolution of Q7 sequences. More...
 
arm_status arm_conv_partial_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 Partial convolution of Q15 sequences. More...
 
arm_status arm_conv_partial_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 Partial convolution of Q31 sequences. More...
 
arm_status arm_conv_partial_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst, uint32_t firstIndex, uint32_t numPoints)
 Partial convolution of Q7 sequences. More...
 
void arm_conv_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst)
 Convolution of Q15 sequences. More...
 
void arm_conv_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
 Convolution of Q31 sequences. More...
 
void arm_conv_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst)
 Convolution of Q7 sequences. More...
 
void arm_copy_f32 (float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Copies the elements of a floating-point vector. More...
 
void arm_copy_q15 (q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Copies the elements of a Q15 vector. More...
 
void arm_copy_q31 (q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Copies the elements of a Q31 vector. More...
 
void arm_copy_q7 (q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Copies the elements of a Q7 vector. More...
 
void arm_correlate_f32 (float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst)
 Correlation of floating-point sequences. More...
 
void arm_correlate_fast_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch)
 Correlation of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4. More...
 
void arm_correlate_fast_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst)
 Correlation of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4. More...
 
void arm_correlate_fast_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
 Correlation of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4. More...
 
void arm_correlate_opt_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst, q15_t *pScratch)
 Correlation of Q15 sequences. More...
 
void arm_correlate_opt_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst, q15_t *pScratch1, q15_t *pScratch2)
 Correlation of Q7 sequences. More...
 
void arm_correlate_q15 (q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst)
 Correlation of Q15 sequences. More...
 
void arm_correlate_q31 (q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
 Correlation of Q31 sequences. More...
 
void arm_correlate_q7 (q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst)
 Correlation of Q7 sequences. More...
 
float32_t arm_cos_f32 (float32_t x)
 Fast approximation to the trigonometric cosine function for floating-point data. More...
 
q15_t arm_cos_q15 (q15_t x)
 Fast approximation to the trigonometric cosine function for Q15 data. More...
 
q31_t arm_cos_q31 (q31_t x)
 Fast approximation to the trigonometric cosine function for Q31 data. More...
 
void arm_dct4_f32 (const arm_dct4_instance_f32 *S, float32_t *pState, float32_t *pInlineBuffer)
 Processing function for the floating-point DCT4/IDCT4. More...
 
arm_status arm_dct4_init_f32 (arm_dct4_instance_f32 *S, arm_rfft_instance_f32 *S_RFFT, arm_cfft_radix4_instance_f32 *S_CFFT, uint16_t N, uint16_t Nby2, float32_t normalize)
 Initialization function for the floating-point DCT4/IDCT4. More...
 
arm_status arm_dct4_init_q15 (arm_dct4_instance_q15 *S, arm_rfft_instance_q15 *S_RFFT, arm_cfft_radix4_instance_q15 *S_CFFT, uint16_t N, uint16_t Nby2, q15_t normalize)
 Initialization function for the Q15 DCT4/IDCT4. More...
 
arm_status arm_dct4_init_q31 (arm_dct4_instance_q31 *S, arm_rfft_instance_q31 *S_RFFT, arm_cfft_radix4_instance_q31 *S_CFFT, uint16_t N, uint16_t Nby2, q31_t normalize)
 Initialization function for the Q31 DCT4/IDCT4. More...
 
void arm_dct4_q15 (const arm_dct4_instance_q15 *S, q15_t *pState, q15_t *pInlineBuffer)
 Processing function for the Q15 DCT4/IDCT4. More...
 
void arm_dct4_q31 (const arm_dct4_instance_q31 *S, q31_t *pState, q31_t *pInlineBuffer)
 Processing function for the Q31 DCT4/IDCT4. More...
 
void arm_dot_prod_f32 (float32_t *pSrcA, float32_t *pSrcB, uint32_t blockSize, float32_t *result)
 Dot product of floating-point vectors. More...
 
void arm_dot_prod_q15 (q15_t *pSrcA, q15_t *pSrcB, uint32_t blockSize, q63_t *result)
 Dot product of Q15 vectors. More...
 
void arm_dot_prod_q31 (q31_t *pSrcA, q31_t *pSrcB, uint32_t blockSize, q63_t *result)
 Dot product of Q31 vectors. More...
 
void arm_dot_prod_q7 (q7_t *pSrcA, q7_t *pSrcB, uint32_t blockSize, q31_t *result)
 Dot product of Q7 vectors. More...
 
void arm_fill_f32 (float32_t value, float32_t *pDst, uint32_t blockSize)
 Fills a constant value into a floating-point vector. More...
 
void arm_fill_q15 (q15_t value, q15_t *pDst, uint32_t blockSize)
 Fills a constant value into a Q15 vector. More...
 
void arm_fill_q31 (q31_t value, q31_t *pDst, uint32_t blockSize)
 Fills a constant value into a Q31 vector. More...
 
void arm_fill_q7 (q7_t value, q7_t *pDst, uint32_t blockSize)
 Fills a constant value into a Q7 vector. More...
 
void arm_fir_decimate_f32 (const arm_fir_decimate_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point FIR decimator. More...
 
void arm_fir_decimate_fast_q15 (const arm_fir_decimate_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 FIR decimator (fast variant) for Cortex-M3 and Cortex-M4. More...
 
void arm_fir_decimate_fast_q31 (arm_fir_decimate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 FIR decimator (fast variant) for Cortex-M3 and Cortex-M4. More...
 
arm_status arm_fir_decimate_init_f32 (arm_fir_decimate_instance_f32 *S, uint16_t numTaps, uint8_t M, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize)
 Initialization function for the floating-point FIR decimator. More...
 
arm_status arm_fir_decimate_init_q15 (arm_fir_decimate_instance_q15 *S, uint16_t numTaps, uint8_t M, q15_t *pCoeffs, q15_t *pState, uint32_t blockSize)
 Initialization function for the Q15 FIR decimator. More...
 
arm_status arm_fir_decimate_init_q31 (arm_fir_decimate_instance_q31 *S, uint16_t numTaps, uint8_t M, q31_t *pCoeffs, q31_t *pState, uint32_t blockSize)
 Initialization function for the Q31 FIR decimator. More...
 
void arm_fir_decimate_q15 (const arm_fir_decimate_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 FIR decimator. More...
 
void arm_fir_decimate_q31 (const arm_fir_decimate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 FIR decimator. More...
 
void arm_fir_f32 (const arm_fir_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point FIR filter. More...
 
void arm_fir_fast_q15 (const arm_fir_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the fast Q15 FIR filter for Cortex-M3 and Cortex-M4. More...
 
void arm_fir_fast_q31 (const arm_fir_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the fast Q31 FIR filter for Cortex-M3 and Cortex-M4. More...
 
void arm_fir_init_f32 (arm_fir_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize)
 Initialization function for the floating-point FIR filter. More...
 
arm_status arm_fir_init_q15 (arm_fir_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, uint32_t blockSize)
 Initialization function for the Q15 FIR filter. More...
 
void arm_fir_init_q31 (arm_fir_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, uint32_t blockSize)
 Initialization function for the Q31 FIR filter. More...
 
void arm_fir_init_q7 (arm_fir_instance_q7 *S, uint16_t numTaps, q7_t *pCoeffs, q7_t *pState, uint32_t blockSize)
 Initialization function for the Q7 FIR filter. More...
 
void arm_fir_interpolate_f32 (const arm_fir_interpolate_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point FIR interpolator. More...
 
arm_status arm_fir_interpolate_init_f32 (arm_fir_interpolate_instance_f32 *S, uint8_t L, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize)
 Initialization function for the floating-point FIR interpolator. More...
 
arm_status arm_fir_interpolate_init_q15 (arm_fir_interpolate_instance_q15 *S, uint8_t L, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, uint32_t blockSize)
 Initialization function for the Q15 FIR interpolator. More...
 
arm_status arm_fir_interpolate_init_q31 (arm_fir_interpolate_instance_q31 *S, uint8_t L, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, uint32_t blockSize)
 Initialization function for the Q31 FIR interpolator. More...
 
void arm_fir_interpolate_q15 (const arm_fir_interpolate_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 FIR interpolator. More...
 
void arm_fir_interpolate_q31 (const arm_fir_interpolate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 FIR interpolator. More...
 
void arm_fir_lattice_f32 (const arm_fir_lattice_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point FIR lattice filter. More...
 
void arm_fir_lattice_init_f32 (arm_fir_lattice_instance_f32 *S, uint16_t numStages, float32_t *pCoeffs, float32_t *pState)
 Initialization function for the floating-point FIR lattice filter. More...
 
void arm_fir_lattice_init_q15 (arm_fir_lattice_instance_q15 *S, uint16_t numStages, q15_t *pCoeffs, q15_t *pState)
 Initialization function for the Q15 FIR lattice filter. More...
 
void arm_fir_lattice_init_q31 (arm_fir_lattice_instance_q31 *S, uint16_t numStages, q31_t *pCoeffs, q31_t *pState)
 Initialization function for the Q31 FIR lattice filter. More...
 
void arm_fir_lattice_q15 (const arm_fir_lattice_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 FIR lattice filter. More...
 
void arm_fir_lattice_q31 (const arm_fir_lattice_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 FIR lattice filter. More...
 
void arm_fir_q15 (const arm_fir_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 FIR filter. More...
 
void arm_fir_q31 (const arm_fir_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 FIR filter. More...
 
void arm_fir_q7 (const arm_fir_instance_q7 *S, q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Processing function for the Q7 FIR filter. More...
 
void arm_fir_sparse_f32 (arm_fir_sparse_instance_f32 *S, float32_t *pSrc, float32_t *pDst, float32_t *pScratchIn, uint32_t blockSize)
 Processing function for the floating-point sparse FIR filter. More...
 
void arm_fir_sparse_init_f32 (arm_fir_sparse_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
 Initialization function for the floating-point sparse FIR filter. More...
 
void arm_fir_sparse_init_q15 (arm_fir_sparse_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
 Initialization function for the Q15 sparse FIR filter. More...
 
void arm_fir_sparse_init_q31 (arm_fir_sparse_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
 Initialization function for the Q31 sparse FIR filter. More...
 
void arm_fir_sparse_init_q7 (arm_fir_sparse_instance_q7 *S, uint16_t numTaps, q7_t *pCoeffs, q7_t *pState, int32_t *pTapDelay, uint16_t maxDelay, uint32_t blockSize)
 Initialization function for the Q7 sparse FIR filter. More...
 
void arm_fir_sparse_q15 (arm_fir_sparse_instance_q15 *S, q15_t *pSrc, q15_t *pDst, q15_t *pScratchIn, q31_t *pScratchOut, uint32_t blockSize)
 Processing function for the Q15 sparse FIR filter. More...
 
void arm_fir_sparse_q31 (arm_fir_sparse_instance_q31 *S, q31_t *pSrc, q31_t *pDst, q31_t *pScratchIn, uint32_t blockSize)
 Processing function for the Q31 sparse FIR filter. More...
 
void arm_fir_sparse_q7 (arm_fir_sparse_instance_q7 *S, q7_t *pSrc, q7_t *pDst, q7_t *pScratchIn, q31_t *pScratchOut, uint32_t blockSize)
 Processing function for the Q7 sparse FIR filter. More...
 
void arm_float_to_q15 (float32_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to Q15 vector. More...
 
void arm_float_to_q31 (float32_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to Q31 vector. More...
 
void arm_float_to_q7 (float32_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to Q7 vector. More...
 
void arm_iir_lattice_f32 (const arm_iir_lattice_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Processing function for the floating-point IIR lattice filter. More...
 
void arm_iir_lattice_init_f32 (arm_iir_lattice_instance_f32 *S, uint16_t numStages, float32_t *pkCoeffs, float32_t *pvCoeffs, float32_t *pState, uint32_t blockSize)
 Initialization function for the floating-point IIR lattice filter. More...
 
void arm_iir_lattice_init_q15 (arm_iir_lattice_instance_q15 *S, uint16_t numStages, q15_t *pkCoeffs, q15_t *pvCoeffs, q15_t *pState, uint32_t blockSize)
 Initialization function for the Q15 IIR lattice filter. More...
 
void arm_iir_lattice_init_q31 (arm_iir_lattice_instance_q31 *S, uint16_t numStages, q31_t *pkCoeffs, q31_t *pvCoeffs, q31_t *pState, uint32_t blockSize)
 Initialization function for the Q31 IIR lattice filter. More...
 
void arm_iir_lattice_q15 (const arm_iir_lattice_instance_q15 *S, q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Processing function for the Q15 IIR lattice filter. More...
 
void arm_iir_lattice_q31 (const arm_iir_lattice_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Processing function for the Q31 IIR lattice filter. More...
 
static __INLINE void arm_inv_clarke_f32 (float32_t Ialpha, float32_t Ibeta, float32_t *pIa, float32_t *pIb)
 Floating-point Inverse Clarke transform. More...
 
static __INLINE void arm_inv_clarke_q31 (q31_t Ialpha, q31_t Ibeta, q31_t *pIa, q31_t *pIb)
 Inverse Clarke transform for Q31 version. More...
 
static __INLINE void arm_inv_park_f32 (float32_t Id, float32_t Iq, float32_t *pIalpha, float32_t *pIbeta, float32_t sinVal, float32_t cosVal)
 Floating-point Inverse Park transform. More...
 
static __INLINE void arm_inv_park_q31 (q31_t Id, q31_t Iq, q31_t *pIalpha, q31_t *pIbeta, q31_t sinVal, q31_t cosVal)
 Inverse Park transform for Q31 version. More...
 
static __INLINE float32_t arm_linear_interp_f32 (arm_linear_interp_instance_f32 *S, float32_t x)
 Process function for the floating-point Linear Interpolation Function. More...
 
static __INLINE q15_t arm_linear_interp_q15 (q15_t *pYData, q31_t x, uint32_t nValues)
 Process function for the Q15 Linear Interpolation Function. More...
 
static __INLINE q31_t arm_linear_interp_q31 (q31_t *pYData, q31_t x, uint32_t nValues)
 Process function for the Q31 Linear Interpolation Function. More...
 
static __INLINE q7_t arm_linear_interp_q7 (q7_t *pYData, q31_t x, uint32_t nValues)
 Process function for the Q7 Linear Interpolation Function. More...
 
void arm_lms_f32 (const arm_lms_instance_f32 *S, float32_t *pSrc, float32_t *pRef, float32_t *pOut, float32_t *pErr, uint32_t blockSize)
 Processing function for floating-point LMS filter. More...
 
void arm_lms_init_f32 (arm_lms_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, float32_t mu, uint32_t blockSize)
 Initialization function for floating-point LMS filter. More...
 
void arm_lms_init_q15 (arm_lms_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, q15_t mu, uint32_t blockSize, uint32_t postShift)
 Initialization function for the Q15 LMS filter. More...
 
void arm_lms_init_q31 (arm_lms_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, q31_t mu, uint32_t blockSize, uint32_t postShift)
 Initialization function for Q31 LMS filter. More...
 
void arm_lms_norm_f32 (arm_lms_norm_instance_f32 *S, float32_t *pSrc, float32_t *pRef, float32_t *pOut, float32_t *pErr, uint32_t blockSize)
 Processing function for floating-point normalized LMS filter. More...
 
void arm_lms_norm_init_f32 (arm_lms_norm_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, float32_t mu, uint32_t blockSize)
 Initialization function for floating-point normalized LMS filter. More...
 
void arm_lms_norm_init_q15 (arm_lms_norm_instance_q15 *S, uint16_t numTaps, q15_t *pCoeffs, q15_t *pState, q15_t mu, uint32_t blockSize, uint8_t postShift)
 Initialization function for Q15 normalized LMS filter. More...
 
void arm_lms_norm_init_q31 (arm_lms_norm_instance_q31 *S, uint16_t numTaps, q31_t *pCoeffs, q31_t *pState, q31_t mu, uint32_t blockSize, uint8_t postShift)
 Initialization function for Q31 normalized LMS filter. More...
 
void arm_lms_norm_q15 (arm_lms_norm_instance_q15 *S, q15_t *pSrc, q15_t *pRef, q15_t *pOut, q15_t *pErr, uint32_t blockSize)
 Processing function for Q15 normalized LMS filter. More...
 
void arm_lms_norm_q31 (arm_lms_norm_instance_q31 *S, q31_t *pSrc, q31_t *pRef, q31_t *pOut, q31_t *pErr, uint32_t blockSize)
 Processing function for Q31 normalized LMS filter. More...
 
void arm_lms_q15 (const arm_lms_instance_q15 *S, q15_t *pSrc, q15_t *pRef, q15_t *pOut, q15_t *pErr, uint32_t blockSize)
 Processing function for Q15 LMS filter. More...
 
void arm_lms_q31 (const arm_lms_instance_q31 *S, q31_t *pSrc, q31_t *pRef, q31_t *pOut, q31_t *pErr, uint32_t blockSize)
 Processing function for Q31 LMS filter. More...
 
arm_status arm_mat_add_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst)
 Floating-point matrix addition. More...
 
arm_status arm_mat_add_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst)
 Q15 matrix addition. More...
 
arm_status arm_mat_add_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
 Q31 matrix addition. More...
 
arm_status arm_mat_cmplx_mult_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst)
 Floating-point, complex, matrix multiplication. More...
 
arm_status arm_mat_cmplx_mult_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst, q15_t *pScratch)
 Q15, complex, matrix multiplication. More...
 
arm_status arm_mat_cmplx_mult_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
 Q31, complex, matrix multiplication. More...
 
void arm_mat_init_f32 (arm_matrix_instance_f32 *S, uint16_t nRows, uint16_t nColumns, float32_t *pData)
 Floating-point matrix initialization. More...
 
void arm_mat_init_q15 (arm_matrix_instance_q15 *S, uint16_t nRows, uint16_t nColumns, q15_t *pData)
 Q15 matrix initialization. More...
 
void arm_mat_init_q31 (arm_matrix_instance_q31 *S, uint16_t nRows, uint16_t nColumns, q31_t *pData)
 Q31 matrix initialization. More...
 
arm_status arm_mat_inverse_f32 (const arm_matrix_instance_f32 *src, arm_matrix_instance_f32 *dst)
 Floating-point matrix inverse. More...
 
arm_status arm_mat_inverse_f64 (const arm_matrix_instance_f64 *src, arm_matrix_instance_f64 *dst)
 Floating-point matrix inverse. More...
 
arm_status arm_mat_mult_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst)
 Floating-point matrix multiplication. More...
 
arm_status arm_mat_mult_fast_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst, q15_t *pState)
 Q15 matrix multiplication (fast variant) for Cortex-M3 and Cortex-M4. More...
 
arm_status arm_mat_mult_fast_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
 Q31 matrix multiplication (fast variant) for Cortex-M3 and Cortex-M4. More...
 
arm_status arm_mat_mult_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst, q15_t *pState)
 Q15 matrix multiplication. More...
 
arm_status arm_mat_mult_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
 Q31 matrix multiplication. More...
 
arm_status arm_mat_scale_f32 (const arm_matrix_instance_f32 *pSrc, float32_t scale, arm_matrix_instance_f32 *pDst)
 Floating-point matrix scaling. More...
 
arm_status arm_mat_scale_q15 (const arm_matrix_instance_q15 *pSrc, q15_t scaleFract, int32_t shift, arm_matrix_instance_q15 *pDst)
 Q15 matrix scaling. More...
 
arm_status arm_mat_scale_q31 (const arm_matrix_instance_q31 *pSrc, q31_t scaleFract, int32_t shift, arm_matrix_instance_q31 *pDst)
 Q31 matrix scaling. More...
 
arm_status arm_mat_sub_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst)
 Floating-point matrix subtraction. More...
 
arm_status arm_mat_sub_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst)
 Q15 matrix subtraction. More...
 
arm_status arm_mat_sub_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
 Q31 matrix subtraction. More...
 
arm_status arm_mat_trans_f32 (const arm_matrix_instance_f32 *pSrc, arm_matrix_instance_f32 *pDst)
 Floating-point matrix transpose. More...
 
arm_status arm_mat_trans_q15 (const arm_matrix_instance_q15 *pSrc, arm_matrix_instance_q15 *pDst)
 Q15 matrix transpose. More...
 
arm_status arm_mat_trans_q31 (const arm_matrix_instance_q31 *pSrc, arm_matrix_instance_q31 *pDst)
 Q31 matrix transpose. More...
 
void arm_max_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult, uint32_t *pIndex)
 Maximum value of a floating-point vector. More...
 
void arm_max_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult, uint32_t *pIndex)
 Maximum value of a Q15 vector. More...
 
void arm_max_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult, uint32_t *pIndex)
 Maximum value of a Q31 vector. More...
 
void arm_max_q7 (q7_t *pSrc, uint32_t blockSize, q7_t *pResult, uint32_t *pIndex)
 Maximum value of a Q7 vector. More...
 
void arm_mean_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 Mean value of a floating-point vector. More...
 
void arm_mean_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
 Mean value of a Q15 vector. More...
 
void arm_mean_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Mean value of a Q31 vector. More...
 
void arm_mean_q7 (q7_t *pSrc, uint32_t blockSize, q7_t *pResult)
 Mean value of a Q7 vector. More...
 
void arm_min_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult, uint32_t *pIndex)
 Minimum value of a floating-point vector. More...
 
void arm_min_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult, uint32_t *pIndex)
 Minimum value of a Q15 vector. More...
 
void arm_min_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult, uint32_t *pIndex)
 Minimum value of a Q31 vector. More...
 
void arm_min_q7 (q7_t *pSrc, uint32_t blockSize, q7_t *result, uint32_t *index)
 Minimum value of a Q7 vector. More...
 
void arm_mult_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
 Floating-point vector multiplication. More...
 
void arm_mult_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
 Q15 vector multiplication. More...
 
void arm_mult_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
 Q31 vector multiplication. More...
 
void arm_mult_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
 Q7 vector multiplication. More...
 
void arm_negate_f32 (float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Negates the elements of a floating-point vector. More...
 
void arm_negate_q15 (q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Negates the elements of a Q15 vector. More...
 
void arm_negate_q31 (q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Negates the elements of a Q31 vector. More...
 
void arm_negate_q7 (q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Negates the elements of a Q7 vector. More...
 
void arm_offset_f32 (float32_t *pSrc, float32_t offset, float32_t *pDst, uint32_t blockSize)
 Adds a constant offset to a floating-point vector. More...
 
void arm_offset_q15 (q15_t *pSrc, q15_t offset, q15_t *pDst, uint32_t blockSize)
 Adds a constant offset to a Q15 vector. More...
 
void arm_offset_q31 (q31_t *pSrc, q31_t offset, q31_t *pDst, uint32_t blockSize)
 Adds a constant offset to a Q31 vector. More...
 
void arm_offset_q7 (q7_t *pSrc, q7_t offset, q7_t *pDst, uint32_t blockSize)
 Adds a constant offset to a Q7 vector. More...
 
static __INLINE void arm_park_f32 (float32_t Ialpha, float32_t Ibeta, float32_t *pId, float32_t *pIq, float32_t sinVal, float32_t cosVal)
 Floating-point Park transform. More...
 
static __INLINE void arm_park_q31 (q31_t Ialpha, q31_t Ibeta, q31_t *pId, q31_t *pIq, q31_t sinVal, q31_t cosVal)
 Park transform for Q31 version. More...
 
static __INLINE float32_t arm_pid_f32 (arm_pid_instance_f32 *S, float32_t in)
 Process function for the floating-point PID Control. More...
 
void arm_pid_init_f32 (arm_pid_instance_f32 *S, int32_t resetStateFlag)
 Initialization function for the floating-point PID Control. More...
 
void arm_pid_init_q15 (arm_pid_instance_q15 *S, int32_t resetStateFlag)
 Initialization function for the Q15 PID Control. More...
 
void arm_pid_init_q31 (arm_pid_instance_q31 *S, int32_t resetStateFlag)
 Initialization function for the Q31 PID Control. More...
 
static __INLINE q15_t arm_pid_q15 (arm_pid_instance_q15 *S, q15_t in)
 Process function for the Q15 PID Control. More...
 
static __INLINE q31_t arm_pid_q31 (arm_pid_instance_q31 *S, q31_t in)
 Process function for the Q31 PID Control. More...
 
void arm_pid_reset_f32 (arm_pid_instance_f32 *S)
 Reset function for the floating-point PID Control. More...
 
void arm_pid_reset_q15 (arm_pid_instance_q15 *S)
 Reset function for the Q15 PID Control. More...
 
void arm_pid_reset_q31 (arm_pid_instance_q31 *S)
 Reset function for the Q31 PID Control. More...
 
void arm_power_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 Sum of the squares of the elements of a floating-point vector. More...
 
void arm_power_q15 (q15_t *pSrc, uint32_t blockSize, q63_t *pResult)
 Sum of the squares of the elements of a Q15 vector. More...
 
void arm_power_q31 (q31_t *pSrc, uint32_t blockSize, q63_t *pResult)
 Sum of the squares of the elements of a Q31 vector. More...
 
void arm_power_q7 (q7_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Sum of the squares of the elements of a Q7 vector. More...
 
void arm_q15_to_float (q15_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Converts the elements of the Q15 vector to floating-point vector. More...
 
void arm_q15_to_q31 (q15_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Converts the elements of the Q15 vector to Q31 vector. More...
 
void arm_q15_to_q7 (q15_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Converts the elements of the Q15 vector to Q7 vector. More...
 
void arm_q31_to_float (q31_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Converts the elements of the Q31 vector to floating-point vector. More...
 
void arm_q31_to_q15 (q31_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Converts the elements of the Q31 vector to Q15 vector. More...
 
void arm_q31_to_q7 (q31_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Converts the elements of the Q31 vector to Q7 vector. More...
 
void arm_q7_to_float (q7_t *pSrc, float32_t *pDst, uint32_t blockSize)
 Converts the elements of the Q7 vector to floating-point vector. More...
 
void arm_q7_to_q15 (q7_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Converts the elements of the Q7 vector to Q15 vector. More...
 
void arm_q7_to_q31 (q7_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Converts the elements of the Q7 vector to Q31 vector. More...
 
static __INLINE uint32_t arm_recip_q15 (q15_t in, q15_t *dst, q15_t *pRecipTable)
 Function to Calculates 1/in (reciprocal) value of Q15 Data type. More...
 
static __INLINE uint32_t arm_recip_q31 (q31_t in, q31_t *dst, q31_t *pRecipTable)
 Function to Calculates 1/in (reciprocal) value of Q31 Data type. More...
 
void arm_rfft_f32 (const arm_rfft_instance_f32 *S, float32_t *pSrc, float32_t *pDst)
 
void arm_rfft_fast_f32 (arm_rfft_fast_instance_f32 *S, float32_t *p, float32_t *pOut, uint8_t ifftFlag)
 
arm_status arm_rfft_fast_init_f32 (arm_rfft_fast_instance_f32 *S, uint16_t fftLen)
 
arm_status arm_rfft_init_f32 (arm_rfft_instance_f32 *S, arm_cfft_radix4_instance_f32 *S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
 
arm_status arm_rfft_init_q15 (arm_rfft_instance_q15 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
 
arm_status arm_rfft_init_q31 (arm_rfft_instance_q31 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
 
void arm_rfft_q15 (const arm_rfft_instance_q15 *S, q15_t *pSrc, q15_t *pDst)
 
void arm_rfft_q31 (const arm_rfft_instance_q31 *S, q31_t *pSrc, q31_t *pDst)
 
void arm_rms_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 Root Mean Square of the elements of a floating-point vector. More...
 
void arm_rms_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
 Root Mean Square of the elements of a Q15 vector. More...
 
void arm_rms_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Root Mean Square of the elements of a Q31 vector. More...
 
void arm_scale_f32 (float32_t *pSrc, float32_t scale, float32_t *pDst, uint32_t blockSize)
 Multiplies a floating-point vector by a scalar. More...
 
void arm_scale_q15 (q15_t *pSrc, q15_t scaleFract, int8_t shift, q15_t *pDst, uint32_t blockSize)
 Multiplies a Q15 vector by a scalar. More...
 
void arm_scale_q31 (q31_t *pSrc, q31_t scaleFract, int8_t shift, q31_t *pDst, uint32_t blockSize)
 Multiplies a Q31 vector by a scalar. More...
 
void arm_scale_q7 (q7_t *pSrc, q7_t scaleFract, int8_t shift, q7_t *pDst, uint32_t blockSize)
 Multiplies a Q7 vector by a scalar. More...
 
void arm_shift_q15 (q15_t *pSrc, int8_t shiftBits, q15_t *pDst, uint32_t blockSize)
 Shifts the elements of a Q15 vector a specified number of bits. More...
 
void arm_shift_q31 (q31_t *pSrc, int8_t shiftBits, q31_t *pDst, uint32_t blockSize)
 Shifts the elements of a Q31 vector a specified number of bits. More...
 
void arm_shift_q7 (q7_t *pSrc, int8_t shiftBits, q7_t *pDst, uint32_t blockSize)
 Shifts the elements of a Q7 vector a specified number of bits. More...
 
void arm_sin_cos_f32 (float32_t theta, float32_t *pSinVal, float32_t *pCcosVal)
 
void arm_sin_cos_q31 (q31_t theta, q31_t *pSinVal, q31_t *pCosVal)
 
float32_t arm_sin_f32 (float32_t x)
 Fast approximation to the trigonometric sine function for floating-point data. More...
 
q15_t arm_sin_q15 (q15_t x)
 Fast approximation to the trigonometric sine function for Q15 data. More...
 
q31_t arm_sin_q31 (q31_t x)
 Fast approximation to the trigonometric sine function for Q31 data. More...
 
static __INLINE arm_status arm_sqrt_f32 (float32_t in, float32_t *pOut)
 Floating-point square root function. More...
 
arm_status arm_sqrt_q15 (q15_t in, q15_t *pOut)
 Q15 square root function. More...
 
arm_status arm_sqrt_q31 (q31_t in, q31_t *pOut)
 Q31 square root function. More...
 
void arm_std_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 Standard deviation of the elements of a floating-point vector. More...
 
void arm_std_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
 Standard deviation of the elements of a Q15 vector. More...
 
void arm_std_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Standard deviation of the elements of a Q31 vector. More...
 
void arm_sub_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
 Floating-point vector subtraction. More...
 
void arm_sub_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
 Q15 vector subtraction. More...
 
void arm_sub_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
 Q31 vector subtraction. More...
 
void arm_sub_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
 Q7 vector subtraction. More...
 
void arm_var_f32 (float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
 Variance of the elements of a floating-point vector. More...
 
void arm_var_q15 (q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
 Variance of the elements of a Q15 vector. More...
 
void arm_var_q31 (q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
 Variance of the elements of a Q31 vector. More...
 
static __INLINE q15_t clip_q31_to_q15 (q31_t x)
 Clips Q31 to Q15 values. More...
 
static __INLINE q7_t clip_q31_to_q7 (q31_t x)
 Clips Q31 to Q7 values. More...
 
static __INLINE q15_t clip_q63_to_q15 (q63_t x)
 Clips Q63 to Q15 values. More...
 
static __INLINE q31_t clip_q63_to_q31 (q63_t x)
 Clips Q63 to Q31 values. More...
 
static __INLINE q63_t mult32x64 (q63_t x, q31_t y)
 Multiplies 32 X 64 and returns 32 bit result in 2.30 format. More...
 

Macro Definition Documentation

#define __CMSIS_GENERIC   /* disable NVIC and Systick functions */

Definition at line 284 of file arm_math.h.

#define __PACKq7 (   v0,
  v1,
  v2,
  v3 
)
Value:
( (((int32_t)(v0) << 0) & (int32_t)0x000000FF) | \
(((int32_t)(v1) << 8) & (int32_t)0x0000FF00) | \
(((int32_t)(v2) << 16) & (int32_t)0x00FF0000) | \
(((int32_t)(v3) << 24) & (int32_t)0xFF000000) )

definition to pack four 8 bit values.

Definition at line 442 of file arm_math.h.

#define __SIMD32 (   addr)    (*(__SIMD32_TYPE **) & (addr))

definition to read/write two 16 bit values.

Definition at line 418 of file arm_math.h.

#define __SIMD32_CONST (   addr)    ((__SIMD32_TYPE *)(addr))

Definition at line 419 of file arm_math.h.

#define __SIMD64 (   addr)    (*(int64_t **) & (addr))

Definition at line 423 of file arm_math.h.

#define _SIMD32_OFFSET (   addr)    (*(__SIMD32_TYPE *) (addr))

Definition at line 421 of file arm_math.h.

#define ALIGN4

Macro for Unaligned Support.

Definition at line 345 of file arm_math.h.

#define CONTROLLER_Q31_SHIFT   (32 - 9)

Definition at line 329 of file arm_math.h.

#define DELTA_Q15   0x5

Definition at line 316 of file arm_math.h.

#define DELTA_Q31   (0x100)

Macros required for reciprocal calculation in Normalized LMS.

Definition at line 315 of file arm_math.h.

#define FAST_MATH_Q15_SHIFT   (16 - 10)

Definition at line 328 of file arm_math.h.

#define FAST_MATH_Q31_SHIFT   (32 - 10)

Definition at line 327 of file arm_math.h.

#define FAST_MATH_TABLE_SIZE   512

Macros required for SINE and COSINE Fast math approximations.

Definition at line 326 of file arm_math.h.

#define INDEX_MASK   0x0000003F

Definition at line 317 of file arm_math.h.

#define INPUT_SPACING   0xB60B61

Macros required for SINE and COSINE Controller functions.

Definition at line 339 of file arm_math.h.

#define mult_32x32_keep32 (   a,
  x,
 
)    a = (q31_t) (((q63_t) x * y ) >> 32)

Definition at line 7455 of file arm_math.h.

#define mult_32x32_keep32_R (   a,
  x,
 
)    a = (q31_t) (((q63_t) x * y + 0x80000000LL ) >> 32)

Definition at line 7443 of file arm_math.h.

#define multAcc_32x32_keep32 (   a,
  x,
 
)    a += (q31_t) (((q63_t) x * y) >> 32)

Definition at line 7447 of file arm_math.h.

#define multAcc_32x32_keep32_R (   a,
  x,
 
)    a = (q31_t) (((((q63_t) a) << 32) + ((q63_t) x * y) + 0x80000000LL ) >> 32)

end of BilinearInterpolate group

Definition at line 7435 of file arm_math.h.

#define multSub_32x32_keep32 (   a,
  x,
 
)    a -= (q31_t) (((q63_t) x * y) >> 32)

Definition at line 7451 of file arm_math.h.

#define multSub_32x32_keep32_R (   a,
  x,
 
)    a = (q31_t) (((((q63_t) a) << 32) - ((q63_t) x * y) + 0x80000000LL ) >> 32)

Definition at line 7439 of file arm_math.h.

#define PI   3.14159265358979f

Definition at line 319 of file arm_math.h.

#define TABLE_SIZE   256

Definition at line 330 of file arm_math.h.

#define TABLE_SPACING_Q15   0x80

Definition at line 332 of file arm_math.h.

#define TABLE_SPACING_Q31   0x400000

Definition at line 331 of file arm_math.h.

Typedef Documentation

typedef float float32_t

32-bit floating-point type definition.

Definition at line 392 of file arm_math.h.

typedef double float64_t

64-bit floating-point type definition.

Definition at line 397 of file arm_math.h.

typedef int16_t q15_t

16-bit fractional data type in 1.15 format.

Definition at line 377 of file arm_math.h.

typedef int32_t q31_t

32-bit fractional data type in 1.31 format.

Definition at line 382 of file arm_math.h.

typedef int64_t q63_t

64-bit fractional data type in 1.63 format.

Definition at line 387 of file arm_math.h.

typedef int8_t q7_t

8-bit fractional data type in 1.7 format.

Definition at line 372 of file arm_math.h.

Enumeration Type Documentation

enum arm_status

Error status returned by some functions in the library.

Enumerator
ARM_MATH_SUCCESS 

No error

ARM_MATH_ARGUMENT_ERROR 

One or more arguments are incorrect

ARM_MATH_LENGTH_ERROR 

Length of data buffer is incorrect

ARM_MATH_SIZE_MISMATCH 

Size of matrices is not compatible with the operation.

ARM_MATH_NANINF 

Not-a-number (NaN) or infinity is generated

ARM_MATH_SINGULAR 

Generated by matrix inversion if the input matrix is singular and cannot be inverted.

ARM_MATH_TEST_FAILURE 

Test Failed

Definition at line 358 of file arm_math.h.

Function Documentation

void arm_abs_f32 ( float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Floating-point vector absolute value.

Parameters
[in]*pSrcpoints to the input buffer
[out]*pDstpoints to the output buffer
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_abs_q15 ( q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Q15 vector absolute value.

Parameters
[in]*pSrcpoints to the input buffer
[out]*pDstpoints to the output buffer
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_abs_q31 ( q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Q31 vector absolute value.

Parameters
[in]*pSrcpoints to the input buffer
[out]*pDstpoints to the output buffer
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_abs_q7 ( q7_t pSrc,
q7_t pDst,
uint32_t  blockSize 
)

Q7 vector absolute value.

Parameters
[in]*pSrcpoints to the input buffer
[out]*pDstpoints to the output buffer
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_add_f32 ( float32_t pSrcA,
float32_t pSrcB,
float32_t pDst,
uint32_t  blockSize 
)

Floating-point vector addition.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_add_q15 ( q15_t pSrcA,
q15_t pSrcB,
q15_t pDst,
uint32_t  blockSize 
)

Q15 vector addition.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_add_q31 ( q31_t pSrcA,
q31_t pSrcB,
q31_t pDst,
uint32_t  blockSize 
)

Q31 vector addition.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_add_q7 ( q7_t pSrcA,
q7_t pSrcB,
q7_t pDst,
uint32_t  blockSize 
)

Q7 vector addition.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_biquad_cas_df1_32x64_init_q31 ( arm_biquad_cas_df1_32x64_ins_q31 S,
uint8_t  numStages,
q31_t pCoeffs,
q63_t pState,
uint8_t  postShift 
)
Parameters
[in,out]*Spoints to an instance of the high precision Q31 Biquad cascade filter structure.
[in]numStagesnumber of 2nd order stages in the filter.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
[in]postShiftshift to be applied to the output. Varies according to the coefficients format
Returns
none
void arm_biquad_cas_df1_32x64_q31 ( const arm_biquad_cas_df1_32x64_ins_q31 S,
q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)
Parameters
[in]*Spoints to an instance of the high precision Q31 Biquad cascade filter structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of samples to process.
Returns
none.
void arm_biquad_cascade_df1_f32 ( const arm_biquad_casd_df1_inst_f32 S,
float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Processing function for the floating-point Biquad cascade filter.

Parameters
[in]*Spoints to an instance of the floating-point Biquad cascade structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_biquad_cascade_df1_fast_q15 ( const arm_biquad_casd_df1_inst_q15 S,
q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Fast but less precise processing function for the Q15 Biquad cascade filter for Cortex-M3 and Cortex-M4.

Parameters
[in]*Spoints to an instance of the Q15 Biquad cascade structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_biquad_cascade_df1_fast_q31 ( const arm_biquad_casd_df1_inst_q31 S,
q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Fast but less precise processing function for the Q31 Biquad cascade filter for Cortex-M3 and Cortex-M4.

Parameters
[in]*Spoints to an instance of the Q31 Biquad cascade structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_biquad_cascade_df1_init_f32 ( arm_biquad_casd_df1_inst_f32 S,
uint8_t  numStages,
float32_t pCoeffs,
float32_t pState 
)

Initialization function for the floating-point Biquad cascade filter.

Parameters
[in,out]*Spoints to an instance of the floating-point Biquad cascade structure.
[in]numStagesnumber of 2nd order stages in the filter.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
Returns
none
void arm_biquad_cascade_df1_init_q15 ( arm_biquad_casd_df1_inst_q15 S,
uint8_t  numStages,
q15_t pCoeffs,
q15_t pState,
int8_t  postShift 
)

Initialization function for the Q15 Biquad cascade filter.

Parameters
[in,out]*Spoints to an instance of the Q15 Biquad cascade structure.
[in]numStagesnumber of 2nd order stages in the filter.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
[in]postShiftShift to be applied to the output. Varies according to the coefficients format
Returns
none
void arm_biquad_cascade_df1_init_q31 ( arm_biquad_casd_df1_inst_q31 S,
uint8_t  numStages,
q31_t pCoeffs,
q31_t pState,
int8_t  postShift 
)

Initialization function for the Q31 Biquad cascade filter.

Parameters
[in,out]*Spoints to an instance of the Q31 Biquad cascade structure.
[in]numStagesnumber of 2nd order stages in the filter.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
[in]postShiftShift to be applied to the output. Varies according to the coefficients format
Returns
none
void arm_biquad_cascade_df1_q15 ( const arm_biquad_casd_df1_inst_q15 S,
q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Processing function for the Q15 Biquad cascade filter.

Parameters
[in]*Spoints to an instance of the Q15 Biquad cascade structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_biquad_cascade_df1_q31 ( const arm_biquad_casd_df1_inst_q31 S,
q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Processing function for the Q31 Biquad cascade filter.

Parameters
[in]*Spoints to an instance of the Q31 Biquad cascade structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_biquad_cascade_df2T_f32 ( const arm_biquad_cascade_df2T_instance_f32 S,
float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Processing function for the floating-point transposed direct form II Biquad cascade filter.

Parameters
[in]*Spoints to an instance of the filter data structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of samples to process.
Returns
none.
void arm_biquad_cascade_df2T_f64 ( const arm_biquad_cascade_df2T_instance_f64 S,
float64_t pSrc,
float64_t pDst,
uint32_t  blockSize 
)

Processing function for the floating-point transposed direct form II Biquad cascade filter.

Parameters
[in]*Spoints to an instance of the filter data structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of samples to process.
Returns
none.
void arm_biquad_cascade_df2T_init_f32 ( arm_biquad_cascade_df2T_instance_f32 S,
uint8_t  numStages,
float32_t pCoeffs,
float32_t pState 
)

Initialization function for the floating-point transposed direct form II Biquad cascade filter.

Parameters
[in,out]*Spoints to an instance of the filter data structure.
[in]numStagesnumber of 2nd order stages in the filter.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
Returns
none
void arm_biquad_cascade_df2T_init_f64 ( arm_biquad_cascade_df2T_instance_f64 S,
uint8_t  numStages,
float64_t pCoeffs,
float64_t pState 
)

Initialization function for the floating-point transposed direct form II Biquad cascade filter.

Parameters
[in,out]*Spoints to an instance of the filter data structure.
[in]numStagesnumber of 2nd order stages in the filter.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
Returns
none
void arm_biquad_cascade_stereo_df2T_f32 ( const arm_biquad_cascade_stereo_df2T_instance_f32 S,
float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Processing function for the floating-point transposed direct form II Biquad cascade filter. 2 channels.

Parameters
[in]*Spoints to an instance of the filter data structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of samples to process.
Returns
none.
void arm_biquad_cascade_stereo_df2T_init_f32 ( arm_biquad_cascade_stereo_df2T_instance_f32 S,
uint8_t  numStages,
float32_t pCoeffs,
float32_t pState 
)

Initialization function for the floating-point transposed direct form II Biquad cascade filter.

Parameters
[in,out]*Spoints to an instance of the filter data structure.
[in]numStagesnumber of 2nd order stages in the filter.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
Returns
none
void arm_cfft_f32 ( const arm_cfft_instance_f32 S,
float32_t p1,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)
void arm_cfft_q15 ( const arm_cfft_instance_q15 S,
q15_t p1,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)
void arm_cfft_q31 ( const arm_cfft_instance_q31 S,
q31_t p1,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)
void arm_cfft_radix2_f32 ( const arm_cfft_radix2_instance_f32 S,
float32_t pSrc 
)
arm_status arm_cfft_radix2_init_f32 ( arm_cfft_radix2_instance_f32 S,
uint16_t  fftLen,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)
arm_status arm_cfft_radix2_init_q15 ( arm_cfft_radix2_instance_q15 S,
uint16_t  fftLen,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)
arm_status arm_cfft_radix2_init_q31 ( arm_cfft_radix2_instance_q31 S,
uint16_t  fftLen,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)
void arm_cfft_radix2_q15 ( const arm_cfft_radix2_instance_q15 S,
q15_t pSrc 
)
void arm_cfft_radix2_q31 ( const arm_cfft_radix2_instance_q31 S,
q31_t pSrc 
)
void arm_cfft_radix4_f32 ( const arm_cfft_radix4_instance_f32 S,
float32_t pSrc 
)
arm_status arm_cfft_radix4_init_f32 ( arm_cfft_radix4_instance_f32 S,
uint16_t  fftLen,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)
arm_status arm_cfft_radix4_init_q15 ( arm_cfft_radix4_instance_q15 S,
uint16_t  fftLen,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)
arm_status arm_cfft_radix4_init_q31 ( arm_cfft_radix4_instance_q31 S,
uint16_t  fftLen,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)
void arm_cfft_radix4_q15 ( const arm_cfft_radix4_instance_q15 S,
q15_t pSrc 
)
void arm_cfft_radix4_q31 ( const arm_cfft_radix4_instance_q31 S,
q31_t pSrc 
)
static __INLINE void arm_circularRead_f32 ( int32_t *  circBuffer,
int32_t  L,
int32_t *  readOffset,
int32_t  bufferInc,
int32_t *  dst,
int32_t *  dst_base,
int32_t  dst_length,
int32_t  dstInc,
uint32_t  blockSize 
)
static

floating-point Circular Read function.

Definition at line 6194 of file arm_math.h.

static __INLINE void arm_circularRead_q15 ( q15_t circBuffer,
int32_t  L,
int32_t *  readOffset,
int32_t  bufferInc,
q15_t dst,
q15_t dst_base,
int32_t  dst_length,
int32_t  dstInc,
uint32_t  blockSize 
)
static

Q15 Circular Read function.

Definition at line 6294 of file arm_math.h.

static __INLINE void arm_circularRead_q7 ( q7_t circBuffer,
int32_t  L,
int32_t *  readOffset,
int32_t  bufferInc,
q7_t dst,
q7_t dst_base,
int32_t  dst_length,
int32_t  dstInc,
uint32_t  blockSize 
)
static

Q7 Circular Read function.

Definition at line 6396 of file arm_math.h.

static __INLINE void arm_circularWrite_f32 ( int32_t *  circBuffer,
int32_t  L,
uint16_t *  writeOffset,
int32_t  bufferInc,
const int32_t *  src,
int32_t  srcInc,
uint32_t  blockSize 
)
static

floating-point Circular write function.

end of SQRT group

Definition at line 6149 of file arm_math.h.

static __INLINE void arm_circularWrite_q15 ( q15_t circBuffer,
int32_t  L,
uint16_t *  writeOffset,
int32_t  bufferInc,
const q15_t src,
int32_t  srcInc,
uint32_t  blockSize 
)
static

Q15 Circular write function.

Definition at line 6249 of file arm_math.h.

static __INLINE void arm_circularWrite_q7 ( q7_t circBuffer,
int32_t  L,
uint16_t *  writeOffset,
int32_t  bufferInc,
const q7_t src,
int32_t  srcInc,
uint32_t  blockSize 
)
static

Q7 Circular write function.

Definition at line 6351 of file arm_math.h.

void arm_cmplx_conj_f32 ( float32_t pSrc,
float32_t pDst,
uint32_t  numSamples 
)

Floating-point complex conjugate.

Parameters
[in]*pSrcpoints to the input vector
[out]*pDstpoints to the output vector
[in]numSamplesnumber of complex samples in each vector
Returns
none.
void arm_cmplx_conj_q15 ( q15_t pSrc,
q15_t pDst,
uint32_t  numSamples 
)

Q15 complex conjugate.

Parameters
[in]*pSrcpoints to the input vector
[out]*pDstpoints to the output vector
[in]numSamplesnumber of complex samples in each vector
Returns
none.
void arm_cmplx_conj_q31 ( q31_t pSrc,
q31_t pDst,
uint32_t  numSamples 
)

Q31 complex conjugate.

Parameters
[in]*pSrcpoints to the input vector
[out]*pDstpoints to the output vector
[in]numSamplesnumber of complex samples in each vector
Returns
none.
void arm_cmplx_dot_prod_f32 ( float32_t pSrcA,
float32_t pSrcB,
uint32_t  numSamples,
float32_t realResult,
float32_t imagResult 
)

Floating-point complex dot product.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[in]numSamplesnumber of complex samples in each vector
[out]*realResultreal part of the result returned here
[out]*imagResultimaginary part of the result returned here
Returns
none.
void arm_cmplx_dot_prod_q15 ( q15_t pSrcA,
q15_t pSrcB,
uint32_t  numSamples,
q31_t realResult,
q31_t imagResult 
)

Q15 complex dot product.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[in]numSamplesnumber of complex samples in each vector
[out]*realResultreal part of the result returned here
[out]*imagResultimaginary part of the result returned here
Returns
none.
void arm_cmplx_dot_prod_q31 ( q31_t pSrcA,
q31_t pSrcB,
uint32_t  numSamples,
q63_t realResult,
q63_t imagResult 
)

Q31 complex dot product.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[in]numSamplesnumber of complex samples in each vector
[out]*realResultreal part of the result returned here
[out]*imagResultimaginary part of the result returned here
Returns
none.
void arm_cmplx_mag_f32 ( float32_t pSrc,
float32_t pDst,
uint32_t  numSamples 
)

Floating-point complex magnitude.

Parameters
[in]*pSrcpoints to the complex input vector
[out]*pDstpoints to the real output vector
[in]numSamplesnumber of complex samples in the input vector
Returns
none.
void arm_cmplx_mag_q15 ( q15_t pSrc,
q15_t pDst,
uint32_t  numSamples 
)

Q15 complex magnitude.

Parameters
[in]*pSrcpoints to the complex input vector
[out]*pDstpoints to the real output vector
[in]numSamplesnumber of complex samples in the input vector
Returns
none.
void arm_cmplx_mag_q31 ( q31_t pSrc,
q31_t pDst,
uint32_t  numSamples 
)

Q31 complex magnitude.

Parameters
[in]*pSrcpoints to the complex input vector
[out]*pDstpoints to the real output vector
[in]numSamplesnumber of complex samples in the input vector
Returns
none.
void arm_cmplx_mag_squared_f32 ( float32_t pSrc,
float32_t pDst,
uint32_t  numSamples 
)

Floating-point complex magnitude squared.

Parameters
[in]*pSrcpoints to the complex input vector
[out]*pDstpoints to the real output vector
[in]numSamplesnumber of complex samples in the input vector
Returns
none.
void arm_cmplx_mag_squared_q15 ( q15_t pSrc,
q15_t pDst,
uint32_t  numSamples 
)

Q15 complex magnitude squared.

Parameters
[in]*pSrcpoints to the complex input vector
[out]*pDstpoints to the real output vector
[in]numSamplesnumber of complex samples in the input vector
Returns
none.
void arm_cmplx_mag_squared_q31 ( q31_t pSrc,
q31_t pDst,
uint32_t  numSamples 
)

Q31 complex magnitude squared.

Parameters
[in]*pSrcpoints to the complex input vector
[out]*pDstpoints to the real output vector
[in]numSamplesnumber of complex samples in the input vector
Returns
none.
void arm_cmplx_mult_cmplx_f32 ( float32_t pSrcA,
float32_t pSrcB,
float32_t pDst,
uint32_t  numSamples 
)

Floating-point complex-by-complex multiplication.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]numSamplesnumber of complex samples in each vector
Returns
none.
void arm_cmplx_mult_cmplx_q15 ( q15_t pSrcA,
q15_t pSrcB,
q15_t pDst,
uint32_t  numSamples 
)

Q15 complex-by-complex multiplication.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]numSamplesnumber of complex samples in each vector
Returns
none.
void arm_cmplx_mult_cmplx_q31 ( q31_t pSrcA,
q31_t pSrcB,
q31_t pDst,
uint32_t  numSamples 
)

Q31 complex-by-complex multiplication.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]numSamplesnumber of complex samples in each vector
Returns
none.
void arm_cmplx_mult_real_f32 ( float32_t pSrcCmplx,
float32_t pSrcReal,
float32_t pCmplxDst,
uint32_t  numSamples 
)

Floating-point complex-by-real multiplication.

Parameters
[in]*pSrcCmplxpoints to the complex input vector
[in]*pSrcRealpoints to the real input vector
[out]*pCmplxDstpoints to the complex output vector
[in]numSamplesnumber of samples in each vector
Returns
none.
void arm_cmplx_mult_real_q15 ( q15_t pSrcCmplx,
q15_t pSrcReal,
q15_t pCmplxDst,
uint32_t  numSamples 
)

Q15 complex-by-real multiplication.

Parameters
[in]*pSrcCmplxpoints to the complex input vector
[in]*pSrcRealpoints to the real input vector
[out]*pCmplxDstpoints to the complex output vector
[in]numSamplesnumber of samples in each vector
Returns
none.
void arm_cmplx_mult_real_q31 ( q31_t pSrcCmplx,
q31_t pSrcReal,
q31_t pCmplxDst,
uint32_t  numSamples 
)

Q31 complex-by-real multiplication.

Parameters
[in]*pSrcCmplxpoints to the complex input vector
[in]*pSrcRealpoints to the real input vector
[out]*pCmplxDstpoints to the complex output vector
[in]numSamplesnumber of samples in each vector
Returns
none.
void arm_conv_f32 ( float32_t pSrcA,
uint32_t  srcALen,
float32_t pSrcB,
uint32_t  srcBLen,
float32_t pDst 
)

Convolution of floating-point sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the location where the output result is written. Length srcALen+srcBLen-1.
Returns
none.
void arm_conv_fast_opt_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst,
q15_t pScratch1,
q15_t pScratch2 
)

Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length srcALen+srcBLen-1.
[in]*pScratch1points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
[in]*pScratch2points to scratch buffer of size min(srcALen, srcBLen).
Returns
none.
void arm_conv_fast_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst 
)

Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length srcALen+srcBLen-1.
Returns
none.
void arm_conv_fast_q31 ( q31_t pSrcA,
uint32_t  srcALen,
q31_t pSrcB,
uint32_t  srcBLen,
q31_t pDst 
)

Convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length srcALen+srcBLen-1.
Returns
none.
void arm_conv_opt_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst,
q15_t pScratch1,
q15_t pScratch2 
)

Convolution of Q15 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length srcALen+srcBLen-1.
[in]*pScratch1points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
[in]*pScratch2points to scratch buffer of size min(srcALen, srcBLen).
Returns
none.
void arm_conv_opt_q7 ( q7_t pSrcA,
uint32_t  srcALen,
q7_t pSrcB,
uint32_t  srcBLen,
q7_t pDst,
q15_t pScratch1,
q15_t pScratch2 
)

Convolution of Q7 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length srcALen+srcBLen-1.
[in]*pScratch1points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
[in]*pScratch2points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen).
Returns
none.
arm_status arm_conv_partial_f32 ( float32_t pSrcA,
uint32_t  srcALen,
float32_t pSrcB,
uint32_t  srcBLen,
float32_t pDst,
uint32_t  firstIndex,
uint32_t  numPoints 
)

Partial convolution of floating-point sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data
[in]firstIndexis the first output sample to start with.
[in]numPointsis the number of output points to be computed.
Returns
Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2].
arm_status arm_conv_partial_fast_opt_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst,
uint32_t  firstIndex,
uint32_t  numPoints,
q15_t pScratch1,
q15_t pScratch2 
)

Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data
[in]firstIndexis the first output sample to start with.
[in]numPointsis the number of output points to be computed.
[in]*pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
[in]*pScratch2 points to scratch buffer of size min(srcALen, srcBLen).
Returns
Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2].
arm_status arm_conv_partial_fast_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst,
uint32_t  firstIndex,
uint32_t  numPoints 
)

Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data
[in]firstIndexis the first output sample to start with.
[in]numPointsis the number of output points to be computed.
Returns
Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2].
arm_status arm_conv_partial_fast_q31 ( q31_t pSrcA,
uint32_t  srcALen,
q31_t pSrcB,
uint32_t  srcBLen,
q31_t pDst,
uint32_t  firstIndex,
uint32_t  numPoints 
)

Partial convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data
[in]firstIndexis the first output sample to start with.
[in]numPointsis the number of output points to be computed.
Returns
Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2].
arm_status arm_conv_partial_opt_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst,
uint32_t  firstIndex,
uint32_t  numPoints,
q15_t pScratch1,
q15_t pScratch2 
)

Partial convolution of Q15 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data
[in]firstIndexis the first output sample to start with.
[in]numPointsis the number of output points to be computed.
[in]*pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
[in]*pScratch2 points to scratch buffer of size min(srcALen, srcBLen).
Returns
Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2].
arm_status arm_conv_partial_opt_q7 ( q7_t pSrcA,
uint32_t  srcALen,
q7_t pSrcB,
uint32_t  srcBLen,
q7_t pDst,
uint32_t  firstIndex,
uint32_t  numPoints,
q15_t pScratch1,
q15_t pScratch2 
)

Partial convolution of Q7 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data
[in]firstIndexis the first output sample to start with.
[in]numPointsis the number of output points to be computed.
[in]*pScratch1points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
[in]*pScratch2points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen).
Returns
Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2].
arm_status arm_conv_partial_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst,
uint32_t  firstIndex,
uint32_t  numPoints 
)

Partial convolution of Q15 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data
[in]firstIndexis the first output sample to start with.
[in]numPointsis the number of output points to be computed.
Returns
Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2].
arm_status arm_conv_partial_q31 ( q31_t pSrcA,
uint32_t  srcALen,
q31_t pSrcB,
uint32_t  srcBLen,
q31_t pDst,
uint32_t  firstIndex,
uint32_t  numPoints 
)

Partial convolution of Q31 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data
[in]firstIndexis the first output sample to start with.
[in]numPointsis the number of output points to be computed.
Returns
Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2].
arm_status arm_conv_partial_q7 ( q7_t pSrcA,
uint32_t  srcALen,
q7_t pSrcB,
uint32_t  srcBLen,
q7_t pDst,
uint32_t  firstIndex,
uint32_t  numPoints 
)

Partial convolution of Q7 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data
[in]firstIndexis the first output sample to start with.
[in]numPointsis the number of output points to be computed.
Returns
Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2].
void arm_conv_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst 
)

Convolution of Q15 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the location where the output result is written. Length srcALen+srcBLen-1.
Returns
none.
void arm_conv_q31 ( q31_t pSrcA,
uint32_t  srcALen,
q31_t pSrcB,
uint32_t  srcBLen,
q31_t pDst 
)

Convolution of Q31 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length srcALen+srcBLen-1.
Returns
none.
void arm_conv_q7 ( q7_t pSrcA,
uint32_t  srcALen,
q7_t pSrcB,
uint32_t  srcBLen,
q7_t pDst 
)

Convolution of Q7 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length srcALen+srcBLen-1.
Returns
none.
void arm_copy_f32 ( float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Copies the elements of a floating-point vector.

Parameters
[in]*pSrcinput pointer
[out]*pDstoutput pointer
[in]blockSizenumber of samples to process
Returns
none.
void arm_copy_q15 ( q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Copies the elements of a Q15 vector.

Parameters
[in]*pSrcinput pointer
[out]*pDstoutput pointer
[in]blockSizenumber of samples to process
Returns
none.
void arm_copy_q31 ( q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Copies the elements of a Q31 vector.

Parameters
[in]*pSrcinput pointer
[out]*pDstoutput pointer
[in]blockSizenumber of samples to process
Returns
none.
void arm_copy_q7 ( q7_t pSrc,
q7_t pDst,
uint32_t  blockSize 
)

Copies the elements of a Q7 vector.

Parameters
[in]*pSrcinput pointer
[out]*pDstoutput pointer
[in]blockSizenumber of samples to process
Returns
none.
void arm_correlate_f32 ( float32_t pSrcA,
uint32_t  srcALen,
float32_t pSrcB,
uint32_t  srcBLen,
float32_t pDst 
)

Correlation of floating-point sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
Returns
none.
void arm_correlate_fast_opt_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst,
q15_t pScratch 
)

Correlation of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
[in]*pScratchpoints to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
Returns
none.
void arm_correlate_fast_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst 
)

Correlation of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
Returns
none.
void arm_correlate_fast_q31 ( q31_t pSrcA,
uint32_t  srcALen,
q31_t pSrcB,
uint32_t  srcBLen,
q31_t pDst 
)

Correlation of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
Returns
none.
void arm_correlate_opt_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst,
q15_t pScratch 
)

Correlation of Q15 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
[in]*pScratchpoints to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
Returns
none.
void arm_correlate_opt_q7 ( q7_t pSrcA,
uint32_t  srcALen,
q7_t pSrcB,
uint32_t  srcBLen,
q7_t pDst,
q15_t pScratch1,
q15_t pScratch2 
)

Correlation of Q7 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
[in]*pScratch1points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
[in]*pScratch2points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen).
Returns
none.
void arm_correlate_q15 ( q15_t pSrcA,
uint32_t  srcALen,
q15_t pSrcB,
uint32_t  srcBLen,
q15_t pDst 
)

Correlation of Q15 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
Returns
none.
void arm_correlate_q31 ( q31_t pSrcA,
uint32_t  srcALen,
q31_t pSrcB,
uint32_t  srcBLen,
q31_t pDst 
)

Correlation of Q31 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
Returns
none.
void arm_correlate_q7 ( q7_t pSrcA,
uint32_t  srcALen,
q7_t pSrcB,
uint32_t  srcBLen,
q7_t pDst 
)

Correlation of Q7 sequences.

Parameters
[in]*pSrcApoints to the first input sequence.
[in]srcALenlength of the first input sequence.
[in]*pSrcBpoints to the second input sequence.
[in]srcBLenlength of the second input sequence.
[out]*pDstpoints to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
Returns
none.
float32_t arm_cos_f32 ( float32_t  x)

Fast approximation to the trigonometric cosine function for floating-point data.

Parameters
[in]xinput value in radians.
Returns
cos(x).
q15_t arm_cos_q15 ( q15_t  x)

Fast approximation to the trigonometric cosine function for Q15 data.

Parameters
[in]xScaled input value in radians.
Returns
cos(x).
q31_t arm_cos_q31 ( q31_t  x)

Fast approximation to the trigonometric cosine function for Q31 data.

Parameters
[in]xScaled input value in radians.
Returns
cos(x).
void arm_dct4_f32 ( const arm_dct4_instance_f32 S,
float32_t pState,
float32_t pInlineBuffer 
)

Processing function for the floating-point DCT4/IDCT4.

Parameters
[in]*Spoints to an instance of the floating-point DCT4/IDCT4 structure.
[in]*pStatepoints to state buffer.
[in,out]*pInlineBufferpoints to the in-place input and output buffer.
Returns
none.
arm_status arm_dct4_init_f32 ( arm_dct4_instance_f32 S,
arm_rfft_instance_f32 S_RFFT,
arm_cfft_radix4_instance_f32 S_CFFT,
uint16_t  N,
uint16_t  Nby2,
float32_t  normalize 
)

Initialization function for the floating-point DCT4/IDCT4.

Parameters
[in,out]*Spoints to an instance of floating-point DCT4/IDCT4 structure.
[in]*S_RFFTpoints to an instance of floating-point RFFT/RIFFT structure.
[in]*S_CFFTpoints to an instance of floating-point CFFT/CIFFT structure.
[in]Nlength of the DCT4.
[in]Nby2half of the length of the DCT4.
[in]normalizenormalizing factor.
Returns
arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if fftLenReal is not a supported transform length.
arm_status arm_dct4_init_q15 ( arm_dct4_instance_q15 S,
arm_rfft_instance_q15 S_RFFT,
arm_cfft_radix4_instance_q15 S_CFFT,
uint16_t  N,
uint16_t  Nby2,
q15_t  normalize 
)

Initialization function for the Q15 DCT4/IDCT4.

Parameters
[in,out]*Spoints to an instance of Q15 DCT4/IDCT4 structure.
[in]*S_RFFTpoints to an instance of Q15 RFFT/RIFFT structure.
[in]*S_CFFTpoints to an instance of Q15 CFFT/CIFFT structure.
[in]Nlength of the DCT4.
[in]Nby2half of the length of the DCT4.
[in]normalizenormalizing factor.
Returns
arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if N is not a supported transform length.
arm_status arm_dct4_init_q31 ( arm_dct4_instance_q31 S,
arm_rfft_instance_q31 S_RFFT,
arm_cfft_radix4_instance_q31 S_CFFT,
uint16_t  N,
uint16_t  Nby2,
q31_t  normalize 
)

Initialization function for the Q31 DCT4/IDCT4.

Parameters
[in,out]*Spoints to an instance of Q31 DCT4/IDCT4 structure.
[in]*S_RFFTpoints to an instance of Q31 RFFT/RIFFT structure
[in]*S_CFFTpoints to an instance of Q31 CFFT/CIFFT structure
[in]Nlength of the DCT4.
[in]Nby2half of the length of the DCT4.
[in]normalizenormalizing factor.
Returns
arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if N is not a supported transform length.
void arm_dct4_q15 ( const arm_dct4_instance_q15 S,
q15_t pState,
q15_t pInlineBuffer 
)

Processing function for the Q15 DCT4/IDCT4.

Parameters
[in]*Spoints to an instance of the Q15 DCT4 structure.
[in]*pStatepoints to state buffer.
[in,out]*pInlineBufferpoints to the in-place input and output buffer.
Returns
none.
void arm_dct4_q31 ( const arm_dct4_instance_q31 S,
q31_t pState,
q31_t pInlineBuffer 
)

Processing function for the Q31 DCT4/IDCT4.

Parameters
[in]*Spoints to an instance of the Q31 DCT4 structure.
[in]*pStatepoints to state buffer.
[in,out]*pInlineBufferpoints to the in-place input and output buffer.
Returns
none.
void arm_dot_prod_f32 ( float32_t pSrcA,
float32_t pSrcB,
uint32_t  blockSize,
float32_t result 
)

Dot product of floating-point vectors.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[in]blockSizenumber of samples in each vector
[out]*resultoutput result returned here
Returns
none.
void arm_dot_prod_q15 ( q15_t pSrcA,
q15_t pSrcB,
uint32_t  blockSize,
q63_t result 
)

Dot product of Q15 vectors.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[in]blockSizenumber of samples in each vector
[out]*resultoutput result returned here
Returns
none.
void arm_dot_prod_q31 ( q31_t pSrcA,
q31_t pSrcB,
uint32_t  blockSize,
q63_t result 
)

Dot product of Q31 vectors.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[in]blockSizenumber of samples in each vector
[out]*resultoutput result returned here
Returns
none.
void arm_dot_prod_q7 ( q7_t pSrcA,
q7_t pSrcB,
uint32_t  blockSize,
q31_t result 
)

Dot product of Q7 vectors.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[in]blockSizenumber of samples in each vector
[out]*resultoutput result returned here
Returns
none.
void arm_fill_f32 ( float32_t  value,
float32_t pDst,
uint32_t  blockSize 
)

Fills a constant value into a floating-point vector.

Parameters
[in]valueinput value to be filled
[out]*pDstoutput pointer
[in]blockSizenumber of samples to process
Returns
none.
void arm_fill_q15 ( q15_t  value,
q15_t pDst,
uint32_t  blockSize 
)

Fills a constant value into a Q15 vector.

Parameters
[in]valueinput value to be filled
[out]*pDstoutput pointer
[in]blockSizenumber of samples to process
Returns
none.
void arm_fill_q31 ( q31_t  value,
q31_t pDst,
uint32_t  blockSize 
)

Fills a constant value into a Q31 vector.

Parameters
[in]valueinput value to be filled
[out]*pDstoutput pointer
[in]blockSizenumber of samples to process
Returns
none.
void arm_fill_q7 ( q7_t  value,
q7_t pDst,
uint32_t  blockSize 
)

Fills a constant value into a Q7 vector.

Parameters
[in]valueinput value to be filled
[out]*pDstoutput pointer
[in]blockSizenumber of samples to process
Returns
none.
void arm_fir_decimate_f32 ( const arm_fir_decimate_instance_f32 S,
float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Processing function for the floating-point FIR decimator.

Parameters
[in]*Spoints to an instance of the floating-point FIR decimator structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of input samples to process per call.
Returns
none
void arm_fir_decimate_fast_q15 ( const arm_fir_decimate_instance_q15 S,
q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Processing function for the Q15 FIR decimator (fast variant) for Cortex-M3 and Cortex-M4.

Parameters
[in]*Spoints to an instance of the Q15 FIR decimator structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of input samples to process per call.
Returns
none
void arm_fir_decimate_fast_q31 ( arm_fir_decimate_instance_q31 S,
q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Processing function for the Q31 FIR decimator (fast variant) for Cortex-M3 and Cortex-M4.

Parameters
[in]*Spoints to an instance of the Q31 FIR decimator structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of input samples to process per call.
Returns
none
arm_status arm_fir_decimate_init_f32 ( arm_fir_decimate_instance_f32 S,
uint16_t  numTaps,
uint8_t  M,
float32_t pCoeffs,
float32_t pState,
uint32_t  blockSize 
)

Initialization function for the floating-point FIR decimator.

Parameters
[in,out]*Spoints to an instance of the floating-point FIR decimator structure.
[in]numTapsnumber of coefficients in the filter.
[in]Mdecimation factor.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
[in]blockSizenumber of input samples to process per call.
Returns
The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if blockSize is not a multiple of M.
arm_status arm_fir_decimate_init_q15 ( arm_fir_decimate_instance_q15 S,
uint16_t  numTaps,
uint8_t  M,
q15_t pCoeffs,
q15_t pState,
uint32_t  blockSize 
)

Initialization function for the Q15 FIR decimator.

Parameters
[in,out]*Spoints to an instance of the Q15 FIR decimator structure.
[in]numTapsnumber of coefficients in the filter.
[in]Mdecimation factor.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
[in]blockSizenumber of input samples to process per call.
Returns
The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if blockSize is not a multiple of M.
arm_status arm_fir_decimate_init_q31 ( arm_fir_decimate_instance_q31 S,
uint16_t  numTaps,
uint8_t  M,
q31_t pCoeffs,
q31_t pState,
uint32_t  blockSize 
)

Initialization function for the Q31 FIR decimator.

Parameters
[in,out]*Spoints to an instance of the Q31 FIR decimator structure.
[in]numTapsnumber of coefficients in the filter.
[in]Mdecimation factor.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
[in]blockSizenumber of input samples to process per call.
Returns
The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if blockSize is not a multiple of M.
void arm_fir_decimate_q15 ( const arm_fir_decimate_instance_q15 S,
q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Processing function for the Q15 FIR decimator.

Parameters
[in]*Spoints to an instance of the Q15 FIR decimator structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of input samples to process per call.
Returns
none
void arm_fir_decimate_q31 ( const arm_fir_decimate_instance_q31 S,
q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Processing function for the Q31 FIR decimator.

Parameters
[in]*Spoints to an instance of the Q31 FIR decimator structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of input samples to process per call.
Returns
none
void arm_fir_f32 ( const arm_fir_instance_f32 S,
float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Processing function for the floating-point FIR filter.

Parameters
[in]*Spoints to an instance of the floating-point FIR structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_fir_fast_q15 ( const arm_fir_instance_q15 S,
q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Processing function for the fast Q15 FIR filter for Cortex-M3 and Cortex-M4.

Parameters
[in]*Spoints to an instance of the Q15 FIR filter structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_fir_fast_q31 ( const arm_fir_instance_q31 S,
q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Processing function for the fast Q31 FIR filter for Cortex-M3 and Cortex-M4.

Parameters
[in]*Spoints to an instance of the Q31 FIR structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_fir_init_f32 ( arm_fir_instance_f32 S,
uint16_t  numTaps,
float32_t pCoeffs,
float32_t pState,
uint32_t  blockSize 
)

Initialization function for the floating-point FIR filter.

Parameters
[in,out]*Spoints to an instance of the floating-point FIR filter structure.
[in]numTapsNumber of filter coefficients in the filter.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
[in]blockSizenumber of samples that are processed at a time.
Returns
none.
arm_status arm_fir_init_q15 ( arm_fir_instance_q15 S,
uint16_t  numTaps,
q15_t pCoeffs,
q15_t pState,
uint32_t  blockSize 
)

Initialization function for the Q15 FIR filter.

Parameters
[in,out]*Spoints to an instance of the Q15 FIR filter structure.
[in]numTapsNumber of filter coefficients in the filter. Must be even and greater than or equal to 4.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
[in]blockSizenumber of samples that are processed at a time.
Returns
The function returns ARM_MATH_SUCCESS if initialization was successful or ARM_MATH_ARGUMENT_ERROR if numTaps is not a supported value.
void arm_fir_init_q31 ( arm_fir_instance_q31 S,
uint16_t  numTaps,
q31_t pCoeffs,
q31_t pState,
uint32_t  blockSize 
)

Initialization function for the Q31 FIR filter.

Parameters
[in,out]*Spoints to an instance of the Q31 FIR structure.
[in]numTapsNumber of filter coefficients in the filter.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
[in]blockSizenumber of samples that are processed at a time.
Returns
none.
void arm_fir_init_q7 ( arm_fir_instance_q7 S,
uint16_t  numTaps,
q7_t pCoeffs,
q7_t pState,
uint32_t  blockSize 
)

Initialization function for the Q7 FIR filter.

Parameters
[in,out]*Spoints to an instance of the Q7 FIR structure.
[in]numTapsNumber of filter coefficients in the filter.
[in]*pCoeffspoints to the filter coefficients.
[in]*pStatepoints to the state buffer.
[in]blockSizenumber of samples that are processed.
Returns
none
void arm_fir_interpolate_f32 ( const arm_fir_interpolate_instance_f32 S,
float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Processing function for the floating-point FIR interpolator.

Parameters
[in]*Spoints to an instance of the floating-point FIR interpolator structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of input samples to process per call.
Returns
none.
arm_status arm_fir_interpolate_init_f32 ( arm_fir_interpolate_instance_f32 S,
uint8_t  L,
uint16_t  numTaps,
float32_t pCoeffs,
float32_t pState,
uint32_t  blockSize 
)

Initialization function for the floating-point FIR interpolator.

Parameters
[in,out]*Spoints to an instance of the floating-point FIR interpolator structure.
[in]Lupsample factor.
[in]numTapsnumber of filter coefficients in the filter.
[in]*pCoeffspoints to the filter coefficient buffer.
[in]*pStatepoints to the state buffer.
[in]blockSizenumber of input samples to process per call.
Returns
The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if the filter length numTaps is not a multiple of the interpolation factor L.
arm_status arm_fir_interpolate_init_q15 ( arm_fir_interpolate_instance_q15 S,
uint8_t  L,
uint16_t  numTaps,
q15_t pCoeffs,
q15_t pState,
uint32_t  blockSize 
)

Initialization function for the Q15 FIR interpolator.

Parameters
[in,out]*Spoints to an instance of the Q15 FIR interpolator structure.
[in]Lupsample factor.
[in]numTapsnumber of filter coefficients in the filter.
[in]*pCoeffspoints to the filter coefficient buffer.
[in]*pStatepoints to the state buffer.
[in]blockSizenumber of input samples to process per call.
Returns
The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if the filter length numTaps is not a multiple of the interpolation factor L.
arm_status arm_fir_interpolate_init_q31 ( arm_fir_interpolate_instance_q31 S,
uint8_t  L,
uint16_t  numTaps,
q31_t pCoeffs,
q31_t pState,
uint32_t  blockSize 
)

Initialization function for the Q31 FIR interpolator.

Parameters
[in,out]*Spoints to an instance of the Q31 FIR interpolator structure.
[in]Lupsample factor.
[in]numTapsnumber of filter coefficients in the filter.
[in]*pCoeffspoints to the filter coefficient buffer.
[in]*pStatepoints to the state buffer.
[in]blockSizenumber of input samples to process per call.
Returns
The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if the filter length numTaps is not a multiple of the interpolation factor L.
void arm_fir_interpolate_q15 ( const arm_fir_interpolate_instance_q15 S,
q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Processing function for the Q15 FIR interpolator.

Parameters
[in]*Spoints to an instance of the Q15 FIR interpolator structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of input samples to process per call.
Returns
none.
void arm_fir_interpolate_q31 ( const arm_fir_interpolate_instance_q31 S,
q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Processing function for the Q31 FIR interpolator.

Parameters
[in]*Spoints to an instance of the Q15 FIR interpolator structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of input samples to process per call.
Returns
none.
void arm_fir_lattice_f32 ( const arm_fir_lattice_instance_f32 S,
float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Processing function for the floating-point FIR lattice filter.

Parameters
[in]*Spoints to an instance of the floating-point FIR lattice structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of samples to process.
Returns
none.
void arm_fir_lattice_init_f32 ( arm_fir_lattice_instance_f32 S,
uint16_t  numStages,
float32_t pCoeffs,
float32_t pState 
)

Initialization function for the floating-point FIR lattice filter.

Parameters
[in]*Spoints to an instance of the floating-point FIR lattice structure.
[in]numStagesnumber of filter stages.
[in]*pCoeffspoints to the coefficient buffer. The array is of length numStages.
[in]*pStatepoints to the state buffer. The array is of length numStages.
Returns
none.
void arm_fir_lattice_init_q15 ( arm_fir_lattice_instance_q15 S,
uint16_t  numStages,
q15_t pCoeffs,
q15_t pState 
)

Initialization function for the Q15 FIR lattice filter.

Parameters
[in]*Spoints to an instance of the Q15 FIR lattice structure.
[in]numStagesnumber of filter stages.
[in]*pCoeffspoints to the coefficient buffer. The array is of length numStages.
[in]*pStatepoints to the state buffer. The array is of length numStages.
Returns
none.
void arm_fir_lattice_init_q31 ( arm_fir_lattice_instance_q31 S,
uint16_t  numStages,
q31_t pCoeffs,
q31_t pState 
)

Initialization function for the Q31 FIR lattice filter.

Parameters
[in]*Spoints to an instance of the Q31 FIR lattice structure.
[in]numStagesnumber of filter stages.
[in]*pCoeffspoints to the coefficient buffer. The array is of length numStages.
[in]*pStatepoints to the state buffer. The array is of length numStages.
Returns
none.
void arm_fir_lattice_q15 ( const arm_fir_lattice_instance_q15 S,
q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Processing function for the Q15 FIR lattice filter.

Parameters
[in]*Spoints to an instance of the Q15 FIR lattice structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_fir_lattice_q31 ( const arm_fir_lattice_instance_q31 S,
q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Processing function for the Q31 FIR lattice filter.

Parameters
[in]*Spoints to an instance of the Q31 FIR lattice structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]blockSizenumber of samples to process.
Returns
none.
void arm_fir_q15 ( const arm_fir_instance_q15 S,
q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Processing function for the Q15 FIR filter.

Parameters
[in]*Spoints to an instance of the Q15 FIR structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_fir_q31 ( const arm_fir_instance_q31 S,
q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Processing function for the Q31 FIR filter.

Parameters
[in]*Spoints to an instance of the Q31 FIR filter structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_fir_q7 ( const arm_fir_instance_q7 S,
q7_t pSrc,
q7_t pDst,
uint32_t  blockSize 
)

Processing function for the Q7 FIR filter.

Parameters
[in]*Spoints to an instance of the Q7 FIR filter structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_fir_sparse_f32 ( arm_fir_sparse_instance_f32 S,
float32_t pSrc,
float32_t pDst,
float32_t pScratchIn,
uint32_t  blockSize 
)

Processing function for the floating-point sparse FIR filter.

Parameters
[in]*Spoints to an instance of the floating-point sparse FIR structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]*pScratchInpoints to a temporary buffer of size blockSize.
[in]blockSizenumber of input samples to process per call.
Returns
none.
void arm_fir_sparse_init_f32 ( arm_fir_sparse_instance_f32 S,
uint16_t  numTaps,
float32_t pCoeffs,
float32_t pState,
int32_t *  pTapDelay,
uint16_t  maxDelay,
uint32_t  blockSize 
)

Initialization function for the floating-point sparse FIR filter.

Parameters
[in,out]*Spoints to an instance of the floating-point sparse FIR structure.
[in]numTapsnumber of nonzero coefficients in the filter.
[in]*pCoeffspoints to the array of filter coefficients.
[in]*pStatepoints to the state buffer.
[in]*pTapDelaypoints to the array of offset times.
[in]maxDelaymaximum offset time supported.
[in]blockSizenumber of samples that will be processed per block.
Returns
none
void arm_fir_sparse_init_q15 ( arm_fir_sparse_instance_q15 S,
uint16_t  numTaps,
q15_t pCoeffs,
q15_t pState,
int32_t *  pTapDelay,
uint16_t  maxDelay,
uint32_t  blockSize 
)

Initialization function for the Q15 sparse FIR filter.

Parameters
[in,out]*Spoints to an instance of the Q15 sparse FIR structure.
[in]numTapsnumber of nonzero coefficients in the filter.
[in]*pCoeffspoints to the array of filter coefficients.
[in]*pStatepoints to the state buffer.
[in]*pTapDelaypoints to the array of offset times.
[in]maxDelaymaximum offset time supported.
[in]blockSizenumber of samples that will be processed per block.
Returns
none
void arm_fir_sparse_init_q31 ( arm_fir_sparse_instance_q31 S,
uint16_t  numTaps,
q31_t pCoeffs,
q31_t pState,
int32_t *  pTapDelay,
uint16_t  maxDelay,
uint32_t  blockSize 
)

Initialization function for the Q31 sparse FIR filter.

Parameters
[in,out]*Spoints to an instance of the Q31 sparse FIR structure.
[in]numTapsnumber of nonzero coefficients in the filter.
[in]*pCoeffspoints to the array of filter coefficients.
[in]*pStatepoints to the state buffer.
[in]*pTapDelaypoints to the array of offset times.
[in]maxDelaymaximum offset time supported.
[in]blockSizenumber of samples that will be processed per block.
Returns
none
void arm_fir_sparse_init_q7 ( arm_fir_sparse_instance_q7 S,
uint16_t  numTaps,
q7_t pCoeffs,
q7_t pState,
int32_t *  pTapDelay,
uint16_t  maxDelay,
uint32_t  blockSize 
)

Initialization function for the Q7 sparse FIR filter.

Parameters
[in,out]*Spoints to an instance of the Q7 sparse FIR structure.
[in]numTapsnumber of nonzero coefficients in the filter.
[in]*pCoeffspoints to the array of filter coefficients.
[in]*pStatepoints to the state buffer.
[in]*pTapDelaypoints to the array of offset times.
[in]maxDelaymaximum offset time supported.
[in]blockSizenumber of samples that will be processed per block.
Returns
none
void arm_fir_sparse_q15 ( arm_fir_sparse_instance_q15 S,
q15_t pSrc,
q15_t pDst,
q15_t pScratchIn,
q31_t pScratchOut,
uint32_t  blockSize 
)

Processing function for the Q15 sparse FIR filter.

Parameters
[in]*Spoints to an instance of the Q15 sparse FIR structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]*pScratchInpoints to a temporary buffer of size blockSize.
[in]*pScratchOutpoints to a temporary buffer of size blockSize.
[in]blockSizenumber of input samples to process per call.
Returns
none.
void arm_fir_sparse_q31 ( arm_fir_sparse_instance_q31 S,
q31_t pSrc,
q31_t pDst,
q31_t pScratchIn,
uint32_t  blockSize 
)

Processing function for the Q31 sparse FIR filter.

Parameters
[in]*Spoints to an instance of the Q31 sparse FIR structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]*pScratchInpoints to a temporary buffer of size blockSize.
[in]blockSizenumber of input samples to process per call.
Returns
none.
void arm_fir_sparse_q7 ( arm_fir_sparse_instance_q7 S,
q7_t pSrc,
q7_t pDst,
q7_t pScratchIn,
q31_t pScratchOut,
uint32_t  blockSize 
)

Processing function for the Q7 sparse FIR filter.

Parameters
[in]*Spoints to an instance of the Q7 sparse FIR structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data
[in]*pScratchInpoints to a temporary buffer of size blockSize.
[in]*pScratchOutpoints to a temporary buffer of size blockSize.
[in]blockSizenumber of input samples to process per call.
Returns
none.
void arm_float_to_q15 ( float32_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Converts the elements of the floating-point vector to Q15 vector.

Parameters
[in]*pSrcpoints to the floating-point input vector
[out]*pDstpoints to the Q15 output vector
[in]blockSizelength of the input vector
Returns
none
void arm_float_to_q31 ( float32_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Converts the elements of the floating-point vector to Q31 vector.

Parameters
[in]*pSrcpoints to the floating-point input vector
[out]*pDstpoints to the Q31 output vector
[in]blockSizelength of the input vector
Returns
none.
void arm_float_to_q7 ( float32_t pSrc,
q7_t pDst,
uint32_t  blockSize 
)

Converts the elements of the floating-point vector to Q7 vector.

Parameters
[in]*pSrcpoints to the floating-point input vector
[out]*pDstpoints to the Q7 output vector
[in]blockSizelength of the input vector
Returns
none
void arm_iir_lattice_f32 ( const arm_iir_lattice_instance_f32 S,
float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Processing function for the floating-point IIR lattice filter.

Parameters
[in]*Spoints to an instance of the floating-point IIR lattice structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_iir_lattice_init_f32 ( arm_iir_lattice_instance_f32 S,
uint16_t  numStages,
float32_t pkCoeffs,
float32_t pvCoeffs,
float32_t pState,
uint32_t  blockSize 
)

Initialization function for the floating-point IIR lattice filter.

Parameters
[in]*Spoints to an instance of the floating-point IIR lattice structure.
[in]numStagesnumber of stages in the filter.
[in]*pkCoeffspoints to the reflection coefficient buffer. The array is of length numStages.
[in]*pvCoeffspoints to the ladder coefficient buffer. The array is of length numStages+1.
[in]*pStatepoints to the state buffer. The array is of length numStages+blockSize-1.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_iir_lattice_init_q15 ( arm_iir_lattice_instance_q15 S,
uint16_t  numStages,
q15_t pkCoeffs,
q15_t pvCoeffs,
q15_t pState,
uint32_t  blockSize 
)

Initialization function for the Q15 IIR lattice filter.

Parameters
[in]*Spoints to an instance of the fixed-point Q15 IIR lattice structure.
[in]numStagesnumber of stages in the filter.
[in]*pkCoeffspoints to reflection coefficient buffer. The array is of length numStages.
[in]*pvCoeffspoints to ladder coefficient buffer. The array is of length numStages+1.
[in]*pStatepoints to state buffer. The array is of length numStages+blockSize.
[in]blockSizenumber of samples to process per call.
Returns
none.
void arm_iir_lattice_init_q31 ( arm_iir_lattice_instance_q31 S,
uint16_t  numStages,
q31_t pkCoeffs,
q31_t pvCoeffs,
q31_t pState,
uint32_t  blockSize 
)

Initialization function for the Q31 IIR lattice filter.

Parameters
[in]*Spoints to an instance of the Q31 IIR lattice structure.
[in]numStagesnumber of stages in the filter.
[in]*pkCoeffspoints to the reflection coefficient buffer. The array is of length numStages.
[in]*pvCoeffspoints to the ladder coefficient buffer. The array is of length numStages+1.
[in]*pStatepoints to the state buffer. The array is of length numStages+blockSize.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_iir_lattice_q15 ( const arm_iir_lattice_instance_q15 S,
q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Processing function for the Q15 IIR lattice filter.

Parameters
[in]*Spoints to an instance of the Q15 IIR lattice structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_iir_lattice_q31 ( const arm_iir_lattice_instance_q31 S,
q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Processing function for the Q31 IIR lattice filter.

Parameters
[in]*Spoints to an instance of the Q31 IIR lattice structure.
[in]*pSrcpoints to the block of input data.
[out]*pDstpoints to the block of output data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_lms_f32 ( const arm_lms_instance_f32 S,
float32_t pSrc,
float32_t pRef,
float32_t pOut,
float32_t pErr,
uint32_t  blockSize 
)

Processing function for floating-point LMS filter.

Parameters
[in]*Spoints to an instance of the floating-point LMS filter structure.
[in]*pSrcpoints to the block of input data.
[in]*pRefpoints to the block of reference data.
[out]*pOutpoints to the block of output data.
[out]*pErrpoints to the block of error data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_lms_init_f32 ( arm_lms_instance_f32 S,
uint16_t  numTaps,
float32_t pCoeffs,
float32_t pState,
float32_t  mu,
uint32_t  blockSize 
)

Initialization function for floating-point LMS filter.

Parameters
[in]*Spoints to an instance of the floating-point LMS filter structure.
[in]numTapsnumber of filter coefficients.
[in]*pCoeffspoints to the coefficient buffer.
[in]*pStatepoints to state buffer.
[in]mustep size that controls filter coefficient updates.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_lms_init_q15 ( arm_lms_instance_q15 S,
uint16_t  numTaps,
q15_t pCoeffs,
q15_t pState,
q15_t  mu,
uint32_t  blockSize,
uint32_t  postShift 
)

Initialization function for the Q15 LMS filter.

Parameters
[in]*Spoints to an instance of the Q15 LMS filter structure.
[in]numTapsnumber of filter coefficients.
[in]*pCoeffspoints to the coefficient buffer.
[in]*pStatepoints to the state buffer.
[in]mustep size that controls filter coefficient updates.
[in]blockSizenumber of samples to process.
[in]postShiftbit shift applied to coefficients.
Returns
none.
void arm_lms_init_q31 ( arm_lms_instance_q31 S,
uint16_t  numTaps,
q31_t pCoeffs,
q31_t pState,
q31_t  mu,
uint32_t  blockSize,
uint32_t  postShift 
)

Initialization function for Q31 LMS filter.

Parameters
[in]*Spoints to an instance of the Q31 LMS filter structure.
[in]numTapsnumber of filter coefficients.
[in]*pCoeffspoints to coefficient buffer.
[in]*pStatepoints to state buffer.
[in]mustep size that controls filter coefficient updates.
[in]blockSizenumber of samples to process.
[in]postShiftbit shift applied to coefficients.
Returns
none.
void arm_lms_norm_f32 ( arm_lms_norm_instance_f32 S,
float32_t pSrc,
float32_t pRef,
float32_t pOut,
float32_t pErr,
uint32_t  blockSize 
)

Processing function for floating-point normalized LMS filter.

Parameters
[in]*Spoints to an instance of the floating-point normalized LMS filter structure.
[in]*pSrcpoints to the block of input data.
[in]*pRefpoints to the block of reference data.
[out]*pOutpoints to the block of output data.
[out]*pErrpoints to the block of error data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_lms_norm_init_f32 ( arm_lms_norm_instance_f32 S,
uint16_t  numTaps,
float32_t pCoeffs,
float32_t pState,
float32_t  mu,
uint32_t  blockSize 
)

Initialization function for floating-point normalized LMS filter.

Parameters
[in]*Spoints to an instance of the floating-point LMS filter structure.
[in]numTapsnumber of filter coefficients.
[in]*pCoeffspoints to coefficient buffer.
[in]*pStatepoints to state buffer.
[in]mustep size that controls filter coefficient updates.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_lms_norm_init_q15 ( arm_lms_norm_instance_q15 S,
uint16_t  numTaps,
q15_t pCoeffs,
q15_t pState,
q15_t  mu,
uint32_t  blockSize,
uint8_t  postShift 
)

Initialization function for Q15 normalized LMS filter.

Parameters
[in]*Spoints to an instance of the Q15 normalized LMS filter structure.
[in]numTapsnumber of filter coefficients.
[in]*pCoeffspoints to coefficient buffer.
[in]*pStatepoints to state buffer.
[in]mustep size that controls filter coefficient updates.
[in]blockSizenumber of samples to process.
[in]postShiftbit shift applied to coefficients.
Returns
none.
void arm_lms_norm_init_q31 ( arm_lms_norm_instance_q31 S,
uint16_t  numTaps,
q31_t pCoeffs,
q31_t pState,
q31_t  mu,
uint32_t  blockSize,
uint8_t  postShift 
)

Initialization function for Q31 normalized LMS filter.

Parameters
[in]*Spoints to an instance of the Q31 normalized LMS filter structure.
[in]numTapsnumber of filter coefficients.
[in]*pCoeffspoints to coefficient buffer.
[in]*pStatepoints to state buffer.
[in]mustep size that controls filter coefficient updates.
[in]blockSizenumber of samples to process.
[in]postShiftbit shift applied to coefficients.
Returns
none.
void arm_lms_norm_q15 ( arm_lms_norm_instance_q15 S,
q15_t pSrc,
q15_t pRef,
q15_t pOut,
q15_t pErr,
uint32_t  blockSize 
)

Processing function for Q15 normalized LMS filter.

Parameters
[in]*Spoints to an instance of the Q15 normalized LMS filter structure.
[in]*pSrcpoints to the block of input data.
[in]*pRefpoints to the block of reference data.
[out]*pOutpoints to the block of output data.
[out]*pErrpoints to the block of error data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_lms_norm_q31 ( arm_lms_norm_instance_q31 S,
q31_t pSrc,
q31_t pRef,
q31_t pOut,
q31_t pErr,
uint32_t  blockSize 
)

Processing function for Q31 normalized LMS filter.

Parameters
[in]*Spoints to an instance of the Q31 normalized LMS filter structure.
[in]*pSrcpoints to the block of input data.
[in]*pRefpoints to the block of reference data.
[out]*pOutpoints to the block of output data.
[out]*pErrpoints to the block of error data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_lms_q15 ( const arm_lms_instance_q15 S,
q15_t pSrc,
q15_t pRef,
q15_t pOut,
q15_t pErr,
uint32_t  blockSize 
)

Processing function for Q15 LMS filter.

Parameters
[in]*Spoints to an instance of the Q15 LMS filter structure.
[in]*pSrcpoints to the block of input data.
[in]*pRefpoints to the block of reference data.
[out]*pOutpoints to the block of output data.
[out]*pErrpoints to the block of error data.
[in]blockSizenumber of samples to process.
Returns
none.
void arm_lms_q31 ( const arm_lms_instance_q31 S,
q31_t pSrc,
q31_t pRef,
q31_t pOut,
q31_t pErr,
uint32_t  blockSize 
)

Processing function for Q31 LMS filter.

Parameters
[in]*Spoints to an instance of the Q15 LMS filter structure.
[in]*pSrcpoints to the block of input data.
[in]*pRefpoints to the block of reference data.
[out]*pOutpoints to the block of output data.
[out]*pErrpoints to the block of error data.
[in]blockSizenumber of samples to process.
Returns
none.
arm_status arm_mat_add_f32 ( const arm_matrix_instance_f32 pSrcA,
const arm_matrix_instance_f32 pSrcB,
arm_matrix_instance_f32 pDst 
)

Floating-point matrix addition.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_add_q15 ( const arm_matrix_instance_q15 pSrcA,
const arm_matrix_instance_q15 pSrcB,
arm_matrix_instance_q15 pDst 
)

Q15 matrix addition.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_add_q31 ( const arm_matrix_instance_q31 pSrcA,
const arm_matrix_instance_q31 pSrcB,
arm_matrix_instance_q31 pDst 
)

Q31 matrix addition.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_cmplx_mult_f32 ( const arm_matrix_instance_f32 pSrcA,
const arm_matrix_instance_f32 pSrcB,
arm_matrix_instance_f32 pDst 
)

Floating-point, complex, matrix multiplication.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_cmplx_mult_q15 ( const arm_matrix_instance_q15 pSrcA,
const arm_matrix_instance_q15 pSrcB,
arm_matrix_instance_q15 pDst,
q15_t pScratch 
)

Q15, complex, matrix multiplication.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_cmplx_mult_q31 ( const arm_matrix_instance_q31 pSrcA,
const arm_matrix_instance_q31 pSrcB,
arm_matrix_instance_q31 pDst 
)

Q31, complex, matrix multiplication.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
void arm_mat_init_f32 ( arm_matrix_instance_f32 S,
uint16_t  nRows,
uint16_t  nColumns,
float32_t pData 
)

Floating-point matrix initialization.

Parameters
[in,out]*Spoints to an instance of the floating-point matrix structure.
[in]nRowsnumber of rows in the matrix.
[in]nColumnsnumber of columns in the matrix.
[in]*pDatapoints to the matrix data array.
Returns
none
void arm_mat_init_q15 ( arm_matrix_instance_q15 S,
uint16_t  nRows,
uint16_t  nColumns,
q15_t pData 
)

Q15 matrix initialization.

Parameters
[in,out]*Spoints to an instance of the floating-point matrix structure.
[in]nRowsnumber of rows in the matrix.
[in]nColumnsnumber of columns in the matrix.
[in]*pDatapoints to the matrix data array.
Returns
none
void arm_mat_init_q31 ( arm_matrix_instance_q31 S,
uint16_t  nRows,
uint16_t  nColumns,
q31_t pData 
)

Q31 matrix initialization.

Parameters
[in,out]*Spoints to an instance of the floating-point matrix structure.
[in]nRowsnumber of rows in the matrix.
[in]nColumnsnumber of columns in the matrix.
[in]*pDatapoints to the matrix data array.
Returns
none
arm_status arm_mat_inverse_f32 ( const arm_matrix_instance_f32 src,
arm_matrix_instance_f32 dst 
)

Floating-point matrix inverse.

end of PID group

Parameters
[in]*srcpoints to the instance of the input floating-point matrix structure.
[out]*dstpoints to the instance of the output floating-point matrix structure.
Returns
The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match. If the input matrix is singular (does not have an inverse), then the algorithm terminates and returns error status ARM_MATH_SINGULAR.
arm_status arm_mat_inverse_f64 ( const arm_matrix_instance_f64 src,
arm_matrix_instance_f64 dst 
)

Floating-point matrix inverse.

Parameters
[in]*srcpoints to the instance of the input floating-point matrix structure.
[out]*dstpoints to the instance of the output floating-point matrix structure.
Returns
The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match. If the input matrix is singular (does not have an inverse), then the algorithm terminates and returns error status ARM_MATH_SINGULAR.
arm_status arm_mat_mult_f32 ( const arm_matrix_instance_f32 pSrcA,
const arm_matrix_instance_f32 pSrcB,
arm_matrix_instance_f32 pDst 
)

Floating-point matrix multiplication.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_mult_fast_q15 ( const arm_matrix_instance_q15 pSrcA,
const arm_matrix_instance_q15 pSrcB,
arm_matrix_instance_q15 pDst,
q15_t pState 
)

Q15 matrix multiplication (fast variant) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
[in]*pStatepoints to the array for storing intermediate results
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_mult_fast_q31 ( const arm_matrix_instance_q31 pSrcA,
const arm_matrix_instance_q31 pSrcB,
arm_matrix_instance_q31 pDst 
)

Q31 matrix multiplication (fast variant) for Cortex-M3 and Cortex-M4.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_mult_q15 ( const arm_matrix_instance_q15 pSrcA,
const arm_matrix_instance_q15 pSrcB,
arm_matrix_instance_q15 pDst,
q15_t pState 
)

Q15 matrix multiplication.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
[in]*pStatepoints to the array for storing intermediate results
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_mult_q31 ( const arm_matrix_instance_q31 pSrcA,
const arm_matrix_instance_q31 pSrcB,
arm_matrix_instance_q31 pDst 
)

Q31 matrix multiplication.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_scale_f32 ( const arm_matrix_instance_f32 pSrc,
float32_t  scale,
arm_matrix_instance_f32 pDst 
)

Floating-point matrix scaling.

Parameters
[in]*pSrcpoints to the input matrix
[in]scalescale factor
[out]*pDstpoints to the output matrix
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_scale_q15 ( const arm_matrix_instance_q15 pSrc,
q15_t  scaleFract,
int32_t  shift,
arm_matrix_instance_q15 pDst 
)

Q15 matrix scaling.

Parameters
[in]*pSrcpoints to input matrix
[in]scaleFractfractional portion of the scale factor
[in]shiftnumber of bits to shift the result by
[out]*pDstpoints to output matrix
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_scale_q31 ( const arm_matrix_instance_q31 pSrc,
q31_t  scaleFract,
int32_t  shift,
arm_matrix_instance_q31 pDst 
)

Q31 matrix scaling.

Parameters
[in]*pSrcpoints to input matrix
[in]scaleFractfractional portion of the scale factor
[in]shiftnumber of bits to shift the result by
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_sub_f32 ( const arm_matrix_instance_f32 pSrcA,
const arm_matrix_instance_f32 pSrcB,
arm_matrix_instance_f32 pDst 
)

Floating-point matrix subtraction.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_sub_q15 ( const arm_matrix_instance_q15 pSrcA,
const arm_matrix_instance_q15 pSrcB,
arm_matrix_instance_q15 pDst 
)

Q15 matrix subtraction.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_sub_q31 ( const arm_matrix_instance_q31 pSrcA,
const arm_matrix_instance_q31 pSrcB,
arm_matrix_instance_q31 pDst 
)

Q31 matrix subtraction.

Parameters
[in]*pSrcApoints to the first input matrix structure
[in]*pSrcBpoints to the second input matrix structure
[out]*pDstpoints to output matrix structure
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_trans_f32 ( const arm_matrix_instance_f32 pSrc,
arm_matrix_instance_f32 pDst 
)

Floating-point matrix transpose.

Parameters
[in]*pSrcpoints to the input matrix
[out]*pDstpoints to the output matrix
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_trans_q15 ( const arm_matrix_instance_q15 pSrc,
arm_matrix_instance_q15 pDst 
)

Q15 matrix transpose.

Parameters
[in]*pSrcpoints to the input matrix
[out]*pDstpoints to the output matrix
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
arm_status arm_mat_trans_q31 ( const arm_matrix_instance_q31 pSrc,
arm_matrix_instance_q31 pDst 
)

Q31 matrix transpose.

Parameters
[in]*pSrcpoints to the input matrix
[out]*pDstpoints to the output matrix
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
void arm_max_f32 ( float32_t pSrc,
uint32_t  blockSize,
float32_t pResult,
uint32_t *  pIndex 
)

Maximum value of a floating-point vector.

Parameters
[in]*pSrcpoints to the input buffer
[in]blockSizelength of the input vector
[out]*pResultmaximum value returned here
[out]*pIndexindex of maximum value returned here
Returns
none.
void arm_max_q15 ( q15_t pSrc,
uint32_t  blockSize,
q15_t pResult,
uint32_t *  pIndex 
)

Maximum value of a Q15 vector.

Parameters
[in]*pSrcpoints to the input buffer
[in]blockSizelength of the input vector
[out]*pResultmaximum value returned here
[out]*pIndexindex of maximum value returned here
Returns
none.
void arm_max_q31 ( q31_t pSrc,
uint32_t  blockSize,
q31_t pResult,
uint32_t *  pIndex 
)

Maximum value of a Q31 vector.

Parameters
[in]*pSrcpoints to the input buffer
[in]blockSizelength of the input vector
[out]*pResultmaximum value returned here
[out]*pIndexindex of maximum value returned here
Returns
none.
void arm_max_q7 ( q7_t pSrc,
uint32_t  blockSize,
q7_t pResult,
uint32_t *  pIndex 
)

Maximum value of a Q7 vector.

Parameters
[in]*pSrcpoints to the input buffer
[in]blockSizelength of the input vector
[out]*pResultmaximum value returned here
[out]*pIndexindex of maximum value returned here
Returns
none.
void arm_mean_f32 ( float32_t pSrc,
uint32_t  blockSize,
float32_t pResult 
)

Mean value of a floating-point vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_mean_q15 ( q15_t pSrc,
uint32_t  blockSize,
q15_t pResult 
)

Mean value of a Q15 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_mean_q31 ( q31_t pSrc,
uint32_t  blockSize,
q31_t pResult 
)

Mean value of a Q31 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_mean_q7 ( q7_t pSrc,
uint32_t  blockSize,
q7_t pResult 
)

Mean value of a Q7 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_min_f32 ( float32_t pSrc,
uint32_t  blockSize,
float32_t pResult,
uint32_t *  pIndex 
)

Minimum value of a floating-point vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output pointer
[out]*pIndexis the array index of the minimum value in the input buffer.
Returns
none.
void arm_min_q15 ( q15_t pSrc,
uint32_t  blockSize,
q15_t pResult,
uint32_t *  pIndex 
)

Minimum value of a Q15 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output pointer
[in]*pIndexis the array index of the minimum value in the input buffer.
Returns
none.
void arm_min_q31 ( q31_t pSrc,
uint32_t  blockSize,
q31_t pResult,
uint32_t *  pIndex 
)

Minimum value of a Q31 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output pointer
[out]*pIndexis the array index of the minimum value in the input buffer.
Returns
none.
void arm_min_q7 ( q7_t pSrc,
uint32_t  blockSize,
q7_t result,
uint32_t *  index 
)

Minimum value of a Q7 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*resultis output pointer
[in]indexis the array index of the minimum value in the input buffer.
Returns
none.
void arm_mult_f32 ( float32_t pSrcA,
float32_t pSrcB,
float32_t pDst,
uint32_t  blockSize 
)

Floating-point vector multiplication.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_mult_q15 ( q15_t pSrcA,
q15_t pSrcB,
q15_t pDst,
uint32_t  blockSize 
)

Q15 vector multiplication.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_mult_q31 ( q31_t pSrcA,
q31_t pSrcB,
q31_t pDst,
uint32_t  blockSize 
)

Q31 vector multiplication.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_mult_q7 ( q7_t pSrcA,
q7_t pSrcB,
q7_t pDst,
uint32_t  blockSize 
)

Q7 vector multiplication.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_negate_f32 ( float32_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Negates the elements of a floating-point vector.

Parameters
[in]*pSrcpoints to the input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_negate_q15 ( q15_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Negates the elements of a Q15 vector.

Parameters
[in]*pSrcpoints to the input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_negate_q31 ( q31_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Negates the elements of a Q31 vector.

Parameters
[in]*pSrcpoints to the input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_negate_q7 ( q7_t pSrc,
q7_t pDst,
uint32_t  blockSize 
)

Negates the elements of a Q7 vector.

Parameters
[in]*pSrcpoints to the input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_offset_f32 ( float32_t pSrc,
float32_t  offset,
float32_t pDst,
uint32_t  blockSize 
)

Adds a constant offset to a floating-point vector.

Parameters
[in]*pSrcpoints to the input vector
[in]offsetis the offset to be added
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_offset_q15 ( q15_t pSrc,
q15_t  offset,
q15_t pDst,
uint32_t  blockSize 
)

Adds a constant offset to a Q15 vector.

Parameters
[in]*pSrcpoints to the input vector
[in]offsetis the offset to be added
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_offset_q31 ( q31_t pSrc,
q31_t  offset,
q31_t pDst,
uint32_t  blockSize 
)

Adds a constant offset to a Q31 vector.

Parameters
[in]*pSrcpoints to the input vector
[in]offsetis the offset to be added
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_offset_q7 ( q7_t pSrc,
q7_t  offset,
q7_t pDst,
uint32_t  blockSize 
)

Adds a constant offset to a Q7 vector.

Parameters
[in]*pSrcpoints to the input vector
[in]offsetis the offset to be added
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_pid_init_f32 ( arm_pid_instance_f32 S,
int32_t  resetStateFlag 
)

Initialization function for the floating-point PID Control.

Parameters
[in,out]*Spoints to an instance of the PID structure.
[in]resetStateFlagflag to reset the state. 0 = no change in state 1 = reset the state.
Returns
none.
void arm_pid_init_q15 ( arm_pid_instance_q15 S,
int32_t  resetStateFlag 
)

Initialization function for the Q15 PID Control.

Parameters
[in,out]*Spoints to an instance of the Q15 PID structure.
[in]resetStateFlagflag to reset the state. 0 = no change in state 1 = reset the state.
Returns
none.
void arm_pid_init_q31 ( arm_pid_instance_q31 S,
int32_t  resetStateFlag 
)

Initialization function for the Q31 PID Control.

Parameters
[in,out]*Spoints to an instance of the Q15 PID structure.
[in]resetStateFlagflag to reset the state. 0 = no change in state 1 = reset the state.
Returns
none.
void arm_pid_reset_f32 ( arm_pid_instance_f32 S)

Reset function for the floating-point PID Control.

Parameters
[in,out]*Sis an instance of the floating-point PID Control structure
Returns
none
void arm_pid_reset_q15 ( arm_pid_instance_q15 S)

Reset function for the Q15 PID Control.

Parameters
[in,out]*Spoints to an instance of the q15 PID Control structure
Returns
none
void arm_pid_reset_q31 ( arm_pid_instance_q31 S)

Reset function for the Q31 PID Control.

Parameters
[in,out]*Spoints to an instance of the Q31 PID Control structure
Returns
none
void arm_power_f32 ( float32_t pSrc,
uint32_t  blockSize,
float32_t pResult 
)

Sum of the squares of the elements of a floating-point vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_power_q15 ( q15_t pSrc,
uint32_t  blockSize,
q63_t pResult 
)

Sum of the squares of the elements of a Q15 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_power_q31 ( q31_t pSrc,
uint32_t  blockSize,
q63_t pResult 
)

Sum of the squares of the elements of a Q31 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_power_q7 ( q7_t pSrc,
uint32_t  blockSize,
q31_t pResult 
)

Sum of the squares of the elements of a Q7 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_q15_to_float ( q15_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Converts the elements of the Q15 vector to floating-point vector.

Parameters
[in]*pSrcis input pointer
[out]*pDstis output pointer
[in]blockSizeis the number of samples to process
Returns
none.
void arm_q15_to_q31 ( q15_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Converts the elements of the Q15 vector to Q31 vector.

Parameters
[in]*pSrcis input pointer
[out]*pDstis output pointer
[in]blockSizeis the number of samples to process
Returns
none.
void arm_q15_to_q7 ( q15_t pSrc,
q7_t pDst,
uint32_t  blockSize 
)

Converts the elements of the Q15 vector to Q7 vector.

Parameters
[in]*pSrcis input pointer
[out]*pDstis output pointer
[in]blockSizeis the number of samples to process
Returns
none.
void arm_q31_to_float ( q31_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Converts the elements of the Q31 vector to floating-point vector.

end of Inverse park group

Parameters
[in]*pSrcis input pointer
[out]*pDstis output pointer
[in]blockSizeis the number of samples to process
Returns
none.
void arm_q31_to_q15 ( q31_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Converts the elements of the Q31 vector to Q15 vector.

Parameters
[in]*pSrcis input pointer
[out]*pDstis output pointer
[in]blockSizeis the number of samples to process
Returns
none.
void arm_q31_to_q7 ( q31_t pSrc,
q7_t pDst,
uint32_t  blockSize 
)

Converts the elements of the Q31 vector to Q7 vector.

Parameters
[in]*pSrcis input pointer
[out]*pDstis output pointer
[in]blockSizeis the number of samples to process
Returns
none.
void arm_q7_to_float ( q7_t pSrc,
float32_t pDst,
uint32_t  blockSize 
)

Converts the elements of the Q7 vector to floating-point vector.

end of park group

Parameters
[in]*pSrcis input pointer
[out]*pDstis output pointer
[in]blockSizeis the number of samples to process
Returns
none.
void arm_q7_to_q15 ( q7_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Converts the elements of the Q7 vector to Q15 vector.

end of inv_clarke group

Parameters
[in]*pSrcinput pointer
[out]*pDstoutput pointer
[in]blockSizenumber of samples to process
Returns
none.
void arm_q7_to_q31 ( q7_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Converts the elements of the Q7 vector to Q31 vector.

end of clarke group

Parameters
[in]*pSrcinput pointer
[out]*pDstoutput pointer
[in]blockSizenumber of samples to process
Returns
none.
static __INLINE uint32_t arm_recip_q15 ( q15_t  in,
q15_t dst,
q15_t pRecipTable 
)
static

Function to Calculates 1/in (reciprocal) value of Q15 Data type.

Definition at line 592 of file arm_math.h.

static __INLINE uint32_t arm_recip_q31 ( q31_t  in,
q31_t dst,
q31_t pRecipTable 
)
static

Function to Calculates 1/in (reciprocal) value of Q31 Data type.

Definition at line 541 of file arm_math.h.

void arm_rfft_f32 ( const arm_rfft_instance_f32 S,
float32_t pSrc,
float32_t pDst 
)
void arm_rfft_fast_f32 ( arm_rfft_fast_instance_f32 S,
float32_t p,
float32_t pOut,
uint8_t  ifftFlag 
)
arm_status arm_rfft_fast_init_f32 ( arm_rfft_fast_instance_f32 S,
uint16_t  fftLen 
)
arm_status arm_rfft_init_f32 ( arm_rfft_instance_f32 S,
arm_cfft_radix4_instance_f32 S_CFFT,
uint32_t  fftLenReal,
uint32_t  ifftFlagR,
uint32_t  bitReverseFlag 
)
arm_status arm_rfft_init_q15 ( arm_rfft_instance_q15 S,
uint32_t  fftLenReal,
uint32_t  ifftFlagR,
uint32_t  bitReverseFlag 
)
arm_status arm_rfft_init_q31 ( arm_rfft_instance_q31 S,
uint32_t  fftLenReal,
uint32_t  ifftFlagR,
uint32_t  bitReverseFlag 
)
void arm_rfft_q15 ( const arm_rfft_instance_q15 S,
q15_t pSrc,
q15_t pDst 
)
void arm_rfft_q31 ( const arm_rfft_instance_q31 S,
q31_t pSrc,
q31_t pDst 
)
void arm_rms_f32 ( float32_t pSrc,
uint32_t  blockSize,
float32_t pResult 
)

Root Mean Square of the elements of a floating-point vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_rms_q15 ( q15_t pSrc,
uint32_t  blockSize,
q15_t pResult 
)

Root Mean Square of the elements of a Q15 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_rms_q31 ( q31_t pSrc,
uint32_t  blockSize,
q31_t pResult 
)

Root Mean Square of the elements of a Q31 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_scale_f32 ( float32_t pSrc,
float32_t  scale,
float32_t pDst,
uint32_t  blockSize 
)

Multiplies a floating-point vector by a scalar.

Parameters
[in]*pSrcpoints to the input vector
[in]scalescale factor to be applied
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_scale_q15 ( q15_t pSrc,
q15_t  scaleFract,
int8_t  shift,
q15_t pDst,
uint32_t  blockSize 
)

Multiplies a Q15 vector by a scalar.

Parameters
[in]*pSrcpoints to the input vector
[in]scaleFractfractional portion of the scale value
[in]shiftnumber of bits to shift the result by
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_scale_q31 ( q31_t pSrc,
q31_t  scaleFract,
int8_t  shift,
q31_t pDst,
uint32_t  blockSize 
)

Multiplies a Q31 vector by a scalar.

Parameters
[in]*pSrcpoints to the input vector
[in]scaleFractfractional portion of the scale value
[in]shiftnumber of bits to shift the result by
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_scale_q7 ( q7_t pSrc,
q7_t  scaleFract,
int8_t  shift,
q7_t pDst,
uint32_t  blockSize 
)

Multiplies a Q7 vector by a scalar.

Parameters
[in]*pSrcpoints to the input vector
[in]scaleFractfractional portion of the scale value
[in]shiftnumber of bits to shift the result by
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_shift_q15 ( q15_t pSrc,
int8_t  shiftBits,
q15_t pDst,
uint32_t  blockSize 
)

Shifts the elements of a Q15 vector a specified number of bits.

Parameters
[in]*pSrcpoints to the input vector
[in]shiftBitsnumber of bits to shift. A positive value shifts left; a negative value shifts right.
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_shift_q31 ( q31_t pSrc,
int8_t  shiftBits,
q31_t pDst,
uint32_t  blockSize 
)

Shifts the elements of a Q31 vector a specified number of bits.

Parameters
[in]*pSrcpoints to the input vector
[in]shiftBitsnumber of bits to shift. A positive value shifts left; a negative value shifts right.
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_shift_q7 ( q7_t pSrc,
int8_t  shiftBits,
q7_t pDst,
uint32_t  blockSize 
)

Shifts the elements of a Q7 vector a specified number of bits.

Parameters
[in]*pSrcpoints to the input vector
[in]shiftBitsnumber of bits to shift. A positive value shifts left; a negative value shifts right.
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in the vector
Returns
none.
void arm_sin_cos_f32 ( float32_t  theta,
float32_t pSinVal,
float32_t pCcosVal 
)
void arm_sin_cos_q31 ( q31_t  theta,
q31_t pSinVal,
q31_t pCosVal 
)
float32_t arm_sin_f32 ( float32_t  x)

Fast approximation to the trigonometric sine function for floating-point data.

end of LinearInterpolate group

Parameters
[in]xinput value in radians.
Returns
sin(x).
q15_t arm_sin_q15 ( q15_t  x)

Fast approximation to the trigonometric sine function for Q15 data.

Parameters
[in]xScaled input value in radians.
Returns
sin(x).
q31_t arm_sin_q31 ( q31_t  x)

Fast approximation to the trigonometric sine function for Q31 data.

Parameters
[in]xScaled input value in radians.
Returns
sin(x).
void arm_std_f32 ( float32_t pSrc,
uint32_t  blockSize,
float32_t pResult 
)

Standard deviation of the elements of a floating-point vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_std_q15 ( q15_t pSrc,
uint32_t  blockSize,
q15_t pResult 
)

Standard deviation of the elements of a Q15 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_std_q31 ( q31_t pSrc,
uint32_t  blockSize,
q31_t pResult 
)

Standard deviation of the elements of a Q31 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_sub_f32 ( float32_t pSrcA,
float32_t pSrcB,
float32_t pDst,
uint32_t  blockSize 
)

Floating-point vector subtraction.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_sub_q15 ( q15_t pSrcA,
q15_t pSrcB,
q15_t pDst,
uint32_t  blockSize 
)

Q15 vector subtraction.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_sub_q31 ( q31_t pSrcA,
q31_t pSrcB,
q31_t pDst,
uint32_t  blockSize 
)

Q31 vector subtraction.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_sub_q7 ( q7_t pSrcA,
q7_t pSrcB,
q7_t pDst,
uint32_t  blockSize 
)

Q7 vector subtraction.

Parameters
[in]*pSrcApoints to the first input vector
[in]*pSrcBpoints to the second input vector
[out]*pDstpoints to the output vector
[in]blockSizenumber of samples in each vector
Returns
none.
void arm_var_f32 ( float32_t pSrc,
uint32_t  blockSize,
float32_t pResult 
)

Variance of the elements of a floating-point vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_var_q15 ( q15_t pSrc,
uint32_t  blockSize,
q15_t pResult 
)

Variance of the elements of a Q15 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
void arm_var_q31 ( q31_t pSrc,
uint32_t  blockSize,
q31_t pResult 
)

Variance of the elements of a Q31 vector.

Parameters
[in]*pSrcis input pointer
[in]blockSizeis the number of samples to process
[out]*pResultis output value.
Returns
none.
static __INLINE q15_t clip_q31_to_q15 ( q31_t  x)
static

Clips Q31 to Q15 values.

Definition at line 489 of file arm_math.h.

static __INLINE q7_t clip_q31_to_q7 ( q31_t  x)
static

Clips Q31 to Q7 values.

Definition at line 479 of file arm_math.h.

static __INLINE q15_t clip_q63_to_q15 ( q63_t  x)
static

Clips Q63 to Q15 values.

Definition at line 469 of file arm_math.h.

static __INLINE q31_t clip_q63_to_q31 ( q63_t  x)
static

Clips Q63 to Q31 values.

Definition at line 459 of file arm_math.h.

static __INLINE q63_t mult32x64 ( q63_t  x,
q31_t  y 
)
static

Multiplies 32 X 64 and returns 32 bit result in 2.30 format.

Definition at line 500 of file arm_math.h.



rosflight_firmware
Author(s): Daniel Koch , James Jackson
autogenerated on Thu Apr 15 2021 05:07:50