292 #if defined ( __GNUC__ ) 293 #pragma GCC diagnostic push 294 #pragma GCC diagnostic ignored "-Wsign-conversion" 295 #pragma GCC diagnostic ignored "-Wconversion" 296 #pragma GCC diagnostic ignored "-Wunused-parameter" 299 #define __CMSIS_GENERIC 301 #if defined(ARM_MATH_CM7) 303 #elif defined (ARM_MATH_CM4) 305 #elif defined (ARM_MATH_CM3) 307 #elif defined (ARM_MATH_CM0) 309 #define ARM_MATH_CM0_FAMILY 310 #elif defined (ARM_MATH_CM0PLUS) 312 #define ARM_MATH_CM0_FAMILY 314 #error "Define according the used Cortex core ARM_MATH_CM7, ARM_MATH_CM4, ARM_MATH_CM3, ARM_MATH_CM0PLUS or ARM_MATH_CM0" 317 #undef __CMSIS_GENERIC 330 #define DELTA_Q31 (0x100) 331 #define DELTA_Q15 0x5 332 #define INDEX_MASK 0x0000003F 334 #define PI 3.14159265358979f 341 #define FAST_MATH_TABLE_SIZE 512 342 #define FAST_MATH_Q31_SHIFT (32 - 10) 343 #define FAST_MATH_Q15_SHIFT (16 - 10) 344 #define CONTROLLER_Q31_SHIFT (32 - 9) 345 #define TABLE_SIZE 256 346 #define TABLE_SPACING_Q31 0x400000 347 #define TABLE_SPACING_Q15 0x80 354 #define INPUT_SPACING 0xB60B61 359 #ifndef UNALIGNED_SUPPORT_DISABLE 362 #if defined (__GNUC__) 363 #define ALIGN4 __attribute__((aligned(4))) 365 #define ALIGN4 __align(4) 375 ARM_MATH_SUCCESS = 0,
376 ARM_MATH_ARGUMENT_ERROR = -1,
377 ARM_MATH_LENGTH_ERROR = -2,
378 ARM_MATH_SIZE_MISMATCH = -3,
379 ARM_MATH_NANINF = -4,
380 ARM_MATH_SINGULAR = -5,
381 ARM_MATH_TEST_FAILURE = -6
392 typedef int16_t q15_t;
397 typedef int32_t q31_t;
402 typedef int64_t q63_t;
407 typedef float float32_t;
412 typedef double float64_t;
418 #define __SIMD32_TYPE int32_t __packed 419 #define CMSIS_UNUSED __attribute__((unused)) 421 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 422 #define __SIMD32_TYPE int32_t 423 #define CMSIS_UNUSED __attribute__((unused)) 425 #elif defined __GNUC__ 426 #define __SIMD32_TYPE int32_t 427 #define CMSIS_UNUSED __attribute__((unused)) 429 #elif defined __ICCARM__ 430 #define __SIMD32_TYPE int32_t __packed 433 #elif defined __CSMC__ 434 #define __SIMD32_TYPE int32_t 437 #elif defined __TASKING__ 438 #define __SIMD32_TYPE __unaligned int32_t 442 #error Unknown compiler 445 #define __SIMD32(addr) (*(__SIMD32_TYPE **) & (addr)) 446 #define __SIMD32_CONST(addr) ((__SIMD32_TYPE *)(addr)) 447 #define _SIMD32_OFFSET(addr) (*(__SIMD32_TYPE *) (addr)) 448 #define __SIMD64(addr) (*(int64_t **) & (addr)) 450 #if defined (ARM_MATH_CM3) || defined (ARM_MATH_CM0_FAMILY) 454 #define __PKHBT(ARG1, ARG2, ARG3) ( (((int32_t)(ARG1) << 0) & (int32_t)0x0000FFFF) | \ 455 (((int32_t)(ARG2) << ARG3) & (int32_t)0xFFFF0000) ) 456 #define __PKHTB(ARG1, ARG2, ARG3) ( (((int32_t)(ARG1) << 0) & (int32_t)0xFFFF0000) | \ 457 (((int32_t)(ARG2) >> ARG3) & (int32_t)0x0000FFFF) ) 465 #ifndef ARM_MATH_BIG_ENDIAN 467 #define __PACKq7(v0,v1,v2,v3) ( (((int32_t)(v0) << 0) & (int32_t)0x000000FF) | \ 468 (((int32_t)(v1) << 8) & (int32_t)0x0000FF00) | \ 469 (((int32_t)(v2) << 16) & (int32_t)0x00FF0000) | \ 470 (((int32_t)(v3) << 24) & (int32_t)0xFF000000) ) 473 #define __PACKq7(v0,v1,v2,v3) ( (((int32_t)(v3) << 0) & (int32_t)0x000000FF) | \ 474 (((int32_t)(v2) << 8) & (int32_t)0x0000FF00) | \ 475 (((int32_t)(v1) << 16) & (int32_t)0x00FF0000) | \ 476 (((int32_t)(v0) << 24) & (int32_t)0xFF000000) ) 484 static __INLINE q31_t clip_q63_to_q31(
487 return ((q31_t) (x >> 32) != ((q31_t) x >> 31)) ?
488 ((0x7FFFFFFF ^ ((q31_t) (x >> 63)))) : (q31_t) x;
494 static __INLINE q15_t clip_q63_to_q15(
497 return ((q31_t) (x >> 32) != ((q31_t) x >> 31)) ?
498 ((0x7FFF ^ ((q15_t) (x >> 63)))) : (q15_t) (x >> 15);
504 static __INLINE q7_t clip_q31_to_q7(
507 return ((q31_t) (x >> 24) != ((q31_t) x >> 23)) ?
508 ((0x7F ^ ((q7_t) (x >> 31)))) : (q7_t) x;
514 static __INLINE q15_t clip_q31_to_q15(
517 return ((q31_t) (x >> 16) != ((q31_t) x >> 15)) ?
518 ((0x7FFF ^ ((q15_t) (x >> 31)))) : (q15_t) x;
525 static __INLINE q63_t mult32x64(
529 return ((((q63_t) (x & 0x00000000FFFFFFFF) * y) >> 32) +
530 (((q63_t) (x >> 32) * y)));
539 #if defined (ARM_MATH_CM0_FAMILY) && ((defined (__ICCARM__)) ) 540 static __INLINE uint32_t
__CLZ(
543 static __INLINE uint32_t
__CLZ(
547 uint32_t mask = 0x80000000;
549 while((data & mask) == 0)
563 static __INLINE uint32_t arm_recip_q31(
575 signBits = ((uint32_t) (
__CLZ( in) - 1));
579 signBits = ((uint32_t) (
__CLZ(-in) - 1));
583 in = (in << signBits);
586 index = (uint32_t)(in >> 24);
587 index = (index & INDEX_MASK);
590 out = pRecipTable[index];
594 for (i = 0u; i < 2u; i++)
596 tempVal = (uint32_t) (((q63_t) in * out) >> 31);
597 tempVal = 0x7FFFFFFFu - tempVal;
600 out = clip_q63_to_q31(((q63_t) out * tempVal) >> 30);
607 return (signBits + 1u);
614 static __INLINE uint32_t arm_recip_q15(
620 uint32_t tempVal = 0;
621 uint32_t index = 0, i = 0;
622 uint32_t signBits = 0;
626 signBits = ((uint32_t)(
__CLZ( in) - 17));
630 signBits = ((uint32_t)(
__CLZ(-in) - 17));
634 in = (in << signBits);
637 index = (uint32_t)(in >> 8);
638 index = (index & INDEX_MASK);
641 out = pRecipTable[index];
645 for (i = 0u; i < 2u; i++)
647 tempVal = (uint32_t) (((q31_t) in * out) >> 15);
648 tempVal = 0x7FFFu - tempVal;
650 out = (q15_t) (((q31_t) out * tempVal) >> 14);
658 return (signBits + 1);
665 #if defined(ARM_MATH_CM0_FAMILY) 666 static __INLINE q31_t __SSAT(
670 int32_t posMax, negMin;
674 for (i = 0; i < (y - 1); i++)
681 posMax = (posMax - 1);
705 #if defined (ARM_MATH_CM3) || defined (ARM_MATH_CM0_FAMILY) 710 static __INLINE uint32_t __QADD8(
716 r = __SSAT(((((q31_t)x << 24) >> 24) + (((q31_t)y << 24) >> 24)), 8) & (int32_t)0x000000FF;
717 s = __SSAT(((((q31_t)x << 16) >> 24) + (((q31_t)y << 16) >> 24)), 8) & (int32_t)0x000000FF;
718 t = __SSAT(((((q31_t)x << 8) >> 24) + (((q31_t)y << 8) >> 24)), 8) & (int32_t)0x000000FF;
719 u = __SSAT(((((q31_t)x ) >> 24) + (((q31_t)y ) >> 24)), 8) & (int32_t)0x000000FF;
721 return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r )));
728 static __INLINE uint32_t __QSUB8(
734 r = __SSAT(((((q31_t)x << 24) >> 24) - (((q31_t)y << 24) >> 24)), 8) & (int32_t)0x000000FF;
735 s = __SSAT(((((q31_t)x << 16) >> 24) - (((q31_t)y << 16) >> 24)), 8) & (int32_t)0x000000FF;
736 t = __SSAT(((((q31_t)x << 8) >> 24) - (((q31_t)y << 8) >> 24)), 8) & (int32_t)0x000000FF;
737 u = __SSAT(((((q31_t)x ) >> 24) - (((q31_t)y ) >> 24)), 8) & (int32_t)0x000000FF;
739 return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r )));
746 static __INLINE uint32_t __QADD16(
753 r = __SSAT(((((q31_t)x << 16) >> 16) + (((q31_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF;
754 s = __SSAT(((((q31_t)x ) >> 16) + (((q31_t)y ) >> 16)), 16) & (int32_t)0x0000FFFF;
756 return ((uint32_t)((s << 16) | (r )));
763 static __INLINE uint32_t __SHADD16(
769 r = (((((q31_t)x << 16) >> 16) + (((q31_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF;
770 s = (((((q31_t)x ) >> 16) + (((q31_t)y ) >> 16)) >> 1) & (int32_t)0x0000FFFF;
772 return ((uint32_t)((s << 16) | (r )));
779 static __INLINE uint32_t __QSUB16(
785 r = __SSAT(((((q31_t)x << 16) >> 16) - (((q31_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF;
786 s = __SSAT(((((q31_t)x ) >> 16) - (((q31_t)y ) >> 16)), 16) & (int32_t)0x0000FFFF;
788 return ((uint32_t)((s << 16) | (r )));
795 static __INLINE uint32_t __SHSUB16(
801 r = (((((q31_t)x << 16) >> 16) - (((q31_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF;
802 s = (((((q31_t)x ) >> 16) - (((q31_t)y ) >> 16)) >> 1) & (int32_t)0x0000FFFF;
804 return ((uint32_t)((s << 16) | (r )));
811 static __INLINE uint32_t __QASX(
817 r = __SSAT(((((q31_t)x << 16) >> 16) - (((q31_t)y ) >> 16)), 16) & (int32_t)0x0000FFFF;
818 s = __SSAT(((((q31_t)x ) >> 16) + (((q31_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF;
820 return ((uint32_t)((s << 16) | (r )));
827 static __INLINE uint32_t __SHASX(
833 r = (((((q31_t)x << 16) >> 16) - (((q31_t)y ) >> 16)) >> 1) & (int32_t)0x0000FFFF;
834 s = (((((q31_t)x ) >> 16) + (((q31_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF;
836 return ((uint32_t)((s << 16) | (r )));
843 static __INLINE uint32_t __QSAX(
849 r = __SSAT(((((q31_t)x << 16) >> 16) + (((q31_t)y ) >> 16)), 16) & (int32_t)0x0000FFFF;
850 s = __SSAT(((((q31_t)x ) >> 16) - (((q31_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF;
852 return ((uint32_t)((s << 16) | (r )));
859 static __INLINE uint32_t __SHSAX(
865 r = (((((q31_t)x << 16) >> 16) + (((q31_t)y ) >> 16)) >> 1) & (int32_t)0x0000FFFF;
866 s = (((((q31_t)x ) >> 16) - (((q31_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF;
868 return ((uint32_t)((s << 16) | (r )));
875 static __INLINE uint32_t __SMUSDX(
879 return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y ) >> 16)) -
880 ((((q31_t)x ) >> 16) * (((q31_t)y << 16) >> 16)) ));
886 static __INLINE uint32_t __SMUADX(
890 return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y ) >> 16)) +
891 ((((q31_t)x ) >> 16) * (((q31_t)y << 16) >> 16)) ));
898 static __INLINE int32_t __QADD(
902 return ((int32_t)(clip_q63_to_q31((q63_t)x + (q31_t)y)));
909 static __INLINE int32_t __QSUB(
913 return ((int32_t)(clip_q63_to_q31((q63_t)x - (q31_t)y)));
920 static __INLINE uint32_t __SMLAD(
925 return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y << 16) >> 16)) +
926 ((((q31_t)x ) >> 16) * (((q31_t)y ) >> 16)) +
927 ( ((q31_t)sum ) ) ));
934 static __INLINE uint32_t __SMLADX(
939 return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y ) >> 16)) +
940 ((((q31_t)x ) >> 16) * (((q31_t)y << 16) >> 16)) +
941 ( ((q31_t)sum ) ) ));
948 static __INLINE uint32_t __SMLSDX(
953 return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y ) >> 16)) -
954 ((((q31_t)x ) >> 16) * (((q31_t)y << 16) >> 16)) +
955 ( ((q31_t)sum ) ) ));
962 static __INLINE uint64_t __SMLALD(
968 return ((uint64_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y << 16) >> 16)) +
969 ((((q31_t)x ) >> 16) * (((q31_t)y ) >> 16)) +
970 ( ((q63_t)sum ) ) ));
977 static __INLINE uint64_t __SMLALDX(
983 return ((uint64_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y ) >> 16)) +
984 ((((q31_t)x ) >> 16) * (((q31_t)y << 16) >> 16)) +
985 ( ((q63_t)sum ) ) ));
992 static __INLINE uint32_t __SMUAD(
996 return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y << 16) >> 16)) +
997 ((((q31_t)x ) >> 16) * (((q31_t)y ) >> 16)) ));
1004 static __INLINE uint32_t __SMUSD(
1008 return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y << 16) >> 16)) -
1009 ((((q31_t)x ) >> 16) * (((q31_t)y ) >> 16)) ));
1016 static __INLINE uint32_t __SXTB16(
1019 return ((uint32_t)(((((q31_t)x << 24) >> 24) & (q31_t)0x0000FFFF) |
1020 ((((q31_t)x << 8) >> 8) & (q31_t)0xFFFF0000) ));
1078 uint32_t blockSize);
1094 uint32_t blockSize);
1108 uint32_t blockSize);
1122 uint32_t blockSize);
1140 uint32_t blockSize);
1154 uint32_t blockSize);
1168 uint32_t blockSize);
1184 uint32_t blockSize);
1198 uint32_t blockSize);
1212 float32_t * pCoeffs,
1214 uint32_t blockSize);
1261 uint32_t blockSize);
1291 uint32_t blockSize);
1305 uint32_t blockSize);
1319 uint32_t blockSize);
1349 uint32_t blockSize);
1362 float32_t * pCoeffs,
1363 float32_t * pState);
1740 #ifdef ARM_MATH_CM0_FAMILY 1789 int32_t resetStateFlag);
1807 int32_t resetStateFlag);
1826 int32_t resetStateFlag);
1900 uint32_t blockSize);
1914 uint32_t blockSize);
1928 uint32_t blockSize);
1942 uint32_t blockSize);
1964 uint8_t bitReverseFlag);
1991 uint8_t bitReverseFlag);
2017 uint8_t bitReverseFlag);
2048 uint8_t bitReverseFlag);
2070 uint8_t bitReverseFlag);
2097 uint8_t bitReverseFlag);
2119 uint8_t bitReverseFlag);
2136 uint8_t bitReverseFlag);
2153 uint8_t bitReverseFlag);
2171 uint32_t fftLenReal,
2173 uint32_t bitReverseFlag);
2196 uint32_t fftLenReal,
2198 uint32_t bitReverseFlag);
2223 uint32_t fftLenReal,
2225 uint32_t bitReverseFlag);
2248 float32_t * p, float32_t * pOut,
2282 float32_t normalize);
2294 float32_t * pInlineBuffer);
2340 q31_t * pInlineBuffer);
2386 q15_t * pInlineBuffer);
2400 uint32_t blockSize);
2414 uint32_t blockSize);
2428 uint32_t blockSize);
2442 uint32_t blockSize);
2456 uint32_t blockSize);
2470 uint32_t blockSize);
2484 uint32_t blockSize);
2498 uint32_t blockSize);
2512 uint32_t blockSize);
2528 uint32_t blockSize);
2544 uint32_t blockSize);
2560 uint32_t blockSize);
2572 uint32_t blockSize);
2584 uint32_t blockSize);
2596 uint32_t blockSize);
2608 uint32_t blockSize);
2622 float32_t * result);
2678 uint32_t blockSize);
2692 uint32_t blockSize);
2706 uint32_t blockSize);
2720 uint32_t blockSize);
2734 uint32_t blockSize);
2748 uint32_t blockSize);
2762 uint32_t blockSize);
2774 uint32_t blockSize);
2786 uint32_t blockSize);
2798 uint32_t blockSize);
2810 uint32_t blockSize);
2822 uint32_t blockSize);
2834 uint32_t blockSize);
2846 uint32_t blockSize);
2858 uint32_t blockSize);
2870 uint32_t blockSize);
2882 uint32_t blockSize);
2894 uint32_t blockSize);
2906 uint32_t blockSize);
3082 uint32_t firstIndex,
3083 uint32_t numPoints);
3105 uint32_t firstIndex,
3128 uint32_t firstIndex,
3129 uint32_t numPoints);
3149 uint32_t firstIndex,
3150 uint32_t numPoints);
3172 uint32_t firstIndex,
3195 uint32_t firstIndex,
3196 uint32_t numPoints);
3216 uint32_t firstIndex,
3217 uint32_t numPoints);
3239 uint32_t firstIndex,
3262 uint32_t firstIndex,
3263 uint32_t numPoints);
3311 uint32_t blockSize);
3329 float32_t * pCoeffs,
3331 uint32_t blockSize);
3345 uint32_t blockSize);
3359 uint32_t blockSize);
3379 uint32_t blockSize);
3393 uint32_t blockSize);
3406 uint32_t blockSize);
3426 uint32_t blockSize);
3474 uint32_t blockSize);
3494 uint32_t blockSize);
3508 uint32_t blockSize);
3528 uint32_t blockSize);
3542 uint32_t blockSize);
3560 float32_t * pCoeffs,
3562 uint32_t blockSize);
3587 uint32_t blockSize);
3647 uint32_t blockSize);
3661 uint32_t blockSize);
3675 uint32_t blockSize);
3688 float32_t * pCoeffs,
3689 float32_t * pState);
3702 float32_t * pCoeffs,
3703 float32_t * pState);
3716 float64_t * pCoeffs,
3717 float64_t * pState);
3776 uint32_t blockSize);
3804 uint32_t blockSize);
3817 float32_t * pCoeffs,
3818 float32_t * pState);
3832 uint32_t blockSize);
3880 uint32_t blockSize);
3895 float32_t * pkCoeffs,
3896 float32_t * pvCoeffs,
3898 uint32_t blockSize);
3912 uint32_t blockSize);
3930 uint32_t blockSize);
3944 uint32_t blockSize);
3962 uint32_t blockSize);
3992 uint32_t blockSize);
4007 float32_t * pCoeffs,
4010 uint32_t blockSize);
4043 uint32_t postShift);
4061 uint32_t blockSize);
4092 uint32_t blockSize);
4112 uint32_t postShift);
4144 uint32_t blockSize);
4159 float32_t * pCoeffs,
4162 uint32_t blockSize);
4196 uint32_t blockSize);
4250 uint32_t blockSize);
4492 float32_t * pScratchIn,
4493 uint32_t blockSize);
4509 float32_t * pCoeffs,
4511 int32_t * pTapDelay,
4513 uint32_t blockSize);
4529 uint32_t blockSize);
4547 int32_t * pTapDelay,
4549 uint32_t blockSize);
4566 q31_t * pScratchOut,
4567 uint32_t blockSize);
4585 int32_t * pTapDelay,
4587 uint32_t blockSize);
4604 q31_t * pScratchOut,
4605 uint32_t blockSize);
4623 int32_t * pTapDelay,
4625 uint32_t blockSize);
4636 float32_t * pSinVal,
4637 float32_t * pCosVal);
4661 uint32_t numSamples);
4672 uint32_t numSamples);
4684 uint32_t numSamples);
4696 uint32_t numSamples);
4708 uint32_t numSamples);
4720 uint32_t numSamples);
4795 static __INLINE float32_t arm_pid_f32(
4802 out = (S->
A0 * in) +
4829 static __INLINE q31_t arm_pid_q31(
4837 acc = (q63_t) S->
A0 * in;
4840 acc += (q63_t) S->
A1 * S->
state[0];
4843 acc += (q63_t) S->
A2 * S->
state[1];
4846 out = (q31_t) (acc >> 31u);
4876 static __INLINE q15_t arm_pid_q15(
4883 #ifndef ARM_MATH_CM0_FAMILY 4884 __SIMD32_TYPE *vstate;
4889 acc = (q31_t) __SMUAD((uint32_t)S->
A0, (uint32_t)in);
4892 vstate = __SIMD32_CONST(S->
state);
4893 acc = (q63_t)__SMLALD((uint32_t)S->
A1, (uint32_t)*vstate, (uint64_t)acc);
4896 acc = ((q31_t) S->
A0) * in;
4899 acc += (q31_t) S->
A1 * S->
state[0];
4900 acc += (q31_t) S->A2 * S->
state[1];
4904 acc += (q31_t) S->
state[2] << 15;
4907 out = (q15_t) (__SSAT((acc >> 15), 16));
4987 static __INLINE
void arm_clarke_f32(
4990 float32_t * pIalpha,
4997 *pIbeta = ((float32_t) 0.57735026919 * Ia + (float32_t) 1.15470053838 * Ib);
5014 static __INLINE
void arm_clarke_q31(
5020 q31_t product1, product2;
5026 product1 = (q31_t) (((q63_t) Ia * 0x24F34E8B) >> 30);
5029 product2 = (q31_t) (((q63_t) Ib * 0x49E69D16) >> 30);
5032 *pIbeta = __QADD(product1, product2);
5048 uint32_t blockSize);
5084 static __INLINE
void arm_inv_clarke_f32(
5094 *pIb = -0.5f * Ialpha + 0.8660254039f * Ibeta;
5111 static __INLINE
void arm_inv_clarke_q31(
5117 q31_t product1, product2;
5123 product1 = (q31_t) (((q63_t) (Ialpha) * (0x40000000)) >> 31);
5126 product2 = (q31_t) (((q63_t) (Ibeta) * (0x6ED9EBA1)) >> 31);
5129 *pIb = __QSUB(product2, product1);
5145 uint32_t blockSize);
5194 static __INLINE
void arm_park_f32(
5203 *pId = Ialpha * cosVal + Ibeta * sinVal;
5206 *pIq = -Ialpha * sinVal + Ibeta * cosVal;
5225 static __INLINE
void arm_park_q31(
5233 q31_t product1, product2;
5234 q31_t product3, product4;
5237 product1 = (q31_t) (((q63_t) (Ialpha) * (cosVal)) >> 31);
5240 product2 = (q31_t) (((q63_t) (Ibeta) * (sinVal)) >> 31);
5244 product3 = (q31_t) (((q63_t) (Ialpha) * (sinVal)) >> 31);
5247 product4 = (q31_t) (((q63_t) (Ibeta) * (cosVal)) >> 31);
5250 *pId = __QADD(product1, product2);
5253 *pIq = __QSUB(product4, product3);
5269 uint32_t blockSize);
5307 static __INLINE
void arm_inv_park_f32(
5310 float32_t * pIalpha,
5316 *pIalpha = Id * cosVal - Iq * sinVal;
5319 *pIbeta = Id * sinVal + Iq * cosVal;
5338 static __INLINE
void arm_inv_park_q31(
5346 q31_t product1, product2;
5347 q31_t product3, product4;
5350 product1 = (q31_t) (((q63_t) (Id) * (cosVal)) >> 31);
5353 product2 = (q31_t) (((q63_t) (Iq) * (sinVal)) >> 31);
5357 product3 = (q31_t) (((q63_t) (Id) * (sinVal)) >> 31);
5360 product4 = (q31_t) (((q63_t) (Iq) * (cosVal)) >> 31);
5363 *pIalpha = __QSUB(product1, product2);
5366 *pIbeta = __QADD(product4, product3);
5383 uint32_t blockSize);
5433 static __INLINE float32_t arm_linear_interp_f32(
5442 float32_t *pYData = S->
pYData;
5445 i = (int32_t) ((x - S->
x1) / xSpacing);
5452 else if((uint32_t)i >= S->
nValues)
5460 x0 = S->
x1 + i * xSpacing;
5461 x1 = S->
x1 + (i + 1) * xSpacing;
5468 y = y0 + (x - x0) * ((y1 - y0) / (x1 - x0));
5490 static __INLINE q31_t arm_linear_interp_q31(
5503 index = ((x & (q31_t)0xFFF00000) >> 20);
5505 if(index >= (int32_t)(nValues - 1))
5507 return (pYData[nValues - 1]);
5517 fract = (x & 0x000FFFFF) << 11;
5521 y1 = pYData[index + 1];
5524 y = ((q31_t) ((q63_t) y0 * (0x7FFFFFFF - fract) >> 32));
5527 y += ((q31_t) (((q63_t) y1 * fract) >> 32));
5548 static __INLINE q15_t arm_linear_interp_q15(
5561 index = ((x & (int32_t)0xFFF00000) >> 20);
5563 if(index >= (int32_t)(nValues - 1))
5565 return (pYData[nValues - 1]);
5575 fract = (x & 0x000FFFFF);
5579 y1 = pYData[index + 1];
5582 y = ((q63_t) y0 * (0xFFFFF - fract));
5585 y += ((q63_t) y1 * (fract));
5588 return (q15_t) (y >> 20);
5605 static __INLINE q7_t arm_linear_interp_q7(
5622 index = (x >> 20) & 0xfff;
5624 if(index >= (nValues - 1))
5626 return (pYData[nValues - 1]);
5632 fract = (x & 0x000FFFFF);
5636 y1 = pYData[index + 1];
5639 y = ((y0 * (0xFFFFF - fract)));
5645 return (q7_t) (y >> 20);
5745 static __INLINE arm_status arm_sqrt_f32(
5752 #if (__FPU_USED == 1) && defined ( __CC_ARM ) 5753 *pOut = __sqrtf(in);
5754 #elif (__FPU_USED == 1) && (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) 5755 *pOut = __builtin_sqrtf(in);
5756 #elif (__FPU_USED == 1) && defined(__GNUC__) 5757 *pOut = __builtin_sqrtf(in);
5758 #elif (__FPU_USED == 1) && defined ( __ICCARM__ ) && (__VER__ >= 6040000) 5759 __ASM(
"VSQRT.F32 %0,%1" :
"=t"(*pOut) :
"t"(in));
5764 return (ARM_MATH_SUCCESS);
5769 return (ARM_MATH_ARGUMENT_ERROR);
5805 static __INLINE
void arm_circularWrite_f32(
5806 int32_t * circBuffer,
5808 uint16_t * writeOffset,
5810 const int32_t * src,
5819 wOffset = *writeOffset;
5827 circBuffer[wOffset] = *src;
5833 wOffset += bufferInc;
5842 *writeOffset = (uint16_t)wOffset;
5850 static __INLINE
void arm_circularRead_f32(
5851 int32_t * circBuffer,
5853 int32_t * readOffset,
5862 int32_t rOffset, dst_end;
5866 rOffset = *readOffset;
5867 dst_end = (int32_t) (dst_base + dst_length);
5875 *dst = circBuffer[rOffset];
5880 if(dst == (int32_t *) dst_end)
5886 rOffset += bufferInc;
5898 *readOffset = rOffset;
5905 static __INLINE
void arm_circularWrite_q15(
5908 uint16_t * writeOffset,
5919 wOffset = *writeOffset;
5927 circBuffer[wOffset] = *src;
5933 wOffset += bufferInc;
5942 *writeOffset = (uint16_t)wOffset;
5949 static __INLINE
void arm_circularRead_q15(
5952 int32_t * readOffset,
5961 int32_t rOffset, dst_end;
5965 rOffset = *readOffset;
5967 dst_end = (int32_t) (dst_base + dst_length);
5975 *dst = circBuffer[rOffset];
5980 if(dst == (q15_t *) dst_end)
5986 rOffset += bufferInc;
5998 *readOffset = rOffset;
6005 static __INLINE
void arm_circularWrite_q7(
6008 uint16_t * writeOffset,
6019 wOffset = *writeOffset;
6027 circBuffer[wOffset] = *src;
6033 wOffset += bufferInc;
6042 *writeOffset = (uint16_t)wOffset;
6049 static __INLINE
void arm_circularRead_q7(
6052 int32_t * readOffset,
6061 int32_t rOffset, dst_end;
6065 rOffset = *readOffset;
6067 dst_end = (int32_t) (dst_base + dst_length);
6075 *dst = circBuffer[rOffset];
6080 if(dst == (q7_t *) dst_end)
6086 rOffset += bufferInc;
6098 *readOffset = rOffset;
6123 float32_t * pResult);
6195 float32_t * pResult);
6207 float32_t * pResult);
6243 float32_t * pResult);
6279 float32_t * pResult);
6315 uint32_t numSamples);
6327 uint32_t numSamples);
6339 uint32_t numSamples);
6353 uint32_t numSamples,
6355 q31_t * imagResult);
6369 uint32_t numSamples,
6371 q63_t * imagResult);
6385 uint32_t numSamples,
6386 float32_t * realResult,
6387 float32_t * imagResult);
6401 uint32_t numSamples);
6415 uint32_t numSamples);
6426 float32_t * pSrcCmplx,
6427 float32_t * pSrcReal,
6428 float32_t * pCmplxDst,
6429 uint32_t numSamples);
6484 float32_t * pResult,
6540 float32_t * pResult,
6555 uint32_t numSamples);
6569 uint32_t numSamples);
6583 uint32_t numSamples);
6595 uint32_t blockSize);
6607 uint32_t blockSize);
6619 uint32_t blockSize);
6631 uint32_t blockSize);
6643 uint32_t blockSize);
6655 uint32_t blockSize);
6667 uint32_t blockSize);
6679 uint32_t blockSize);
6752 static __INLINE float32_t arm_bilinear_interp_f32(
6758 float32_t f00, f01, f10, f11;
6759 float32_t *pData = S->
pData;
6760 int32_t xIndex, yIndex, index;
6761 float32_t xdiff, ydiff;
6762 float32_t b1, b2, b3, b4;
6764 xIndex = (int32_t) X;
6765 yIndex = (int32_t) Y;
6769 if(xIndex < 0 || xIndex > (S->
numRows - 1) || yIndex < 0 || yIndex > (S->
numCols - 1))
6775 index = (xIndex - 1) + (yIndex - 1) * S->
numCols;
6780 f01 = pData[index + 1];
6783 index = (xIndex - 1) + (yIndex) * S->
numCols;
6788 f11 = pData[index + 1];
6794 b4 = f00 - f01 - f10 + f11;
6803 out = b1 + b2 * xdiff + b3 * ydiff + b4 * xdiff * ydiff;
6818 static __INLINE q31_t arm_bilinear_interp_q31(
6825 q31_t xfract, yfract;
6826 q31_t x1, x2, y1, y2;
6828 q31_t *pYData = S->
pData;
6834 rI = ((X & (q31_t)0xFFF00000) >> 20);
6839 cI = ((Y & (q31_t)0xFFF00000) >> 20);
6843 if(rI < 0 || rI > (S->
numRows - 1) || cI < 0 || cI > (S->
numCols - 1))
6850 xfract = (X & 0x000FFFFF) << 11u;
6853 x1 = pYData[(rI) + (int32_t)nCols * (cI) ];
6854 x2 = pYData[(rI) + (int32_t)nCols * (cI) + 1];
6858 yfract = (Y & 0x000FFFFF) << 11u;
6861 y1 = pYData[(rI) + (int32_t)nCols * (cI + 1) ];
6862 y2 = pYData[(rI) + (int32_t)nCols * (cI + 1) + 1];
6865 out = ((q31_t) (((q63_t) x1 * (0x7FFFFFFF - xfract)) >> 32));
6866 acc = ((q31_t) (((q63_t) out * (0x7FFFFFFF - yfract)) >> 32));
6869 out = ((q31_t) ((q63_t) x2 * (0x7FFFFFFF - yfract) >> 32));
6870 acc += ((q31_t) ((q63_t) out * (xfract) >> 32));
6873 out = ((q31_t) ((q63_t) y1 * (0x7FFFFFFF - xfract) >> 32));
6874 acc += ((q31_t) ((q63_t) out * (yfract) >> 32));
6877 out = ((q31_t) ((q63_t) y2 * (xfract) >> 32));
6878 acc += ((q31_t) ((q63_t) out * (yfract) >> 32));
6881 return ((q31_t)(acc << 2));
6892 static __INLINE q15_t arm_bilinear_interp_q15(
6899 q15_t x1, x2, y1, y2;
6900 q31_t xfract, yfract;
6902 q15_t *pYData = S->
pData;
6908 rI = ((X & (q31_t)0xFFF00000) >> 20);
6913 cI = ((Y & (q31_t)0xFFF00000) >> 20);
6917 if(rI < 0 || rI > (S->
numRows - 1) || cI < 0 || cI > (S->
numCols - 1))
6924 xfract = (X & 0x000FFFFF);
6927 x1 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI) ];
6928 x2 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI) + 1];
6932 yfract = (Y & 0x000FFFFF);
6935 y1 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI + 1) ];
6936 y2 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI + 1) + 1];
6942 out = (q31_t) (((q63_t) x1 * (0xFFFFF - xfract)) >> 4u);
6943 acc = ((q63_t) out * (0xFFFFF - yfract));
6946 out = (q31_t) (((q63_t) x2 * (0xFFFFF - yfract)) >> 4u);
6947 acc += ((q63_t) out * (xfract));
6950 out = (q31_t) (((q63_t) y1 * (0xFFFFF - xfract)) >> 4u);
6951 acc += ((q63_t) out * (yfract));
6954 out = (q31_t) (((q63_t) y2 * (xfract)) >> 4u);
6955 acc += ((q63_t) out * (yfract));
6959 return ((q15_t)(acc >> 36));
6970 static __INLINE q7_t arm_bilinear_interp_q7(
6977 q31_t xfract, yfract;
6978 q7_t x1, x2, y1, y2;
6980 q7_t *pYData = S->
pData;
6986 rI = ((X & (q31_t)0xFFF00000) >> 20);
6991 cI = ((Y & (q31_t)0xFFF00000) >> 20);
6995 if(rI < 0 || rI > (S->
numRows - 1) || cI < 0 || cI > (S->
numCols - 1))
7002 xfract = (X & (q31_t)0x000FFFFF);
7005 x1 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI) ];
7006 x2 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI) + 1];
7010 yfract = (Y & (q31_t)0x000FFFFF);
7013 y1 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI + 1) ];
7014 y2 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI + 1) + 1];
7017 out = ((x1 * (0xFFFFF - xfract)));
7018 acc = (((q63_t) out * (0xFFFFF - yfract)));
7021 out = ((x2 * (0xFFFFF - yfract)));
7022 acc += (((q63_t) out * (xfract)));
7025 out = ((y1 * (0xFFFFF - xfract)));
7026 acc += (((q63_t) out * (yfract)));
7029 out = ((y2 * (yfract)));
7030 acc += (((q63_t) out * (xfract)));
7033 return ((q7_t)(acc >> 40));
7042 #define multAcc_32x32_keep32_R(a, x, y) \ 7043 a = (q31_t) (((((q63_t) a) << 32) + ((q63_t) x * y) + 0x80000000LL ) >> 32) 7046 #define multSub_32x32_keep32_R(a, x, y) \ 7047 a = (q31_t) (((((q63_t) a) << 32) - ((q63_t) x * y) + 0x80000000LL ) >> 32) 7050 #define mult_32x32_keep32_R(a, x, y) \ 7051 a = (q31_t) (((q63_t) x * y + 0x80000000LL ) >> 32) 7054 #define multAcc_32x32_keep32(a, x, y) \ 7055 a += (q31_t) (((q63_t) x * y) >> 32) 7058 #define multSub_32x32_keep32(a, x, y) \ 7059 a -= (q31_t) (((q63_t) x * y) >> 32) 7062 #define mult_32x32_keep32(a, x, y) \ 7063 a = (q31_t) (((q63_t) x * y ) >> 32) 7066 #if defined ( __CC_ARM ) 7068 #if defined( ARM_MATH_CM4 ) || defined( ARM_MATH_CM7) 7069 #define LOW_OPTIMIZATION_ENTER \ 7073 #define LOW_OPTIMIZATION_ENTER 7077 #if defined( ARM_MATH_CM4 ) || defined( ARM_MATH_CM7) 7078 #define LOW_OPTIMIZATION_EXIT \ 7081 #define LOW_OPTIMIZATION_EXIT 7085 #define IAR_ONLY_LOW_OPTIMIZATION_ENTER 7088 #define IAR_ONLY_LOW_OPTIMIZATION_EXIT 7090 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 7091 #define LOW_OPTIMIZATION_ENTER 7092 #define LOW_OPTIMIZATION_EXIT 7093 #define IAR_ONLY_LOW_OPTIMIZATION_ENTER 7094 #define IAR_ONLY_LOW_OPTIMIZATION_EXIT 7096 #elif defined(__GNUC__) 7097 #define LOW_OPTIMIZATION_ENTER __attribute__(( optimize("-O1") )) 7098 #define LOW_OPTIMIZATION_EXIT 7099 #define IAR_ONLY_LOW_OPTIMIZATION_ENTER 7100 #define IAR_ONLY_LOW_OPTIMIZATION_EXIT 7102 #elif defined(__ICCARM__) 7104 #if defined( ARM_MATH_CM4 ) || defined( ARM_MATH_CM7) 7105 #define LOW_OPTIMIZATION_ENTER \ 7106 _Pragma ("optimize=low") 7108 #define LOW_OPTIMIZATION_ENTER 7112 #define LOW_OPTIMIZATION_EXIT 7115 #if defined( ARM_MATH_CM4 ) || defined( ARM_MATH_CM7) 7116 #define IAR_ONLY_LOW_OPTIMIZATION_ENTER \ 7117 _Pragma ("optimize=low") 7119 #define IAR_ONLY_LOW_OPTIMIZATION_ENTER 7123 #define IAR_ONLY_LOW_OPTIMIZATION_EXIT 7125 #elif defined(__CSMC__) 7126 #define LOW_OPTIMIZATION_ENTER 7127 #define LOW_OPTIMIZATION_EXIT 7128 #define IAR_ONLY_LOW_OPTIMIZATION_ENTER 7129 #define IAR_ONLY_LOW_OPTIMIZATION_EXIT 7131 #elif defined(__TASKING__) 7132 #define LOW_OPTIMIZATION_ENTER 7133 #define LOW_OPTIMIZATION_EXIT 7134 #define IAR_ONLY_LOW_OPTIMIZATION_ENTER 7135 #define IAR_ONLY_LOW_OPTIMIZATION_EXIT 7145 #if defined ( __GNUC__ ) 7146 #pragma GCC diagnostic pop q31_t * pCoeffs
Definition: arm_math.h:3737
void arm_rms_q31(q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
Root Mean Square of the elements of a Q31 vector.
Definition: arm_rms_q31.c:73
q15_t * pTwiddleBReal
Definition: arm_math.h:2165
Instance structure for the floating-point FIR interpolator.
Definition: arm_math.h:3454
uint16_t fftLen
Definition: arm_math.h:2143
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.
Definition: arm_lms_norm_f32.c:173
uint8_t bitReverseFlagR
Definition: arm_math.h:2187
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.
Definition: arm_lms_init_f32.c:69
float32_t * pCoeffs
Definition: arm_math.h:3747
float32_t * pCoeffs
Definition: arm_math.h:3622
void arm_cmplx_conj_q15(q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
Q15 complex conjugate.
Definition: arm_cmplx_conj_q15.c:65
float32_t * pTwiddle
Definition: arm_math.h:2259
void arm_negate_q31(q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
Negates the elements of a Q31 vector.
Definition: arm_negate_q31.c:65
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.
Definition: arm_lms_q15.c:74
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.
Definition: arm_fir_lattice_init_q15.c:61
arm_status arm_rfft_init_q15(arm_rfft_instance_q15 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
Initialization function for the Q15 RFFT/RIFFT.
Definition: arm_rfft_init_q15.c:2160
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.
Definition: arm_mat_add_f32.c:73
uint8_t L
Definition: arm_math.h:3434
q31_t * pCoeffs
Definition: arm_math.h:4071
uint8_t L
Definition: arm_math.h:3445
uint16_t numTaps
Definition: arm_math.h:4432
uint16_t phaseLength
Definition: arm_math.h:3435
arm_status arm_rfft_init_q31(arm_rfft_instance_q31 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag)
Initialization function for the Q31 RFFT/RIFFT.
Definition: arm_rfft_init_q31.c:4210
uint16_t numRows
Definition: arm_math.h:1382
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.
Definition: arm_fir_lattice_init_q31.c:61
uint16_t numRows
Definition: arm_math.h:1371
q15_t * pvCoeffs
Definition: arm_math.h:3843
Instance structure for the Q15 FIR filter.
Definition: arm_math.h:1039
void arm_sin_cos_f32(float32_t theta, float32_t *pSinVal, float32_t *pCosVal)
Floating-point sin_cos function.
Definition: arm_sin_cos_f32.c:84
q31_t A2
Definition: arm_math.h:1759
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.
Definition: arm_dct4_init_q15.c:4215
uint16_t maxDelay
Definition: arm_math.h:4436
void arm_sub_f32(float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
Floating-point vector subtraction.
Definition: arm_sub_f32.c:74
q31_t A1
Definition: arm_math.h:1758
uint8_t bitReverseFlagR
Definition: arm_math.h:2213
q31_t * pState
Definition: arm_math.h:1234
float32_t onebyfftLen
Definition: arm_math.h:2089
uint8_t ifftFlagR
Definition: arm_math.h:2212
q31_t arm_cos_q31(q31_t x)
Fast approximation to the trigonometric cosine function for Q31 data.
Definition: arm_cos_q31.c:62
q31_t * pCoeffs
Definition: arm_math.h:3447
uint16_t bitRevLength
Definition: arm_math.h:2112
q15_t * pTwiddle
Definition: arm_math.h:1980
float32_t * pvCoeffs
Definition: arm_math.h:3865
uint16_t numTaps
Definition: arm_math.h:4170
q15_t * pData
Definition: arm_math.h:1394
Instance structure for the Q31 FIR lattice filter.
Definition: arm_math.h:3733
uint16_t fftLen
Definition: arm_math.h:2126
float32_t A0
Definition: arm_math.h:1771
uint32_t nValues
Definition: arm_math.h:1842
void arm_copy_q31(q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
Copies the elements of a Q31 vector.
Definition: arm_copy_q31.c:61
uint16_t bitRevLength
Definition: arm_math.h:2146
uint16_t numTaps
Definition: arm_math.h:4458
void arm_dot_prod_q7(q7_t *pSrcA, q7_t *pSrcB, uint32_t blockSize, q31_t *result)
Dot product of Q7 vectors.
Definition: arm_dot_prod_q7.c:69
q7_t * pData
Definition: arm_math.h:1885
uint16_t numRows
Definition: arm_math.h:1392
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.
Definition: arm_iir_lattice_init_f32.c:63
void arm_cfft_f32(const arm_cfft_instance_f32 *S, float32_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
Processing function for the floating-point complex FFT.
Definition: arm_cfft_f32.c:574
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.
Definition: arm_iir_lattice_q31.c:70
void arm_cmplx_mult_cmplx_q15(q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t numSamples)
Q15 complex-by-complex multiplication.
Definition: arm_cmplx_mult_cmplx_q15.c:65
q31_t Kp
Definition: arm_math.h:1761
uint16_t fftLenBy2
Definition: arm_math.h:2211
float32_t x1
Definition: arm_math.h:1843
uint8_t numStages
Definition: arm_math.h:3570
q15_t * pState
Definition: arm_math.h:1223
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.
Definition: arm_fir_sparse_init_q7.c:73
Instance structure for the Q31 IIR lattice filter.
Definition: arm_math.h:3849
arm_status arm_mat_trans_f32(const arm_matrix_instance_f32 *pSrc, arm_matrix_instance_f32 *pDst)
Floating-point matrix transpose.
Definition: arm_mat_trans_f32.c:69
arm_cfft_radix4_instance_f32 * pCfft
Definition: arm_math.h:2217
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.
Definition: arm_fir_decimate_f32.c:141
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.
Definition: arm_scale_q15.c:68
void arm_pid_reset_q15(arm_pid_instance_q15 *S)
Reset function for the Q15 PID Control.
Definition: arm_pid_reset_q15.c:55
uint16_t phaseLength
Definition: arm_math.h:3446
void arm_cmplx_conj_q31(q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
Q31 complex conjugate.
Definition: arm_cmplx_conj_q31.c:64
q15_t mu
Definition: arm_math.h:4227
q31_t arm_sin_q31(q31_t x)
Fast approximation to the trigonometric sine function for Q31 data.
Definition: arm_sin_q31.c:60
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)
Definition: arm_biquad_cascade_df1_32x64_init_q31.c:85
q31_t * pState
Definition: arm_math.h:3852
q15_t * pTwiddleAReal
Definition: arm_math.h:2164
void arm_conv_q31(q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
Convolution of Q31 sequences.
Definition: arm_conv_q31.c:78
void arm_rfft_q31(const arm_rfft_instance_q31 *S, q31_t *pSrc, q31_t *pDst)
Processing function for the Q31 RFFT/RIFFT.
Definition: arm_rfft_q31.c:87
arm_cfft_radix4_instance_q31 * pCfft
Definition: arm_math.h:2308
arm_status arm_cfft_radix2_init_q15(arm_cfft_radix2_instance_q15 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
Initialization function for the Q15 CFFT/CIFFT.
Definition: arm_cfft_radix2_init_q15.c:76
arm_status arm_rfft_fast_init_f32(arm_rfft_fast_instance_f32 *S, uint16_t fftLen)
Initialization function for the floating-point real FFT.
Definition: arm_rfft_fast_init_f32.c:65
float32_t * pTwiddleBReal
Definition: arm_math.h:2216
float64_t * pState
Definition: arm_math.h:3631
void arm_dot_prod_q31(q31_t *pSrcA, q31_t *pSrcB, uint32_t blockSize, q63_t *result)
Dot product of Q31 vectors.
Definition: arm_dot_prod_q31.c:70
void arm_copy_q7(q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
Copies the elements of a Q7 vector.
Definition: arm_copy_q7.c:61
float32_t * pState
Definition: arm_math.h:3296
uint8_t postShift
Definition: arm_math.h:4174
arm_status arm_mat_inverse_f32(const arm_matrix_instance_f32 *src, arm_matrix_instance_f32 *dst)
Floating-point matrix inverse.
Definition: arm_mat_inverse_f32.c:85
uint16_t N
Definition: arm_math.h:2348
uint16_t numTaps
Definition: arm_math.h:3283
uint8_t bitReverseFlagR
Definition: arm_math.h:2162
void arm_dot_prod_f32(float32_t *pSrcA, float32_t *pSrcB, uint32_t blockSize, float32_t *result)
Dot product of floating-point vectors.
Definition: arm_dot_prod_f32.c:75
uint16_t numCols
Definition: arm_math.h:1372
void arm_mult_q31(q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
Q31 vector multiplication.
Definition: arm_mult_q31.c:66
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.
Definition: arm_conv_partial_fast_q15.c:67
q31_t energy
Definition: arm_math.h:4176
uint8_t bitReverseFlag
Definition: arm_math.h:1979
uint16_t * pBitRevTable
Definition: arm_math.h:1954
q31_t * pCoeffs
Definition: arm_math.h:1235
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.
Definition: arm_offset_f32.c:75
CMSIS Cortex-M0 Core Peripheral Access Layer Header File.
uint16_t Nby2
Definition: arm_math.h:2303
uint16_t stateIndex
Definition: arm_math.h:4433
uint16_t numTaps
Definition: arm_math.h:4471
int32_t * pTapDelay
Definition: arm_math.h:4476
uint16_t * pBitRevTable
Definition: arm_math.h:2007
uint16_t bitRevLength
Definition: arm_math.h:2129
float32_t * pState
Definition: arm_math.h:3621
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.
Definition: arm_fir_sparse_init_f32.c:73
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.
Definition: arm_iir_lattice_q15.c:71
arm_status arm_mat_trans_q31(const arm_matrix_instance_q31 *pSrc, arm_matrix_instance_q31 *pDst)
Q31 matrix transpose.
Definition: arm_mat_trans_q31.c:60
void arm_cfft_q31(const arm_cfft_instance_q31 *S, q31_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
Processing function for the fixed-point complex FFT in Q31 format.
Definition: arm_cfft_q31.c:89
const arm_cfft_instance_q15 * pCfft
Definition: arm_math.h:2166
float32_t mu
Definition: arm_math.h:3973
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.
Definition: arm_correlate_opt_q7.c:83
uint32_t fftLenReal
Definition: arm_math.h:2185
uint16_t fftLen
Definition: arm_math.h:2109
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.
Definition: arm_mat_mult_q31.c:78
Instance structure for the Q31 bilinear interpolation function.
Definition: arm_math.h:1861
q31_t * pState
Definition: arm_math.h:4070
q31_t * pCosFactor
Definition: arm_math.h:2306
uint16_t * pBitRevTable
Definition: arm_math.h:2033
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.
Definition: arm_fir_q31.c:72
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.
Definition: arm_lms_norm_init_q31.c:71
uint8_t M
Definition: arm_math.h:3282
uint32_t fftLenReal
Definition: arm_math.h:2160
Instance structure for the floating-point IIR lattice filter.
Definition: arm_math.h:3860
uint16_t stateIndex
Definition: arm_math.h:4459
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.
Definition: arm_fir_sparse_init_q15.c:73
q15_t * pState
Definition: arm_math.h:3437
q15_t * pCoeffs
Definition: arm_math.h:4020
q31_t * pState
Definition: arm_math.h:4171
float32_t energy
Definition: arm_math.h:4124
float32_t * pData
Definition: arm_math.h:1855
q7_t * pCoeffs
Definition: arm_math.h:4474
q15_t normalize
Definition: arm_math.h:2350
void arm_mean_q7(q7_t *pSrc, uint32_t blockSize, q7_t *pResult)
Mean value of a Q7 vector.
Definition: arm_mean_q7.c:72
uint16_t numRows
Definition: arm_math.h:1853
uint16_t numRows
Definition: arm_math.h:1863
Instance structure for the Q7 FIR filter.
Definition: arm_math.h:1029
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.
Definition: arm_fir_interpolate_f32.c:148
void arm_negate_q15(q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
Negates the elements of a Q15 vector.
Definition: arm_negate_q15.c:68
float32_t * pCoeffs
Definition: arm_math.h:1063
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.
Definition: arm_fir_fast_q31.c:75
int32_t * pTapDelay
Definition: arm_math.h:4437
q15_t * pState
Definition: arm_math.h:3726
uint16_t twidCoefModifier
Definition: arm_math.h:2060
uint16_t numTaps
Definition: arm_math.h:3970
Instance structure for the Q15 bilinear interpolation function.
Definition: arm_math.h:1871
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.
Definition: arm_cmplx_dot_prod_f32.c:88
Instance structure for the floating-point FIR lattice filter.
Definition: arm_math.h:3743
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.
Definition: arm_fir_sparse_f32.c:123
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)
Initialization function for the floating-point RFFT/RIFFT.
Definition: arm_rfft_init_f32.c:8304
Instance structure for the floating-point DCT4/IDCT4 function.
Definition: arm_math.h:2254
void arm_cmplx_mag_squared_f32(float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
Floating-point complex magnitude squared.
Definition: arm_cmplx_mag_squared_f32.c:84
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.
Definition: arm_conv_partial_opt_q15.c:76
uint16_t fftLen
Definition: arm_math.h:2055
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.
Definition: arm_fir_decimate_init_q31.c:75
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.
Definition: arm_mat_mult_f32.c:78
void arm_pid_init_q15(arm_pid_instance_q15 *S, int32_t resetStateFlag)
Initialization function for the Q15 PID Control.
Definition: arm_pid_init_q15.c:61
float32_t Kd
Definition: arm_math.h:1777
q31_t normalize
Definition: arm_math.h:2304
Instance structure for the Q15 sparse FIR filter.
Definition: arm_math.h:4456
uint16_t twidCoefModifier
Definition: arm_math.h:2087
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.
Definition: arm_dct4_init_f32.c:16449
arm_status arm_cfft_radix4_init_f32(arm_cfft_radix4_instance_f32 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
Initialization function for the floating-point CFFT/CIFFT.
Definition: arm_cfft_radix4_init_f32.c:77
CMSIS Cortex-M4 Core Peripheral Access Layer Header File.
uint16_t numTaps
Definition: arm_math.h:4224
const float32_t * pTwiddle
Definition: arm_math.h:2144
q31_t * pCoeffs
Definition: arm_math.h:3284
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...
Definition: arm_biquad_cascade_df2T_f64.c:155
void arm_sin_cos_q31(q31_t theta, q31_t *pSinVal, q31_t *pCosVal)
Q31 sin_cos function.
Definition: arm_sin_cos_q31.c:64
Instance structure for the floating-point PID Control.
Definition: arm_math.h:1769
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.
Definition: arm_correlate_fast_q15.c:77
q31_t x0
Definition: arm_math.h:4177
uint16_t bitRevFactor
Definition: arm_math.h:2035
uint8_t postShift
Definition: arm_math.h:3573
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.
Definition: arm_scale_q31.c:67
q31_t * recipTable
Definition: arm_math.h:4175
const arm_cfft_instance_q31 * pCfft
Definition: arm_math.h:2191
void arm_copy_q15(q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
Copies the elements of a Q15 vector.
Definition: arm_copy_q15.c:60
void arm_correlate_f32(float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst)
Correlation of floating-point sequences.
Definition: arm_correlate_f32.c:116
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.
Definition: arm_float_to_q15.c:76
Instance structure for the floating-point FIR filter.
Definition: arm_math.h:1059
void arm_pid_init_q31(arm_pid_instance_q31 *S, int32_t resetStateFlag)
Initialization function for the Q31 PID Control.
Definition: arm_pid_init_q31.c:61
void arm_q7_to_q15(q7_t *pSrc, q15_t *pDst, uint32_t blockSize)
Converts the elements of the Q7 vector to Q15 vector.
Definition: arm_q7_to_q15.c:73
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.
Definition: arm_mat_cmplx_mult_q15.c:88
uint16_t twidCoefModifier
Definition: arm_math.h:1955
float32_t Kp
Definition: arm_math.h:1775
void arm_rfft_f32(const arm_rfft_instance_f32 *S, float32_t *pSrc, float32_t *pDst)
Processing function for the floating-point RFFT/RIFFT.
Definition: arm_rfft_f32.c:100
float32_t * pState
Definition: arm_math.h:1245
q31_t Kd
Definition: arm_math.h:1763
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.
Definition: arm_conv_partial_q7.c:68
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.
Definition: arm_cmplx_dot_prod_q31.c:71
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.
Definition: arm_biquad_cascade_df1_init_f32.c:88
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.
Definition: arm_conv_partial_fast_q31.c:67
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.
Definition: arm_conv_opt_q7.c:79
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.
Definition: arm_fir_init_q7.c:70
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.
Definition: arm_conv_opt_q15.c:85
void arm_mean_q31(q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
Mean value of a Q31 vector.
Definition: arm_mean_q31.c:72
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...
Definition: arm_biquad_cascade_df2T_init_f32.c:81
Instance structure for the fixed-point CFFT/CIFFT function.
Definition: arm_math.h:2124
uint8_t bitReverseFlag
Definition: arm_math.h:1952
const uint16_t * pBitRevTable
Definition: arm_math.h:2128
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.
Definition: arm_mat_sub_q31.c:67
CMSIS Cortex-M3 Core Peripheral Access Layer Header File.
q15_t A0
Definition: arm_math.h:1739
uint16_t twidCoefModifier
Definition: arm_math.h:2034
void arm_correlate_q31(q31_t *pSrcA, uint32_t srcALen, q31_t *pSrcB, uint32_t srcBLen, q31_t *pDst)
Correlation of Q31 sequences.
Definition: arm_correlate_q31.c:78
void arm_q15_to_q7(q15_t *pSrc, q7_t *pDst, uint32_t blockSize)
Converts the elements of the Q15 vector to Q7 vector.
Definition: arm_q15_to_q7.c:71
float32_t * pCoeffs
Definition: arm_math.h:3295
float32_t * pState
Definition: arm_math.h:3746
uint8_t ifftFlag
Definition: arm_math.h:1951
float32_t * pState
Definition: arm_math.h:3863
q31_t * pCoeffs
Definition: arm_math.h:1053
uint16_t numStages
Definition: arm_math.h:3745
uint8_t numStages
Definition: arm_math.h:3620
uint8_t postShift
Definition: arm_math.h:4228
Instance structure for the Q31 LMS filter.
Definition: arm_math.h:4067
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.
Definition: arm_conv_fast_q15.c:77
uint16_t maxDelay
Definition: arm_math.h:4462
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.
Definition: arm_lms_norm_q15.c:79
void arm_cmplx_mag_q15(q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
Q15 complex magnitude.
Definition: arm_cmplx_mag_q15.c:65
q15_t * pData
Definition: arm_math.h:1875
q15_t * pCoeffs
Definition: arm_math.h:3273
void arm_abs_q15(q15_t *pSrc, q15_t *pDst, uint32_t blockSize)
Q15 vector absolute value.
Definition: arm_abs_q15.c:65
uint32_t numStages
Definition: arm_math.h:1244
void arm_min_q31(q31_t *pSrc, uint32_t blockSize, q31_t *pResult, uint32_t *pIndex)
Minimum value of a Q31 vector.
Definition: arm_min_q31.c:64
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.
Definition: arm_fir_lattice_init_f32.c:61
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.
Definition: arm_mat_sub_q15.c:66
void arm_min_q7(q7_t *pSrc, uint32_t blockSize, q7_t *result, uint32_t *index)
Minimum value of a Q7 vector.
Definition: arm_min_q7.c:63
float32_t xSpacing
Definition: arm_math.h:1844
void arm_cmplx_mag_q31(q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
Q31 complex magnitude.
Definition: arm_cmplx_mag_q31.c:65
void arm_var_q15(q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
Variance of the elements of a Q15 vector.
Definition: arm_var_q15.c:75
Instance structure for the floating-point RFFT/RIFFT function.
Definition: arm_math.h:2235
void arm_min_f32(float32_t *pSrc, uint32_t blockSize, float32_t *pResult, uint32_t *pIndex)
Minimum value of a floating-point vector.
Definition: arm_min_f32.c:71
uint16_t fftLen
Definition: arm_math.h:2003
uint16_t numStages
Definition: arm_math.h:3735
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.
Definition: arm_shift_q7.c:71
uint16_t * pBitRevTable
Definition: arm_math.h:2086
void arm_sub_q15(q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
Q15 vector subtraction.
Definition: arm_sub_q15.c:66
uint16_t Nby2
Definition: arm_math.h:2257
q15_t * pTwiddle
Definition: arm_math.h:2351
q15_t * recipTable
Definition: arm_math.h:4229
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.
Definition: arm_q31_to_float.c:74
void arm_cfft_radix2_q15(const arm_cfft_radix2_instance_q15 *S, q15_t *pSrc)
Processing function for the fixed-point CFFT/CIFFT.
Definition: arm_cfft_radix2_q15.c:80
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.
Definition: arm_fir_interpolate_init_q31.c:77
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-...
Definition: arm_biquad_cascade_df1_fast_q15.c:75
arm_status arm_sqrt_q31(q31_t in, q31_t *pOut)
Q31 square root function.
Definition: arm_sqrt_q31.c:61
void arm_sub_q7(q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
Q7 vector subtraction.
Definition: arm_sub_q7.c:66
void arm_std_q31(q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
Standard deviation of the elements of a Q31 vector.
Definition: arm_std_q31.c:78
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.
Definition: arm_fir_q7.c:69
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.
Definition: arm_fir_init_q31.c:73
q15_t x0
Definition: arm_math.h:4231
Instance structure for the Q15 bilinear interpolation function.
Definition: arm_math.h:1881
uint8_t M
Definition: arm_math.h:3293
Instance structure for the Q31 CFFT/CIFFT function.
Definition: arm_math.h:2027
void arm_cfft_radix4_q15(const arm_cfft_radix4_instance_q15 *S, q15_t *pSrc)
Processing function for the Q15 CFFT/CIFFT.
Definition: arm_cfft_radix4_q15.c:91
void arm_add_q31(q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
Q31 vector addition.
Definition: arm_add_q31.c:67
float32_t * pState
Definition: arm_math.h:3459
arm_status arm_mat_trans_q15(const arm_matrix_instance_q15 *pSrc, arm_matrix_instance_q15 *pDst)
Q15 matrix transpose.
Definition: arm_mat_trans_q15.c:60
uint16_t numCols
Definition: arm_math.h:1854
void arm_offset_q15(q15_t *pSrc, q15_t offset, q15_t *pDst, uint32_t blockSize)
Adds a constant offset to a Q15 vector.
Definition: arm_offset_q15.c:66
void arm_std_q15(q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
Standard deviation of the elements of a Q15 vector.
Definition: arm_std_q15.c:73
void arm_abs_q31(q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
Q31 vector absolute value.
Definition: arm_abs_q31.c:66
arm_status arm_cfft_radix4_init_q31(arm_cfft_radix4_instance_q31 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
Initialization function for the Q31 CFFT/CIFFT.
Definition: arm_cfft_radix4_init_q31.c:76
CMSIS Cortex-M7 Core Peripheral Access Layer Header File.
void arm_cmplx_mult_real_f32(float32_t *pSrcCmplx, float32_t *pSrcReal, float32_t *pCmplxDst, uint32_t numSamples)
Floating-point complex-by-real multiplication.
Definition: arm_cmplx_mult_real_f32.c:85
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.
Definition: arm_biquad_cascade_df1_q31.c:74
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.
Definition: arm_mat_mult_fast_q31.c:83
q31_t mu
Definition: arm_math.h:4072
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.
Definition: arm_iir_lattice_f32.c:134
float32_t * pState
Definition: arm_math.h:4434
q31_t * pCoeffs
Definition: arm_math.h:4448
uint16_t numTaps
Definition: arm_math.h:4445
q15_t * pState
Definition: arm_math.h:3841
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.
Definition: arm_shift_q31.c:84
uint16_t numRows
Definition: arm_math.h:1873
uint16_t numCols
Definition: arm_math.h:1884
uint16_t fftLen
Definition: arm_math.h:2029
uint16_t bitRevFactor
Definition: arm_math.h:1956
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.
Definition: arm_mat_scale_q15.c:68
Instance structure for the Q7 sparse FIR filter.
Definition: arm_math.h:4469
uint8_t bitReverseFlag
Definition: arm_math.h:2084
Instance structure for the floating-point transposed direct form II Biquad cascade filter...
Definition: arm_math.h:3618
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.
Definition: arm_fir_decimate_init_f32.c:75
uint32_t postShift
Definition: arm_math.h:4073
q15_t * pCoeffs
Definition: arm_math.h:3727
uint8_t ifftFlag
Definition: arm_math.h:1978
Instance structure for the floating-point RFFT/RIFFT function.
Definition: arm_math.h:2208
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-...
Definition: arm_biquad_cascade_df1_fast_q31.c:77
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.
Definition: arm_fir_interpolate_q31.c:74
uint16_t numTaps
Definition: arm_math.h:1051
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.
Definition: arm_iir_lattice_init_q31.c:63
Instance structure for the floating-point CFFT/CIFFT function.
Definition: arm_math.h:2141
int8_t postShift
Definition: arm_math.h:1225
void arm_cfft_q15(const arm_cfft_instance_q15 *S, q15_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
Processing function for the Q15 complex FFT.
Definition: arm_cfft_q15.c:89
uint16_t numStages
Definition: arm_math.h:3851
arm_status arm_cfft_radix4_init_q15(arm_cfft_radix4_instance_q15 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
Initialization function for the Q15 CFFT/CIFFT.
Definition: arm_cfft_radix4_init_q15.c:77
Instance structure for the Radix-2 Q31 CFFT/CIFFT function.
Definition: arm_math.h:2001
float32_t * pCoeffs
Definition: arm_math.h:4435
Instance structure for the Q31 sparse FIR filter.
Definition: arm_math.h:4443
void arm_sub_q31(q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize)
Q31 vector subtraction.
Definition: arm_sub_q31.c:66
q15_t Ki
Definition: arm_math.h:1748
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.
Definition: arm_cmplx_dot_prod_q15.c:70
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.
Definition: arm_fir_sparse_init_q31.c:72
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.
Definition: arm_fir_lattice_q31.c:70
q31_t * pCoeffs
Definition: arm_math.h:3572
uint16_t maxDelay
Definition: arm_math.h:4475
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.
Definition: arm_mat_cmplx_mult_f32.c:73
uint32_t numStages
Definition: arm_math.h:1233
uint16_t * pBitRevTable
Definition: arm_math.h:1981
Instance structure for the floating-point LMS filter.
Definition: arm_math.h:3968
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.
Definition: arm_mat_add_q15.c:66
arm_status arm_mat_scale_f32(const arm_matrix_instance_f32 *pSrc, float32_t scale, arm_matrix_instance_f32 *pDst)
Floating-point matrix scaling.
Definition: arm_mat_scale_f32.c:80
float32_t * pState
Definition: arm_math.h:4121
q15_t Kd
Definition: arm_math.h:1749
Instance structure for the floating-point FIR decimator.
Definition: arm_math.h:3291
float32_t state[3]
Definition: arm_math.h:1774
q15_t * pState
Definition: arm_math.h:4225
float32_t * pTwiddle
Definition: arm_math.h:2058
int32_t * pTapDelay
Definition: arm_math.h:4463
void arm_q7_to_q31(q7_t *pSrc, q31_t *pDst, uint32_t blockSize)
Converts the elements of the Q7 vector to Q31 vector.
Definition: arm_q7_to_q31.c:70
uint16_t stateIndex
Definition: arm_math.h:4472
q15_t Kp
Definition: arm_math.h:1747
arm_status arm_cfft_radix2_init_f32(arm_cfft_radix2_instance_f32 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
Initialization function for the floating-point CFFT/CIFFT.
Definition: arm_cfft_radix2_init_f32.c:76
Instance structure for the Q31 DCT4/IDCT4 function.
Definition: arm_math.h:2300
void arm_var_f32(float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
Variance of the elements of a floating-point vector.
Definition: arm_var_f32.c:80
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.
Definition: arm_lms_norm_q31.c:80
void arm_dct4_q31(const arm_dct4_instance_q31 *S, q31_t *pState, q31_t *pInlineBuffer)
Processing function for the Q31 DCT4/IDCT4.
Definition: arm_dct4_q31.c:64
uint16_t numTaps
Definition: arm_math.h:3294
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 CMSIS_UNUSED)
Q15 matrix multiplication.
Definition: arm_mat_mult_q15.c:79
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.
Definition: arm_fir_sparse_q7.c:73
void arm_cmplx_mult_real_q15(q15_t *pSrcCmplx, q15_t *pSrcReal, q15_t *pCmplxDst, uint32_t numSamples)
Q15 complex-by-real multiplication.
Definition: arm_cmplx_mult_real_q15.c:67
float32_t * pTwiddleAReal
Definition: arm_math.h:2215
q31_t * pTwiddleBReal
Definition: arm_math.h:2190
CMSIS Cortex-M0+ Core Peripheral Access Layer Header File.
float32_t normalize
Definition: arm_math.h:2258
void arm_fill_q7(q7_t value, q7_t *pDst, uint32_t blockSize)
Fills a constant value into a Q7 vector.
Definition: arm_fill_q7.c:61
Instance structure for the Q31 FIR filter.
Definition: arm_math.h:1049
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.
Definition: arm_fir_decimate_init_q15.c:76
uint16_t numTaps
Definition: arm_math.h:4069
uint16_t fftLenRFFT
Definition: arm_math.h:2238
void arm_cfft_radix4_q31(const arm_cfft_radix4_instance_q31 *S, q31_t *pSrc)
Processing function for the Q31 CFFT/CIFFT.
Definition: arm_cfft_radix4_q31.c:90
uint8_t ifftFlag
Definition: arm_math.h:2056
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.
Definition: arm_fir_init_f32.c:73
arm_cfft_radix4_instance_q15 * pCfft
Definition: arm_math.h:2354
Instance structure for the Q15 FIR lattice filter.
Definition: arm_math.h:3723
uint16_t bitRevFactor
Definition: arm_math.h:2088
q7_t * pState
Definition: arm_math.h:1032
uint16_t * pBitRevTable
Definition: arm_math.h:2059
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.
Definition: arm_lms_f32.c:181
q31_t * pvCoeffs
Definition: arm_math.h:3854
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.
Definition: arm_iir_lattice_init_q15.c:63
Instance structure for the floating-point CFFT/CIFFT function.
Definition: arm_math.h:2080
float32_t A1
Definition: arm_math.h:1772
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...
Definition: arm_biquad_cascade_stereo_df2T_f32.c:155
int32_t * pTapDelay
Definition: arm_math.h:4450
float32_t * pYData
Definition: arm_math.h:1845
uint16_t fftLen
Definition: arm_math.h:1950
Instance structure for the Q15 IIR lattice filter.
Definition: arm_math.h:3838
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.
Definition: arm_mat_mult_fast_q15.c:85
void arm_cmplx_mag_squared_q31(q31_t *pSrc, q31_t *pDst, uint32_t numSamples)
Q31 complex magnitude squared.
Definition: arm_cmplx_mag_squared_q31.c:66
void arm_cfft_radix2_f32(const arm_cfft_radix2_instance_f32 *S, float32_t *pSrc)
Radix-2 CFFT/CIFFT.
Definition: arm_cfft_radix2_f32.c:82
Instance structure for the Q31 normalized LMS filter.
Definition: arm_math.h:4168
Instance structure for the Q15 FIR decimator.
Definition: arm_math.h:3269
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.
Definition: arm_conv_fast_opt_q15.c:83
void arm_mult_f32(float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
Floating-point vector multiplication.
Definition: arm_mult_f32.c:73
void arm_min_q15(q15_t *pSrc, uint32_t blockSize, q15_t *pResult, uint32_t *pIndex)
Minimum value of a Q15 vector.
Definition: arm_min_q15.c:64
void arm_cmplx_mult_real_q31(q31_t *pSrcCmplx, q31_t *pSrcReal, q31_t *pCmplxDst, uint32_t numSamples)
Q31 complex-by-real multiplication.
Definition: arm_cmplx_mult_real_q31.c:67
float32_t * pCoeffs
Definition: arm_math.h:4122
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.
Definition: arm_fir_lattice_q15.c:62
void arm_pid_init_f32(arm_pid_instance_f32 *S, int32_t resetStateFlag)
Initialization function for the floating-point PID Control.
Definition: arm_pid_init_f32.c:62
void arm_abs_f32(float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
Floating-point vector absolute value.
Definition: arm_abs_f32.c:75
uint8_t L
Definition: arm_math.h:3456
uint16_t bitRevFactor
Definition: arm_math.h:2009
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.
Definition: arm_dct4_init_q31.c:8295
void arm_fill_q31(q31_t value, q31_t *pDst, uint32_t blockSize)
Fills a constant value into a Q31 vector.
Definition: arm_fill_q31.c:61
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.
Definition: arm_fir_q15.c:85
float32_t A2
Definition: arm_math.h:1773
q15_t * pState
Definition: arm_math.h:1042
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...
Definition: arm_biquad_cascade_df2T_f32.c:155
arm_rfft_instance_f32 * pRfft
Definition: arm_math.h:2261
void arm_q31_to_q15(q31_t *pSrc, q15_t *pDst, uint32_t blockSize)
Converts the elements of the Q31 vector to Q15 vector.
Definition: arm_q31_to_q15.c:70
float32_t x0
Definition: arm_math.h:4125
q15_t state[3]
Definition: arm_math.h:1746
q15_t * pCoeffs
Definition: arm_math.h:4461
void arm_fill_f32(float32_t value, float32_t *pDst, uint32_t blockSize)
Fills a constant value into a floating-point vector.
Definition: arm_fill_f32.c:74
void arm_copy_f32(float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
Copies the elements of a floating-point vector.
Definition: arm_copy_f32.c:74
q31_t * pState
Definition: arm_math.h:3285
Instance structure for the Q15 normalized LMS filter.
Definition: arm_math.h:4222
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.
Definition: arm_fir_interpolate_q15.c:74
void arm_pid_reset_f32(arm_pid_instance_f32 *S)
Reset function for the floating-point PID Control.
Definition: arm_pid_reset_f32.c:55
uint8_t M
Definition: arm_math.h:3271
void arm_cfft_radix2_q31(const arm_cfft_radix2_instance_q31 *S, q31_t *pSrc)
Processing function for the fixed-point CFFT/CIFFT.
Definition: arm_cfft_radix2_q31.c:80
void arm_abs_q7(q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
Q7 vector absolute value.
Definition: arm_abs_q7.c:69
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.
Definition: arm_q7_to_float.c:74
void arm_q31_to_q7(q31_t *pSrc, q7_t *pDst, uint32_t blockSize)
Converts the elements of the Q31 vector to Q7 vector.
Definition: arm_q31_to_q7.c:70
Instance structure for the Q15 matrix structure.
Definition: arm_math.h:1390
q31_t Ki
Definition: arm_math.h:1762
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.
Definition: arm_conv_partial_q31.c:66
uint16_t twidCoefModifier
Definition: arm_math.h:2008
void arm_cmplx_mult_cmplx_q31(q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t numSamples)
Q31 complex-by-complex multiplication.
Definition: arm_cmplx_mult_cmplx_q31.c:67
void arm_rfft_q15(const arm_rfft_instance_q15 *S, q15_t *pSrc, q15_t *pDst)
Processing function for the Q15 RFFT/RIFFT.
Definition: arm_rfft_q15.c:87
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.
Definition: arm_mat_scale_q31.c:67
float32_t onebyfftLen
Definition: arm_math.h:2062
Instance structure for the floating-point sparse FIR filter.
Definition: arm_math.h:4430
void arm_dct4_f32(const arm_dct4_instance_f32 *S, float32_t *pState, float32_t *pInlineBuffer)
Processing function for the floating-point DCT4/IDCT4.
Definition: arm_dct4_f32.c:137
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.
Definition: arm_biquad_cascade_df1_init_q31.c:86
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.
Definition: arm_power_f32.c:76
uint16_t numRows
Definition: arm_math.h:1883
Instance structure for the Q15 Biquad cascade filter.
Definition: arm_math.h:1220
arm_rfft_instance_q15 * pRfft
Definition: arm_math.h:2353
void arm_mean_q15(q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
Mean value of a Q15 vector.
Definition: arm_mean_q15.c:72
void arm_add_q15(q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
Q15 vector addition.
Definition: arm_add_q15.c:66
float32_t * pCoeffs
Definition: arm_math.h:3458
q31_t * pState
Definition: arm_math.h:3736
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.
Definition: arm_lms_init_q31.c:74
uint32_t postShift
Definition: arm_math.h:4022
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.
Definition: arm_fir_interpolate_init_f32.c:76
arm_cfft_radix4_instance_f32 * pCfft
Definition: arm_math.h:2262
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.
Definition: arm_mat_add_q31.c:66
uint16_t numStages
Definition: arm_math.h:3840
void arm_power_q7(q7_t *pSrc, uint32_t blockSize, q31_t *pResult)
Sum of the squares of the elements of a Q7 vector.
Definition: arm_power_q7.c:73
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.
Definition: arm_float_to_q7.c:75
q15_t arm_sin_q15(q15_t x)
Fast approximation to the trigonometric sine function for Q15 data.
Definition: arm_sin_q15.c:61
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.
Definition: arm_conv_fast_q31.c:79
void arm_dot_prod_q15(q15_t *pSrcA, q15_t *pSrcB, uint32_t blockSize, q63_t *result)
Dot product of Q15 vectors.
Definition: arm_dot_prod_q15.c:69
void arm_negate_q7(q7_t *pSrc, q7_t *pDst, uint32_t blockSize)
Negates the elements of a Q7 vector.
Definition: arm_negate_q7.c:65
float64_t * pData
Definition: arm_math.h:1384
void arm_cmplx_conj_f32(float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
Floating-point complex conjugate.
Definition: arm_cmplx_conj_f32.c:82
float32_t * pTwiddleRFFT
Definition: arm_math.h:2239
const q31_t * pTwiddle
Definition: arm_math.h:2127
uint16_t numStages
Definition: arm_math.h:3862
Instance structure for the Q15 LMS filter.
Definition: arm_math.h:4016
void arm_cfft_radix4_f32(const arm_cfft_radix4_instance_f32 *S, float32_t *pSrc)
Processing function for the floating-point Radix-4 CFFT/CIFFT.
Definition: arm_cfft_radix4_f32.c:1181
void arm_mult_q15(q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize)
Q15 vector multiplication.
Definition: arm_mult_q15.c:67
Instance structure for the Q31 FIR interpolator.
Definition: arm_math.h:3443
void arm_correlate_q15(q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst)
Correlation of Q15 sequences.
Definition: arm_correlate_q15.c:79
uint16_t twidCoefModifier
Definition: arm_math.h:1982
void arm_negate_f32(float32_t *pSrc, float32_t *pDst, uint32_t blockSize)
Negates the elements of a floating-point vector.
Definition: arm_negate_f32.c:74
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.
Definition: arm_lms_norm_init_f32.c:72
uint16_t numCols
Definition: arm_math.h:1403
q15_t * pCoeffs
Definition: arm_math.h:1043
q31_t * pTwiddle
Definition: arm_math.h:2305
uint16_t numCols
Definition: arm_math.h:1864
Instance structure for the Q31 Biquad cascade filter.
Definition: arm_math.h:1231
void arm_correlate_q7(q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst)
Correlation of Q7 sequences.
Definition: arm_correlate_q7.c:76
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...
Definition: arm_biquad_cascade_df2T_init_f64.c:81
q15_t * pkCoeffs
Definition: arm_math.h:3842
q31_t * pTwiddle
Definition: arm_math.h:2032
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.
Definition: arm_biquad_cascade_df1_f32.c:178
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.
Definition: arm_fir_init_q15.c:90
const q15_t * pTwiddle
Definition: arm_math.h:2110
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.
Definition: arm_mat_cmplx_mult_q31.c:75
uint8_t bitReverseFlag
Definition: arm_math.h:2005
uint16_t numStages
Definition: arm_math.h:3725
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.
Definition: arm_lms_init_q15.c:74
q15_t * pCoeffs
Definition: arm_math.h:4226
const uint16_t * pBitRevTable
Definition: arm_math.h:2145
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.
Definition: arm_correlate_fast_opt_q15.c:84
uint8_t bitReverseFlag
Definition: arm_math.h:2031
void arm_power_q15(q15_t *pSrc, uint32_t blockSize, q63_t *pResult)
Sum of the squares of the elements of a Q15 vector.
Definition: arm_power_q15.c:73
uint8_t numStages
Definition: arm_math.h:3630
void arm_pid_reset_q31(arm_pid_instance_q31 *S)
Reset function for the Q31 PID Control.
Definition: arm_pid_reset_q31.c:55
arm_rfft_instance_q31 * pRfft
Definition: arm_math.h:2307
q15_t * pCosFactor
Definition: arm_math.h:2352
void arm_rms_q15(q15_t *pSrc, uint32_t blockSize, q15_t *pResult)
Root Mean Square of the elements of a Q15 vector.
Definition: arm_rms_q15.c:70
Instance structure for the floating-point CFFT/CIFFT function.
Definition: arm_math.h:2053
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.
Definition: arm_lms_q31.c:77
uint16_t numTaps
Definition: arm_math.h:4018
int8_t numStages
Definition: arm_math.h:1222
Instance structure for the Q15 FIR interpolator.
Definition: arm_math.h:3432
uint16_t numTaps
Definition: arm_math.h:3272
uint8_t ifftFlag
Definition: arm_math.h:2004
void arm_mat_init_q15(arm_matrix_instance_q15 *S, uint16_t nRows, uint16_t nColumns, q15_t *pData)
Q15 matrix initialization.
Definition: arm_mat_init_q15.c:62
arm_status arm_sqrt_q15(q15_t in, q15_t *pOut)
Q15 square root function.
Definition: arm_sqrt_q15.c:62
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.
Definition: arm_shift_q15.c:66
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.
Definition: arm_float_to_q31.c:80
q31_t * pCoeffs
Definition: arm_math.h:4172
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.
Definition: arm_conv_partial_fast_opt_q15.c:75
float32_t * pState
Definition: arm_math.h:3971
void arm_add_f32(float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize)
Floating-point vector addition.
Definition: arm_add_f32.c:73
float32_t * pkCoeffs
Definition: arm_math.h:3864
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.
Definition: arm_fir_sparse_q15.c:68
q31_t * pState
Definition: arm_math.h:3448
uint16_t numTaps
Definition: arm_math.h:1031
uint8_t ifftFlag
Definition: arm_math.h:2030
uint16_t numTaps
Definition: arm_math.h:1041
Instance structure for the Q15 CFFT/CIFFT function.
Definition: arm_math.h:1975
void arm_std_f32(float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
Standard deviation of the elements of a floating-point vector.
Definition: arm_std_f32.c:80
uint16_t numCols
Definition: arm_math.h:1383
Instance structure for the Q15 PID Control.
Definition: arm_math.h:1737
void arm_offset_q7(q7_t *pSrc, q7_t offset, q7_t *pDst, uint32_t blockSize)
Adds a constant offset to a Q7 vector.
Definition: arm_offset_q7.c:66
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.
Definition: arm_conv_partial_f32.c:95
Instance structure for the Q15 DCT4/IDCT4 function.
Definition: arm_math.h:2346
Instance structure for the floating-point normalized LMS filter.
Definition: arm_math.h:4118
float32_t * pTwiddle
Definition: arm_math.h:2085
Instance structure for the Q31 RFFT/RIFFT function.
Definition: arm_math.h:2183
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.
Definition: arm_conv_partial_opt_q7.c:76
q31_t A1
Definition: arm_math.h:1744
uint32_t twidCoefRModifier
Definition: arm_math.h:2163
q31_t * pkCoeffs
Definition: arm_math.h:3853
void arm_max_q31(q31_t *pSrc, uint32_t blockSize, q31_t *pResult, uint32_t *pIndex)
Maximum value of a Q31 vector.
Definition: arm_max_q31.c:62
Instance structure for the floating-point transposed direct form II Biquad cascade filter...
Definition: arm_math.h:3608
q15_t * pCoeffs
Definition: arm_math.h:1224
void arm_cmplx_mag_f32(float32_t *pSrc, float32_t *pDst, uint32_t numSamples)
Floating-point complex magnitude.
Definition: arm_cmplx_mag_f32.c:84
float32_t * pCosFactor
Definition: arm_math.h:2260
q31_t * pState
Definition: arm_math.h:4447
void arm_conv_f32(float32_t *pSrcA, uint32_t srcALen, float32_t *pSrcB, uint32_t srcBLen, float32_t *pDst)
Convolution of floating-point sequences.
Definition: arm_conv_f32.c:124
void arm_conv_q7(q7_t *pSrcA, uint32_t srcALen, q7_t *pSrcB, uint32_t srcBLen, q7_t *pDst)
Convolution of Q7 sequences.
Definition: arm_conv_q7.c:76
void arm_var_q31(q31_t *pSrc, uint32_t blockSize, q31_t *pResult)
Variance of the elements of a Q31 vector.
Definition: arm_var_q31.c:78
Instance structure for the high precision Q31 Biquad cascade filter.
Definition: arm_math.h:3568
uint8_t bitReverseFlag
Definition: arm_math.h:2057
Instance structure for the Q15 RFFT/RIFFT function.
Definition: arm_math.h:2158
uint32_t fftLenReal
Definition: arm_math.h:2210
Instance structure for the floating-point matrix structure.
Definition: arm_math.h:1380
Instance structure for the Q15 CFFT/CIFFT function.
Definition: arm_math.h:1948
q31_t * pData
Definition: arm_math.h:1865
Instance structure for the floating-point matrix structure.
Definition: arm_math.h:1369
float32_t arm_cos_f32(float32_t x)
Fast approximation to the trigonometric cosine function for floating-point data.
Definition: arm_cos_f32.c:82
q31_t state[3]
Definition: arm_math.h:1760
uint16_t numCols
Definition: arm_math.h:1874
uint16_t phaseLength
Definition: arm_math.h:3457
void arm_offset_q31(q31_t *pSrc, q31_t offset, q31_t *pDst, uint32_t blockSize)
Adds a constant offset to a Q31 vector.
Definition: arm_offset_q31.c:66
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.
Definition: arm_fir_sparse_q31.c:66
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.
Definition: arm_fir_interpolate_init_q15.c:76
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.
Definition: arm_fir_f32.c:565
const uint16_t * pBitRevTable
Definition: arm_math.h:2111
Instance structure for the Q31 FIR decimator.
Definition: arm_math.h:3280
uint16_t numRows
Definition: arm_math.h:1402
float32_t Ki
Definition: arm_math.h:1776
q31_t * pData
Definition: arm_math.h:1404
uint32_t twidCoefRModifier
Definition: arm_math.h:2214
float32_t * pCoeffs
Definition: arm_math.h:1246
uint8_t ifftFlag
Definition: arm_math.h:2083
uint8_t numStages
Definition: arm_math.h:3610
arm_status arm_cfft_radix2_init_q31(arm_cfft_radix2_instance_q31 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag)
Initialization function for the Q31 CFFT/CIFFT.
Definition: arm_cfft_radix2_init_q31.c:78
#define __CLZ
Count leading zeros.
Definition: cmsis_armcc.h:463
void arm_max_q15(q15_t *pSrc, uint32_t blockSize, q15_t *pResult, uint32_t *pIndex)
Maximum value of a Q15 vector.
Definition: arm_max_q15.c:62
Instance structure for the fixed-point CFFT/CIFFT function.
Definition: arm_math.h:2107
uint16_t numCols
Definition: arm_math.h:1393
float32_t * pState
Definition: arm_math.h:1062
void arm_mat_init_f32(arm_matrix_instance_f32 *S, uint16_t nRows, uint16_t nColumns, float32_t *pData)
Floating-point matrix initialization.
Definition: arm_mat_init_f32.c:70
float32_t * pState
Definition: arm_math.h:3611
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.
Definition: arm_fir_decimate_q15.c:77
q31_t * pTwiddleAReal
Definition: arm_math.h:2189
void arm_max_q7(q7_t *pSrc, uint32_t blockSize, q7_t *pResult, uint32_t *pIndex)
Maximum value of a Q7 vector.
Definition: arm_max_q7.c:62
void arm_rfft_fast_f32(arm_rfft_fast_instance_f32 *S, float32_t *p, float32_t *pOut, uint8_t ifftFlag)
Processing function for the floating-point real FFT.
Definition: arm_rfft_fast_f32.c:324
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.
Definition: arm_fir_lattice_f32.c:131
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.
Definition: arm_fir_fast_q15.c:72
void arm_power_q31(q31_t *pSrc, uint32_t blockSize, q63_t *pResult)
Sum of the squares of the elements of a Q31 vector.
Definition: arm_power_q31.c:74
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.
Definition: arm_scale_q7.c:67
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.
Definition: arm_correlate_opt_q15.c:83
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.
Definition: arm_mat_sub_f32.c:72
Instance structure for the floating-point transposed direct form II Biquad cascade filter...
Definition: arm_math.h:3628
uint16_t fftLen
Definition: arm_math.h:2082
uint32_t twidCoefRModifier
Definition: arm_math.h:2188
arm_status arm_mat_inverse_f64(const arm_matrix_instance_f64 *src, arm_matrix_instance_f64 *dst)
Floating-point matrix inverse.
Definition: arm_mat_inverse_f64.c:85
void arm_max_f32(float32_t *pSrc, uint32_t blockSize, float32_t *pResult, uint32_t *pIndex)
Maximum value of a floating-point vector.
Definition: arm_max_f32.c:70
float32_t mu
Definition: arm_math.h:4123
uint16_t stateIndex
Definition: arm_math.h:4446
q7_t * pState
Definition: arm_math.h:4473
void arm_q15_to_q31(q15_t *pSrc, q31_t *pDst, uint32_t blockSize)
Converts the elements of the Q15 vector to Q31 vector.
Definition: arm_q15_to_q31.c:70
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.
Definition: arm_correlate_fast_q31.c:81
uint16_t bitRevFactor
Definition: arm_math.h:2061
q15_t * pState
Definition: arm_math.h:4460
q15_t arm_cos_q15(q15_t x)
Fast approximation to the trigonometric cosine function for Q15 data.
Definition: arm_cos_q15.c:62
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)
Definition: arm_biquad_cascade_df1_32x64_q31.c:187
float64_t * pCoeffs
Definition: arm_math.h:3632
uint16_t N
Definition: arm_math.h:2302
q15_t energy
Definition: arm_math.h:4230
void arm_cmplx_mag_squared_q15(q15_t *pSrc, q15_t *pDst, uint32_t numSamples)
Q15 complex magnitude squared.
Definition: arm_cmplx_mag_squared_q15.c:64
q15_t * pCoeffs
Definition: arm_math.h:3436
uint16_t maxDelay
Definition: arm_math.h:4449
void arm_mat_init_q31(arm_matrix_instance_q31 *S, uint16_t nRows, uint16_t nColumns, q31_t *pData)
Q31 matrix initialization.
Definition: arm_mat_init_q31.c:66
float32_t arm_sin_f32(float32_t x)
Fast approximation to the trigonometric sine function for floating-point data.
Definition: arm_sin_f32.c:84
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.
Definition: arm_conv_partial_q15.c:71
q31_t * pState
Definition: arm_math.h:1052
q15_t * pState
Definition: arm_math.h:4019
void arm_mult_q7(q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
Q7 vector multiplication.
Definition: arm_mult_q7.c:66
void arm_fill_q15(q15_t value, q15_t *pDst, uint32_t blockSize)
Fills a constant value into a Q15 vector.
Definition: arm_fill_q15.c:61
Instance structure for the floating-point Linear Interpolate function.
Definition: arm_math.h:1840
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.
Definition: arm_lms_norm_init_q15.c:72
uint16_t N
Definition: arm_math.h:2256
q31_t mu
Definition: arm_math.h:4173
void arm_add_q7(q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize)
Q7 vector addition.
Definition: arm_add_q7.c:66
uint16_t Nby2
Definition: arm_math.h:2349
q15_t mu
Definition: arm_math.h:4021
Instance structure for the floating-point Biquad cascade filter.
Definition: arm_math.h:1242
float32_t * pCoeffs
Definition: arm_math.h:3972
uint8_t ifftFlagR
Definition: arm_math.h:2161
uint8_t postShift
Definition: arm_math.h:1236
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.
Definition: arm_fir_decimate_q31.c:72
Instance structure for the floating-point bilinear interpolation function.
Definition: arm_math.h:1851
float32_t * pData
Definition: arm_math.h:1373
uint16_t numTaps
Definition: arm_math.h:1061
void arm_rms_f32(float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
Root Mean Square of the elements of a floating-point vector.
Definition: arm_rms_f32.c:76
arm_cfft_instance_f32 Sint
Definition: arm_math.h:2237
uint16_t numTaps
Definition: arm_math.h:4120
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.
Definition: arm_fir_decimate_fast_q15.c:80
Instance structure for the Q31 matrix structure.
Definition: arm_math.h:1400
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.
Definition: arm_biquad_cascade_df1_q15.c:75
void arm_dct4_q15(const arm_dct4_instance_q15 *S, q15_t *pState, q15_t *pInlineBuffer)
Processing function for the Q15 DCT4/IDCT4.
Definition: arm_dct4_q15.c:63
uint16_t fftLen
Definition: arm_math.h:1977
q31_t A0
Definition: arm_math.h:1757
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.
Definition: arm_q15_to_float.c:77
void arm_conv_q15(q15_t *pSrcA, uint32_t srcALen, q15_t *pSrcB, uint32_t srcBLen, q15_t *pDst)
Convolution of Q15 sequences.
Definition: arm_conv_q15.c:79
void arm_mean_f32(float32_t *pSrc, uint32_t blockSize, float32_t *pResult)
Mean value of a floating-point vector.
Definition: arm_mean_f32.c:75
uint8_t ifftFlagR
Definition: arm_math.h:2186
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.
Definition: arm_fir_decimate_fast_q31.c:76
q31_t * pTwiddle
Definition: arm_math.h:2006
float32_t * pCoeffs
Definition: arm_math.h:3612
q15_t * pTwiddle
Definition: arm_math.h:1953
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.
Definition: arm_biquad_cascade_df1_init_q15.c:86
void arm_cmplx_mult_cmplx_f32(float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t numSamples)
Floating-point complex-by-complex multiplication.
Definition: arm_cmplx_mult_cmplx_f32.c:83
q7_t * pCoeffs
Definition: arm_math.h:1033
void arm_scale_f32(float32_t *pSrc, float32_t scale, float32_t *pDst, uint32_t blockSize)
Multiplies a floating-point vector by a scalar.
Definition: arm_scale_f32.c:89
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...
Definition: arm_biquad_cascade_stereo_df2T_init_f32.c:81
q15_t * pState
Definition: arm_math.h:3274
uint16_t bitRevFactor
Definition: arm_math.h:1983
Instance structure for the Q31 PID Control.
Definition: arm_math.h:1755
q63_t * pState
Definition: arm_math.h:3571