Lines Matching full:in
14 * Redistribution and use in source and binary forms, with or without
19 * - Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in
30 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
35 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
48 * As compared to most of the other functions in the CMSIS math library, the fast math functions
57 * The data in the complex arrays is stored in an interleaved fashion
59 * In the API functions, the number of samples in a complex array refers
88 * and the values are arranged in row order. That is, the
104 * To place the instance structure in a const data
203 * @brief Macros required for reciprocal calculation in Normalized LMS
246 * @brief Error status returned by some functions in the library.
261 * @brief 8-bit fractional data type in 1.7 format.
266 * @brief 16-bit fractional data type in 1.15 format.
271 * @brief 32-bit fractional data type in 1.31 format.
276 * @brief 64-bit fractional data type in 1.63 format.
398 * @brief Multiplies 32 X 64 and returns 32 bit result in 2.30 format.
436 * @brief Function to Calculates 1/in (reciprocal) value of Q31 Data type.
440 q31_t in, in arm_recip_q31() argument
449 if (in > 0) in arm_recip_q31()
451 signBits = ((uint32_t) (__CLZ( in) - 1)); in arm_recip_q31()
455 signBits = ((uint32_t) (__CLZ(-in) - 1)); in arm_recip_q31()
459 in = (in << signBits); in arm_recip_q31()
462 index = (uint32_t)(in >> 24); in arm_recip_q31()
472 tempVal = (uint32_t) (((q63_t) in * out) >> 31); in arm_recip_q31()
482 /* return num of signbits of out = 1/in value */ in arm_recip_q31()
488 * @brief Function to Calculates 1/in (reciprocal) value of Q15 Data type.
491 q15_t in, in arm_recip_q15() argument
500 if (in > 0) in arm_recip_q15()
502 signBits = ((uint32_t)(__CLZ( in) - 17)); in arm_recip_q15()
506 signBits = ((uint32_t)(__CLZ(-in) - 17)); in arm_recip_q15()
510 in = (in << signBits); in arm_recip_q15()
513 index = (uint32_t)(in >> 8); in arm_recip_q15()
523 tempVal = (uint32_t) (((q31_t) in * out) >> 15); in arm_recip_q15()
533 /* return num of signbits of out = 1/in value */ in arm_recip_q15()
907 uint16_t numTaps; /**< number of filter coefficients in the filter. */
917 uint16_t numTaps; /**< number of filter coefficients in the filter. */
927 uint16_t numTaps; /**< number of filter coefficients in the filter. */
937 uint16_t numTaps; /**< number of filter coefficients in the filter. */
945 * @param[in] S points to an instance of the Q7 FIR filter structure.
946 * @param[in] pSrc points to the block of input data.
948 * @param[in] blockSize number of samples to process.
959 * @param[in,out] S points to an instance of the Q7 FIR structure.
960 * @param[in] numTaps Number of filter coefficients in the filter.
961 * @param[in] pCoeffs points to the filter coefficients.
962 * @param[in] pState points to the state buffer.
963 * @param[in] blockSize number of samples that are processed.
975 * @param[in] S points to an instance of the Q15 FIR structure.
976 * @param[in] pSrc points to the block of input data.
978 * @param[in] blockSize number of samples to process.
989 * @param[in] S points to an instance of the Q15 FIR filter structure.
990 * @param[in] pSrc points to the block of input data.
992 * @param[in] blockSize number of samples to process.
1003 * @param[in,out] S points to an instance of the Q15 FIR filter structure.
1004 …* @param[in] numTaps Number of filter coefficients in the filter. Must be even and greater …
1005 * @param[in] pCoeffs points to the filter coefficients.
1006 * @param[in] pState points to the state buffer.
1007 * @param[in] blockSize number of samples that are processed at a time.
1021 * @param[in] S points to an instance of the Q31 FIR filter structure.
1022 * @param[in] pSrc points to the block of input data.
1024 * @param[in] blockSize number of samples to process.
1035 * @param[in] S points to an instance of the Q31 FIR structure.
1036 * @param[in] pSrc points to the block of input data.
1038 * @param[in] blockSize number of samples to process.
1049 * @param[in,out] S points to an instance of the Q31 FIR structure.
1050 * @param[in] numTaps Number of filter coefficients in the filter.
1051 * @param[in] pCoeffs points to the filter coefficients.
1052 * @param[in] pState points to the state buffer.
1053 * @param[in] blockSize number of samples that are processed at a time.
1065 * @param[in] S points to an instance of the floating-point FIR structure.
1066 * @param[in] pSrc points to the block of input data.
1068 * @param[in] blockSize number of samples to process.
1079 * @param[in,out] S points to an instance of the floating-point FIR filter structure.
1080 * @param[in] numTaps Number of filter coefficients in the filter.
1081 * @param[in] pCoeffs points to the filter coefficients.
1082 * @param[in] pState points to the state buffer.
1083 * @param[in] blockSize number of samples that are processed at a time.
1098 …int8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numSta…
1101 int8_t postShift; /**< Additional shift, in bits, applied to each output sample. */
1109 …uint32_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numSta…
1112 uint8_t postShift; /**< Additional shift, in bits, applied to each output sample. */
1120 …uint32_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numSta…
1128 * @param[in] S points to an instance of the Q15 Biquad cascade structure.
1129 * @param[in] pSrc points to the block of input data.
1131 * @param[in] blockSize number of samples to process.
1142 * @param[in,out] S points to an instance of the Q15 Biquad cascade structure.
1143 * @param[in] numStages number of 2nd order stages in the filter.
1144 * @param[in] pCoeffs points to the filter coefficients.
1145 * @param[in] pState points to the state buffer.
1146 …* @param[in] postShift Shift to be applied to the output. Varies according to the coefficient…
1158 * @param[in] S points to an instance of the Q15 Biquad cascade structure.
1159 * @param[in] pSrc points to the block of input data.
1161 * @param[in] blockSize number of samples to process.
1172 * @param[in] S points to an instance of the Q31 Biquad cascade structure.
1173 * @param[in] pSrc points to the block of input data.
1175 * @param[in] blockSize number of samples to process.
1186 * @param[in] S points to an instance of the Q31 Biquad cascade structure.
1187 * @param[in] pSrc points to the block of input data.
1189 * @param[in] blockSize number of samples to process.
1200 * @param[in,out] S points to an instance of the Q31 Biquad cascade structure.
1201 * @param[in] numStages number of 2nd order stages in the filter.
1202 * @param[in] pCoeffs points to the filter coefficients.
1203 * @param[in] pState points to the state buffer.
1204 …* @param[in] postShift Shift to be applied to the output. Varies according to the coefficient…
1216 * @param[in] S points to an instance of the floating-point Biquad cascade structure.
1217 * @param[in] pSrc points to the block of input data.
1219 * @param[in] blockSize number of samples to process.
1230 * @param[in,out] S points to an instance of the floating-point Biquad cascade structure.
1231 * @param[in] numStages number of 2nd order stages in the filter.
1232 * @param[in] pCoeffs points to the filter coefficients.
1233 * @param[in] pState points to the state buffer.
1286 * @param[in] pSrcA points to the first input matrix structure
1287 * @param[in] pSrcB points to the second input matrix structure
1300 * @param[in] pSrcA points to the first input matrix structure
1301 * @param[in] pSrcB points to the second input matrix structure
1314 * @param[in] pSrcA points to the first input matrix structure
1315 * @param[in] pSrcB points to the second input matrix structure
1328 * @param[in] pSrcA points to the first input matrix structure
1329 * @param[in] pSrcB points to the second input matrix structure
1342 * @param[in] pSrcA points to the first input matrix structure
1343 * @param[in] pSrcB points to the second input matrix structure
1357 * @param[in] pSrcA points to the first input matrix structure
1358 * @param[in] pSrcB points to the second input matrix structure
1371 * @param[in] pSrc points to the input matrix
1383 * @param[in] pSrc points to the input matrix
1395 * @param[in] pSrc points to the input matrix
1407 * @param[in] pSrcA points to the first input matrix structure
1408 * @param[in] pSrcB points to the second input matrix structure
1421 * @param[in] pSrcA points to the first input matrix structure
1422 * @param[in] pSrcB points to the second input matrix structure
1424 * @param[in] pState points to the array for storing intermediate results
1437 * @param[in] pSrcA points to the first input matrix structure
1438 * @param[in] pSrcB points to the second input matrix structure
1440 * @param[in] pState points to the array for storing intermediate results
1453 * @param[in] pSrcA points to the first input matrix structure
1454 * @param[in] pSrcB points to the second input matrix structure
1467 * @param[in] pSrcA points to the first input matrix structure
1468 * @param[in] pSrcB points to the second input matrix structure
1481 * @param[in] pSrcA points to the first input matrix structure
1482 * @param[in] pSrcB points to the second input matrix structure
1495 * @param[in] pSrcA points to the first input matrix structure
1496 * @param[in] pSrcB points to the second input matrix structure
1509 * @param[in] pSrcA points to the first input matrix structure
1510 * @param[in] pSrcB points to the second input matrix structure
1523 * @param[in] pSrc points to the input matrix
1524 * @param[in] scale scale factor
1537 * @param[in] pSrc points to input matrix
1538 * @param[in] scaleFract fractional portion of the scale factor
1539 * @param[in] shift number of bits to shift the result by
1553 * @param[in] pSrc points to input matrix
1554 * @param[in] scaleFract fractional portion of the scale factor
1555 * @param[in] shift number of bits to shift the result by
1569 * @param[in,out] S points to an instance of the floating-point matrix structure.
1570 * @param[in] nRows number of rows in the matrix.
1571 * @param[in] nColumns number of columns in the matrix.
1572 * @param[in] pData points to the matrix data array.
1583 * @param[in,out] S points to an instance of the floating-point matrix structure.
1584 * @param[in] nRows number of rows in the matrix.
1585 * @param[in] nColumns number of columns in the matrix.
1586 * @param[in] pData points to the matrix data array.
1597 * @param[in,out] S points to an instance of the floating-point matrix structure.
1598 * @param[in] nRows number of rows in the matrix.
1599 * @param[in] nColumns number of columns in the matrix.
1600 * @param[in] pData points to the matrix data array.
1660 * @param[in,out] S points to an instance of the PID structure.
1661 …* @param[in] resetStateFlag flag to reset the state. 0 = no change in state 1 = reset the sta…
1670 * @param[in,out] S is an instance of the floating-point PID Control structure
1678 * @param[in,out] S points to an instance of the Q15 PID structure.
1679 …* @param[in] resetStateFlag flag to reset the state. 0 = no change in state 1 = reset the sta…
1688 * @param[in,out] S points to an instance of the Q31 PID Control structure
1697 * @param[in,out] S points to an instance of the Q15 PID structure.
1698 …* @param[in] resetStateFlag flag to reset the state. 0 = no change in state 1 = reset the sta…
1707 * @param[in,out] S points to an instance of the q15 PID Control structure
1729 uint16_t numRows; /**< number of rows in the data table. */
1730 uint16_t numCols; /**< number of columns in the data table. */
1739 uint16_t numRows; /**< number of rows in the data table. */
1740 uint16_t numCols; /**< number of columns in the data table. */
1749 uint16_t numRows; /**< number of rows in the data table. */
1750 uint16_t numCols; /**< number of columns in the data table. */
1759 uint16_t numRows; /**< number of rows in the data table. */
1760 uint16_t numCols; /**< number of columns in the data table. */
1767 * @param[in] pSrcA points to the first input vector
1768 * @param[in] pSrcB points to the second input vector
1770 * @param[in] blockSize number of samples in each vector
1781 * @param[in] pSrcA points to the first input vector
1782 * @param[in] pSrcB points to the second input vector
1784 * @param[in] blockSize number of samples in each vector
1795 * @param[in] pSrcA points to the first input vector
1796 * @param[in] pSrcB points to the second input vector
1798 * @param[in] blockSize number of samples in each vector
1809 * @param[in] pSrcA points to the first input vector
1810 * @param[in] pSrcB points to the second input vector
1812 * @param[in] blockSize number of samples in each vector
2144 * @param[in,out] S points to an instance of floating-point DCT4/IDCT4 structure.
2145 * @param[in] S_RFFT points to an instance of floating-point RFFT/RIFFT structure.
2146 * @param[in] S_CFFT points to an instance of floating-point CFFT/CIFFT structure.
2147 * @param[in] N length of the DCT4.
2148 * @param[in] Nby2 half of the length of the DCT4.
2149 * @param[in] normalize normalizing factor.
2163 * @param[in] S points to an instance of the floating-point DCT4/IDCT4 structure.
2164 * @param[in] pState points to state buffer.
2165 * @param[in,out] pInlineBuffer points to the in-place input and output buffer.
2190 * @param[in,out] S points to an instance of Q31 DCT4/IDCT4 structure.
2191 * @param[in] S_RFFT points to an instance of Q31 RFFT/RIFFT structure
2192 * @param[in] S_CFFT points to an instance of Q31 CFFT/CIFFT structure
2193 * @param[in] N length of the DCT4.
2194 * @param[in] Nby2 half of the length of the DCT4.
2195 * @param[in] normalize normalizing factor.
2209 * @param[in] S points to an instance of the Q31 DCT4 structure.
2210 * @param[in] pState points to state buffer.
2211 * @param[in,out] pInlineBuffer points to the in-place input and output buffer.
2236 * @param[in,out] S points to an instance of Q15 DCT4/IDCT4 structure.
2237 * @param[in] S_RFFT points to an instance of Q15 RFFT/RIFFT structure.
2238 * @param[in] S_CFFT points to an instance of Q15 CFFT/CIFFT structure.
2239 * @param[in] N length of the DCT4.
2240 * @param[in] Nby2 half of the length of the DCT4.
2241 * @param[in] normalize normalizing factor.
2255 * @param[in] S points to an instance of the Q15 DCT4 structure.
2256 * @param[in] pState points to state buffer.
2257 * @param[in,out] pInlineBuffer points to the in-place input and output buffer.
2267 * @param[in] pSrcA points to the first input vector
2268 * @param[in] pSrcB points to the second input vector
2270 * @param[in] blockSize number of samples in each vector
2281 * @param[in] pSrcA points to the first input vector
2282 * @param[in] pSrcB points to the second input vector
2284 * @param[in] blockSize number of samples in each vector
2295 * @param[in] pSrcA points to the first input vector
2296 * @param[in] pSrcB points to the second input vector
2298 * @param[in] blockSize number of samples in each vector
2309 * @param[in] pSrcA points to the first input vector
2310 * @param[in] pSrcB points to the second input vector
2312 * @param[in] blockSize number of samples in each vector
2323 * @param[in] pSrcA points to the first input vector
2324 * @param[in] pSrcB points to the second input vector
2326 * @param[in] blockSize number of samples in each vector
2337 * @param[in] pSrcA points to the first input vector
2338 * @param[in] pSrcB points to the second input vector
2340 * @param[in] blockSize number of samples in each vector
2351 * @param[in] pSrcA points to the first input vector
2352 * @param[in] pSrcB points to the second input vector
2354 * @param[in] blockSize number of samples in each vector
2365 * @param[in] pSrcA points to the first input vector
2366 * @param[in] pSrcB points to the second input vector
2368 * @param[in] blockSize number of samples in each vector
2379 * @param[in] pSrc points to the input vector
2380 * @param[in] scale scale factor to be applied
2382 * @param[in] blockSize number of samples in the vector
2393 * @param[in] pSrc points to the input vector
2394 * @param[in] scaleFract fractional portion of the scale value
2395 * @param[in] shift number of bits to shift the result by
2397 * @param[in] blockSize number of samples in the vector
2409 * @param[in] pSrc points to the input vector
2410 * @param[in] scaleFract fractional portion of the scale value
2411 * @param[in] shift number of bits to shift the result by
2413 * @param[in] blockSize number of samples in the vector
2425 * @param[in] pSrc points to the input vector
2426 * @param[in] scaleFract fractional portion of the scale value
2427 * @param[in] shift number of bits to shift the result by
2429 * @param[in] blockSize number of samples in the vector
2441 * @param[in] pSrc points to the input buffer
2443 * @param[in] blockSize number of samples in each vector
2453 * @param[in] pSrc points to the input buffer
2455 * @param[in] blockSize number of samples in each vector
2465 * @param[in] pSrc points to the input buffer
2467 * @param[in] blockSize number of samples in each vector
2477 * @param[in] pSrc points to the input buffer
2479 * @param[in] blockSize number of samples in each vector
2489 * @param[in] pSrcA points to the first input vector
2490 * @param[in] pSrcB points to the second input vector
2491 * @param[in] blockSize number of samples in each vector
2503 * @param[in] pSrcA points to the first input vector
2504 * @param[in] pSrcB points to the second input vector
2505 * @param[in] blockSize number of samples in each vector
2517 * @param[in] pSrcA points to the first input vector
2518 * @param[in] pSrcB points to the second input vector
2519 * @param[in] blockSize number of samples in each vector
2531 * @param[in] pSrcA points to the first input vector
2532 * @param[in] pSrcB points to the second input vector
2533 * @param[in] blockSize number of samples in each vector
2545 * @param[in] pSrc points to the input vector
2546 …* @param[in] shiftBits number of bits to shift. A positive value shifts left; a negative value …
2548 * @param[in] blockSize number of samples in the vector
2559 * @param[in] pSrc points to the input vector
2560 …* @param[in] shiftBits number of bits to shift. A positive value shifts left; a negative value …
2562 * @param[in] blockSize number of samples in the vector
2573 * @param[in] pSrc points to the input vector
2574 …* @param[in] shiftBits number of bits to shift. A positive value shifts left; a negative value …
2576 * @param[in] blockSize number of samples in the vector
2587 * @param[in] pSrc points to the input vector
2588 * @param[in] offset is the offset to be added
2590 * @param[in] blockSize number of samples in the vector
2601 * @param[in] pSrc points to the input vector
2602 * @param[in] offset is the offset to be added
2604 * @param[in] blockSize number of samples in the vector
2615 * @param[in] pSrc points to the input vector
2616 * @param[in] offset is the offset to be added
2618 * @param[in] blockSize number of samples in the vector
2629 * @param[in] pSrc points to the input vector
2630 * @param[in] offset is the offset to be added
2632 * @param[in] blockSize number of samples in the vector
2643 * @param[in] pSrc points to the input vector
2645 * @param[in] blockSize number of samples in the vector
2655 * @param[in] pSrc points to the input vector
2657 * @param[in] blockSize number of samples in the vector
2667 * @param[in] pSrc points to the input vector
2669 * @param[in] blockSize number of samples in the vector
2679 * @param[in] pSrc points to the input vector
2681 * @param[in] blockSize number of samples in the vector
2691 * @param[in] pSrc input pointer
2693 * @param[in] blockSize number of samples to process
2703 * @param[in] pSrc input pointer
2705 * @param[in] blockSize number of samples to process
2715 * @param[in] pSrc input pointer
2717 * @param[in] blockSize number of samples to process
2727 * @param[in] pSrc input pointer
2729 * @param[in] blockSize number of samples to process
2739 * @param[in] value input value to be filled
2741 * @param[in] blockSize number of samples to process
2751 * @param[in] value input value to be filled
2753 * @param[in] blockSize number of samples to process
2763 * @param[in] value input value to be filled
2765 * @param[in] blockSize number of samples to process
2775 * @param[in] value input value to be filled
2777 * @param[in] blockSize number of samples to process
2787 * @param[in] pSrcA points to the first input sequence.
2788 * @param[in] srcALen length of the first input sequence.
2789 * @param[in] pSrcB points to the second input sequence.
2790 * @param[in] srcBLen length of the second input sequence.
2803 * @param[in] pSrcA points to the first input sequence.
2804 * @param[in] srcALen length of the first input sequence.
2805 * @param[in] pSrcB points to the second input sequence.
2806 * @param[in] srcBLen length of the second input sequence.
2808 …* @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, s…
2809 * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen).
2823 * @param[in] pSrcA points to the first input sequence.
2824 * @param[in] srcALen length of the first input sequence.
2825 * @param[in] pSrcB points to the second input sequence.
2826 * @param[in] srcBLen length of the second input sequence.
2839 * @param[in] pSrcA points to the first input sequence.
2840 * @param[in] srcALen length of the first input sequence.
2841 * @param[in] pSrcB points to the second input sequence.
2842 * @param[in] srcBLen length of the second input sequence.
2855 * @param[in] pSrcA points to the first input sequence.
2856 * @param[in] srcALen length of the first input sequence.
2857 * @param[in] pSrcB points to the second input sequence.
2858 * @param[in] srcBLen length of the second input sequence.
2860 …* @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, s…
2861 * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen).
2875 * @param[in] pSrcA points to the first input sequence.
2876 * @param[in] srcALen length of the first input sequence.
2877 * @param[in] pSrcB points to the second input sequence.
2878 * @param[in] srcBLen length of the second input sequence.
2891 * @param[in] pSrcA points to the first input sequence.
2892 * @param[in] srcALen length of the first input sequence.
2893 * @param[in] pSrcB points to the second input sequence.
2894 * @param[in] srcBLen length of the second input sequence.
2907 * @param[in] pSrcA points to the first input sequence.
2908 * @param[in] srcALen length of the first input sequence.
2909 * @param[in] pSrcB points to the second input sequence.
2910 * @param[in] srcBLen length of the second input sequence.
2912 …* @param[in] pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2…
2913 * @param[in] pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen).
2927 * @param[in] pSrcA points to the first input sequence.
2928 * @param[in] srcALen length of the first input sequence.
2929 * @param[in] pSrcB points to the second input sequence.
2930 * @param[in] srcBLen length of the second input sequence.
2943 * @param[in] pSrcA points to the first input sequence.
2944 * @param[in] srcALen length of the first input sequence.
2945 * @param[in] pSrcB points to the second input sequence.
2946 * @param[in] srcBLen length of the second input sequence.
2948 * @param[in] firstIndex is the first output sample to start with.
2949 * @param[in] numPoints is the number of output points to be computed.
2950 …pleted correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen…
2964 * @param[in] pSrcA points to the first input sequence.
2965 * @param[in] srcALen length of the first input sequence.
2966 * @param[in] pSrcB points to the second input sequence.
2967 * @param[in] srcBLen length of the second input sequence.
2969 * @param[in] firstIndex is the first output sample to start with.
2970 * @param[in] numPoints is the number of output points to be computed.
2971 …* @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, …
2972 * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen).
2973 …pleted correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen…
2989 * @param[in] pSrcA points to the first input sequence.
2990 * @param[in] srcALen length of the first input sequence.
2991 * @param[in] pSrcB points to the second input sequence.
2992 * @param[in] srcBLen length of the second input sequence.
2994 * @param[in] firstIndex is the first output sample to start with.
2995 * @param[in] numPoints is the number of output points to be computed.
2996 …pleted correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen…
3010 * @param[in] pSrcA points to the first input sequence.
3011 * @param[in] srcALen length of the first input sequence.
3012 * @param[in] pSrcB points to the second input sequence.
3013 * @param[in] srcBLen length of the second input sequence.
3015 * @param[in] firstIndex is the first output sample to start with.
3016 * @param[in] numPoints is the number of output points to be computed.
3017 …pleted correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen…
3031 * @param[in] pSrcA points to the first input sequence.
3032 * @param[in] srcALen length of the first input sequence.
3033 * @param[in] pSrcB points to the second input sequence.
3034 * @param[in] srcBLen length of the second input sequence.
3036 * @param[in] firstIndex is the first output sample to start with.
3037 * @param[in] numPoints is the number of output points to be computed.
3038 …* @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, …
3039 * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen).
3040 …pleted correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen…
3056 * @param[in] pSrcA points to the first input sequence.
3057 * @param[in] srcALen length of the first input sequence.
3058 * @param[in] pSrcB points to the second input sequence.
3059 * @param[in] srcBLen length of the second input sequence.
3061 * @param[in] firstIndex is the first output sample to start with.
3062 * @param[in] numPoints is the number of output points to be computed.
3063 …pleted correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen…
3077 * @param[in] pSrcA points to the first input sequence.
3078 * @param[in] srcALen length of the first input sequence.
3079 * @param[in] pSrcB points to the second input sequence.
3080 * @param[in] srcBLen length of the second input sequence.
3082 * @param[in] firstIndex is the first output sample to start with.
3083 * @param[in] numPoints is the number of output points to be computed.
3084 …pleted correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen…
3098 * @param[in] pSrcA points to the first input sequence.
3099 * @param[in] srcALen length of the first input sequence.
3100 * @param[in] pSrcB points to the second input sequence.
3101 * @param[in] srcBLen length of the second input sequence.
3103 * @param[in] firstIndex is the first output sample to start with.
3104 * @param[in] numPoints is the number of output points to be computed.
3105 …* @param[in] pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + …
3106 * @param[in] pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen).
3107 …pleted correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen…
3123 * @param[in] pSrcA points to the first input sequence.
3124 * @param[in] srcALen length of the first input sequence.
3125 * @param[in] pSrcB points to the second input sequence.
3126 * @param[in] srcBLen length of the second input sequence.
3128 * @param[in] firstIndex is the first output sample to start with.
3129 * @param[in] numPoints is the number of output points to be computed.
3130 …pleted correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen…
3148 uint16_t numTaps; /**< number of coefficients in the filter. */
3159 uint16_t numTaps; /**< number of coefficients in the filter. */
3170 uint16_t numTaps; /**< number of coefficients in the filter. */
3178 * @param[in] S points to an instance of the floating-point FIR decimator structure.
3179 * @param[in] pSrc points to the block of input data.
3181 * @param[in] blockSize number of input samples to process per call.
3192 * @param[in,out] S points to an instance of the floating-point FIR decimator structure.
3193 * @param[in] numTaps number of coefficients in the filter.
3194 * @param[in] M decimation factor.
3195 * @param[in] pCoeffs points to the filter coefficients.
3196 * @param[in] pState points to the state buffer.
3197 * @param[in] blockSize number of input samples to process per call.
3212 * @param[in] S points to an instance of the Q15 FIR decimator structure.
3213 * @param[in] pSrc points to the block of input data.
3215 * @param[in] blockSize number of input samples to process per call.
3226 * @param[in] S points to an instance of the Q15 FIR decimator structure.
3227 * @param[in] pSrc points to the block of input data.
3229 * @param[in] blockSize number of input samples to process per call.
3240 * @param[in,out] S points to an instance of the Q15 FIR decimator structure.
3241 * @param[in] numTaps number of coefficients in the filter.
3242 * @param[in] M decimation factor.
3243 * @param[in] pCoeffs points to the filter coefficients.
3244 * @param[in] pState points to the state buffer.
3245 * @param[in] blockSize number of input samples to process per call.
3260 * @param[in] S points to an instance of the Q31 FIR decimator structure.
3261 * @param[in] pSrc points to the block of input data.
3263 * @param[in] blockSize number of input samples to process per call.
3273 * @param[in] S points to an instance of the Q31 FIR decimator structure.
3274 * @param[in] pSrc points to the block of input data.
3276 * @param[in] blockSize number of input samples to process per call.
3287 * @param[in,out] S points to an instance of the Q31 FIR decimator structure.
3288 * @param[in] numTaps number of coefficients in the filter.
3289 * @param[in] M decimation factor.
3290 * @param[in] pCoeffs points to the filter coefficients.
3291 * @param[in] pState points to the state buffer.
3292 * @param[in] blockSize number of input samples to process per call.
3341 * @param[in] S points to an instance of the Q15 FIR interpolator structure.
3342 * @param[in] pSrc points to the block of input data.
3344 * @param[in] blockSize number of input samples to process per call.
3355 * @param[in,out] S points to an instance of the Q15 FIR interpolator structure.
3356 * @param[in] L upsample factor.
3357 * @param[in] numTaps number of filter coefficients in the filter.
3358 * @param[in] pCoeffs points to the filter coefficient buffer.
3359 * @param[in] pState points to the state buffer.
3360 * @param[in] blockSize number of input samples to process per call.
3375 * @param[in] S points to an instance of the Q15 FIR interpolator structure.
3376 * @param[in] pSrc points to the block of input data.
3378 * @param[in] blockSize number of input samples to process per call.
3389 * @param[in,out] S points to an instance of the Q31 FIR interpolator structure.
3390 * @param[in] L upsample factor.
3391 * @param[in] numTaps number of filter coefficients in the filter.
3392 * @param[in] pCoeffs points to the filter coefficient buffer.
3393 * @param[in] pState points to the state buffer.
3394 * @param[in] blockSize number of input samples to process per call.
3409 * @param[in] S points to an instance of the floating-point FIR interpolator structure.
3410 * @param[in] pSrc points to the block of input data.
3412 * @param[in] blockSize number of input samples to process per call.
3423 …* @param[in,out] S points to an instance of the floating-point FIR interpolator structure.
3424 * @param[in] L upsample factor.
3425 * @param[in] numTaps number of filter coefficients in the filter.
3426 * @param[in] pCoeffs points to the filter coefficient buffer.
3427 * @param[in] pState points to the state buffer.
3428 * @param[in] blockSize number of input samples to process per call.
3446 …uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numSta…
3449 uint8_t postShift; /**< additional shift, in bits, applied to each output sample. */
3454 …* @param[in] S points to an instance of the high precision Q31 Biquad cascade filter str…
3455 * @param[in] pSrc points to the block of input data.
3457 * @param[in] blockSize number of samples to process.
3467 …* @param[in,out] S points to an instance of the high precision Q31 Biquad cascade filter …
3468 * @param[in] numStages number of 2nd order stages in the filter.
3469 * @param[in] pCoeffs points to the filter coefficients.
3470 * @param[in] pState points to the state buffer.
3471 …* @param[in] postShift shift to be applied to the output. Varies according to the coefficient…
3486 …uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numS…
3496 …uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numS…
3506 …uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numS…
3514 * @param[in] S points to an instance of the filter data structure.
3515 * @param[in] pSrc points to the block of input data.
3517 * @param[in] blockSize number of samples to process.
3528 * @param[in] S points to an instance of the filter data structure.
3529 * @param[in] pSrc points to the block of input data.
3531 * @param[in] blockSize number of samples to process.
3542 * @param[in] S points to an instance of the filter data structure.
3543 * @param[in] pSrc points to the block of input data.
3545 * @param[in] blockSize number of samples to process.
3556 * @param[in,out] S points to an instance of the filter data structure.
3557 * @param[in] numStages number of 2nd order stages in the filter.
3558 * @param[in] pCoeffs points to the filter coefficients.
3559 * @param[in] pState points to the state buffer.
3570 * @param[in,out] S points to an instance of the filter data structure.
3571 * @param[in] numStages number of 2nd order stages in the filter.
3572 * @param[in] pCoeffs points to the filter coefficients.
3573 * @param[in] pState points to the state buffer.
3584 * @param[in,out] S points to an instance of the filter data structure.
3585 * @param[in] numStages number of 2nd order stages in the filter.
3586 * @param[in] pCoeffs points to the filter coefficients.
3587 * @param[in] pState points to the state buffer.
3629 * @param[in] S points to an instance of the Q15 FIR lattice structure.
3630 * @param[in] numStages number of filter stages.
3631 * @param[in] pCoeffs points to the coefficient buffer. The array is of length numStages.
3632 * @param[in] pState points to the state buffer. The array is of length numStages.
3643 * @param[in] S points to an instance of the Q15 FIR lattice structure.
3644 * @param[in] pSrc points to the block of input data.
3646 * @param[in] blockSize number of samples to process.
3657 * @param[in] S points to an instance of the Q31 FIR lattice structure.
3658 * @param[in] numStages number of filter stages.
3659 * @param[in] pCoeffs points to the coefficient buffer. The array is of length numStages.
3660 * @param[in] pState points to the state buffer. The array is of length numStages.
3671 * @param[in] S points to an instance of the Q31 FIR lattice structure.
3672 * @param[in] pSrc points to the block of input data.
3674 * @param[in] blockSize number of samples to process.
3685 * @param[in] S points to an instance of the floating-point FIR lattice structure.
3686 * @param[in] numStages number of filter stages.
3687 * @param[in] pCoeffs points to the coefficient buffer. The array is of length numStages.
3688 * @param[in] pState points to the state buffer. The array is of length numStages.
3699 * @param[in] S points to an instance of the floating-point FIR lattice structure.
3700 * @param[in] pSrc points to the block of input data.
3702 * @param[in] blockSize number of samples to process.
3716 uint16_t numStages; /**< number of stages in the filter. */
3727 uint16_t numStages; /**< number of stages in the filter. */
3738 uint16_t numStages; /**< number of stages in the filter. */
3747 * @param[in] S points to an instance of the floating-point IIR lattice structure.
3748 * @param[in] pSrc points to the block of input data.
3750 * @param[in] blockSize number of samples to process.
3761 * @param[in] S points to an instance of the floating-point IIR lattice structure.
3762 * @param[in] numStages number of stages in the filter.
3763 …* @param[in] pkCoeffs points to the reflection coefficient buffer. The array is of length numSt…
3764 …* @param[in] pvCoeffs points to the ladder coefficient buffer. The array is of length numStages…
3765 …* @param[in] pState points to the state buffer. The array is of length numStages + blockSize-…
3766 * @param[in] blockSize number of samples to process.
3779 * @param[in] S points to an instance of the Q31 IIR lattice structure.
3780 * @param[in] pSrc points to the block of input data.
3782 * @param[in] blockSize number of samples to process.
3793 * @param[in] S points to an instance of the Q31 IIR lattice structure.
3794 * @param[in] numStages number of stages in the filter.
3795 …* @param[in] pkCoeffs points to the reflection coefficient buffer. The array is of length numSt…
3796 …* @param[in] pvCoeffs points to the ladder coefficient buffer. The array is of length numStages…
3797 … * @param[in] pState points to the state buffer. The array is of length numStages + blockSize.
3798 * @param[in] blockSize number of samples to process.
3811 * @param[in] S points to an instance of the Q15 IIR lattice structure.
3812 * @param[in] pSrc points to the block of input data.
3814 * @param[in] blockSize number of samples to process.
3825 * @param[in] S points to an instance of the fixed-point Q15 IIR lattice structure.
3826 * @param[in] numStages number of stages in the filter.
3827 * @param[in] pkCoeffs points to reflection coefficient buffer. The array is of length numStages.
3828 * @param[in] pvCoeffs points to ladder coefficient buffer. The array is of length numStages + 1.
3829 * @param[in] pState points to state buffer. The array is of length numStages + blockSize.
3830 * @param[in] blockSize number of samples to process per call.
3846 uint16_t numTaps; /**< number of coefficients in the filter. */
3855 * @param[in] S points to an instance of the floating-point LMS filter structure.
3856 * @param[in] pSrc points to the block of input data.
3857 * @param[in] pRef points to the block of reference data.
3860 * @param[in] blockSize number of samples to process.
3873 * @param[in] S points to an instance of the floating-point LMS filter structure.
3874 * @param[in] numTaps number of filter coefficients.
3875 * @param[in] pCoeffs points to the coefficient buffer.
3876 * @param[in] pState points to state buffer.
3877 * @param[in] mu step size that controls filter coefficient updates.
3878 * @param[in] blockSize number of samples to process.
3894 uint16_t numTaps; /**< number of coefficients in the filter. */
3904 * @param[in] S points to an instance of the Q15 LMS filter structure.
3905 * @param[in] numTaps number of filter coefficients.
3906 * @param[in] pCoeffs points to the coefficient buffer.
3907 * @param[in] pState points to the state buffer.
3908 * @param[in] mu step size that controls filter coefficient updates.
3909 * @param[in] blockSize number of samples to process.
3910 * @param[in] postShift bit shift applied to coefficients.
3924 * @param[in] S points to an instance of the Q15 LMS filter structure.
3925 * @param[in] pSrc points to the block of input data.
3926 * @param[in] pRef points to the block of reference data.
3929 * @param[in] blockSize number of samples to process.
3945 uint16_t numTaps; /**< number of coefficients in the filter. */
3955 * @param[in] S points to an instance of the Q15 LMS filter structure.
3956 * @param[in] pSrc points to the block of input data.
3957 * @param[in] pRef points to the block of reference data.
3960 * @param[in] blockSize number of samples to process.
3973 * @param[in] S points to an instance of the Q31 LMS filter structure.
3974 * @param[in] numTaps number of filter coefficients.
3975 * @param[in] pCoeffs points to coefficient buffer.
3976 * @param[in] pState points to state buffer.
3977 * @param[in] mu step size that controls filter coefficient updates.
3978 * @param[in] blockSize number of samples to process.
3979 * @param[in] postShift bit shift applied to coefficients.
3996 uint16_t numTaps; /**< number of coefficients in the filter. */
4007 …* @param[in] S points to an instance of the floating-point normalized LMS filter structu…
4008 * @param[in] pSrc points to the block of input data.
4009 * @param[in] pRef points to the block of reference data.
4012 * @param[in] blockSize number of samples to process.
4025 * @param[in] S points to an instance of the floating-point LMS filter structure.
4026 * @param[in] numTaps number of filter coefficients.
4027 * @param[in] pCoeffs points to coefficient buffer.
4028 * @param[in] pState points to state buffer.
4029 * @param[in] mu step size that controls filter coefficient updates.
4030 * @param[in] blockSize number of samples to process.
4046 uint16_t numTaps; /**< number of coefficients in the filter. */
4059 * @param[in] S points to an instance of the Q31 normalized LMS filter structure.
4060 * @param[in] pSrc points to the block of input data.
4061 * @param[in] pRef points to the block of reference data.
4064 * @param[in] blockSize number of samples to process.
4077 * @param[in] S points to an instance of the Q31 normalized LMS filter structure.
4078 * @param[in] numTaps number of filter coefficients.
4079 * @param[in] pCoeffs points to coefficient buffer.
4080 * @param[in] pState points to state buffer.
4081 * @param[in] mu step size that controls filter coefficient updates.
4082 * @param[in] blockSize number of samples to process.
4083 * @param[in] postShift bit shift applied to coefficients.
4100 uint16_t numTaps; /**< Number of coefficients in the filter. */
4113 * @param[in] S points to an instance of the Q15 normalized LMS filter structure.
4114 * @param[in] pSrc points to the block of input data.
4115 * @param[in] pRef points to the block of reference data.
4118 * @param[in] blockSize number of samples to process.
4131 * @param[in] S points to an instance of the Q15 normalized LMS filter structure.
4132 * @param[in] numTaps number of filter coefficients.
4133 * @param[in] pCoeffs points to coefficient buffer.
4134 * @param[in] pState points to state buffer.
4135 * @param[in] mu step size that controls filter coefficient updates.
4136 * @param[in] blockSize number of samples to process.
4137 * @param[in] postShift bit shift applied to coefficients.
4151 * @param[in] pSrcA points to the first input sequence.
4152 * @param[in] srcALen length of the first input sequence.
4153 * @param[in] pSrcB points to the second input sequence.
4154 * @param[in] srcBLen length of the second input sequence.
4167 * @param[in] pSrcA points to the first input sequence.
4168 * @param[in] srcALen length of the first input sequence.
4169 * @param[in] pSrcB points to the second input sequence.
4170 * @param[in] srcBLen length of the second input sequence.
4172 …* @param[in] pScratch points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, sr…
4185 * @param[in] pSrcA points to the first input sequence.
4186 * @param[in] srcALen length of the first input sequence.
4187 * @param[in] pSrcB points to the second input sequence.
4188 * @param[in] srcBLen length of the second input sequence.
4202 * @param[in] pSrcA points to the first input sequence.
4203 * @param[in] srcALen length of the first input sequence.
4204 * @param[in] pSrcB points to the second input sequence.
4205 * @param[in] srcBLen length of the second input sequence.
4219 * @param[in] pSrcA points to the first input sequence.
4220 * @param[in] srcALen length of the first input sequence.
4221 * @param[in] pSrcB points to the second input sequence.
4222 * @param[in] srcBLen length of the second input sequence.
4224 …* @param[in] pScratch points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, sr…
4237 * @param[in] pSrcA points to the first input sequence.
4238 * @param[in] srcALen length of the first input sequence.
4239 * @param[in] pSrcB points to the second input sequence.
4240 * @param[in] srcBLen length of the second input sequence.
4253 * @param[in] pSrcA points to the first input sequence.
4254 * @param[in] srcALen length of the first input sequence.
4255 * @param[in] pSrcB points to the second input sequence.
4256 * @param[in] srcBLen length of the second input sequence.
4269 * @param[in] pSrcA points to the first input sequence.
4270 * @param[in] srcALen length of the first input sequence.
4271 * @param[in] pSrcB points to the second input sequence.
4272 * @param[in] srcBLen length of the second input sequence.
4274 …* @param[in] pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2…
4275 * @param[in] pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen).
4289 * @param[in] pSrcA points to the first input sequence.
4290 * @param[in] srcALen length of the first input sequence.
4291 * @param[in] pSrcB points to the second input sequence.
4292 * @param[in] srcBLen length of the second input sequence.
4308 uint16_t numTaps; /**< number of coefficients in the filter. */
4309 …uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state b…
4321 uint16_t numTaps; /**< number of coefficients in the filter. */
4322 …uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state b…
4334 uint16_t numTaps; /**< number of coefficients in the filter. */
4335 …uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state b…
4347 uint16_t numTaps; /**< number of coefficients in the filter. */
4348 …uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state b…
4358 * @param[in] S points to an instance of the floating-point sparse FIR structure.
4359 * @param[in] pSrc points to the block of input data.
4361 * @param[in] pScratchIn points to a temporary buffer of size blockSize.
4362 * @param[in] blockSize number of input samples to process per call.
4374 * @param[in,out] S points to an instance of the floating-point sparse FIR structure.
4375 * @param[in] numTaps number of nonzero coefficients in the filter.
4376 * @param[in] pCoeffs points to the array of filter coefficients.
4377 * @param[in] pState points to the state buffer.
4378 * @param[in] pTapDelay points to the array of offset times.
4379 * @param[in] maxDelay maximum offset time supported.
4380 * @param[in] blockSize number of samples that will be processed per block.
4394 * @param[in] S points to an instance of the Q31 sparse FIR structure.
4395 * @param[in] pSrc points to the block of input data.
4397 * @param[in] pScratchIn points to a temporary buffer of size blockSize.
4398 * @param[in] blockSize number of input samples to process per call.
4410 * @param[in,out] S points to an instance of the Q31 sparse FIR structure.
4411 * @param[in] numTaps number of nonzero coefficients in the filter.
4412 * @param[in] pCoeffs points to the array of filter coefficients.
4413 * @param[in] pState points to the state buffer.
4414 * @param[in] pTapDelay points to the array of offset times.
4415 * @param[in] maxDelay maximum offset time supported.
4416 * @param[in] blockSize number of samples that will be processed per block.
4430 * @param[in] S points to an instance of the Q15 sparse FIR structure.
4431 * @param[in] pSrc points to the block of input data.
4433 * @param[in] pScratchIn points to a temporary buffer of size blockSize.
4434 * @param[in] pScratchOut points to a temporary buffer of size blockSize.
4435 * @param[in] blockSize number of input samples to process per call.
4448 * @param[in,out] S points to an instance of the Q15 sparse FIR structure.
4449 * @param[in] numTaps number of nonzero coefficients in the filter.
4450 * @param[in] pCoeffs points to the array of filter coefficients.
4451 * @param[in] pState points to the state buffer.
4452 * @param[in] pTapDelay points to the array of offset times.
4453 * @param[in] maxDelay maximum offset time supported.
4454 * @param[in] blockSize number of samples that will be processed per block.
4468 * @param[in] S points to an instance of the Q7 sparse FIR structure.
4469 * @param[in] pSrc points to the block of input data.
4471 * @param[in] pScratchIn points to a temporary buffer of size blockSize.
4472 * @param[in] pScratchOut points to a temporary buffer of size blockSize.
4473 * @param[in] blockSize number of input samples to process per call.
4486 * @param[in,out] S points to an instance of the Q7 sparse FIR structure.
4487 * @param[in] numTaps number of nonzero coefficients in the filter.
4488 * @param[in] pCoeffs points to the array of filter coefficients.
4489 * @param[in] pState points to the state buffer.
4490 * @param[in] pTapDelay points to the array of offset times.
4491 * @param[in] maxDelay maximum offset time supported.
4492 * @param[in] blockSize number of samples that will be processed per block.
4506 * @param[in] theta input value in degrees
4518 * @param[in] theta scaled input value in degrees
4530 * @param[in] pSrc points to the input vector
4532 * @param[in] numSamples number of complex samples in each vector
4541 * @param[in] pSrc points to the input vector
4543 * @param[in] numSamples number of complex samples in each vector
4553 * @param[in] pSrc points to the input vector
4555 * @param[in] numSamples number of complex samples in each vector
4565 * @param[in] pSrc points to the complex input vector
4567 * @param[in] numSamples number of complex samples in the input vector
4577 * @param[in] pSrc points to the complex input vector
4579 * @param[in] numSamples number of complex samples in the input vector
4589 * @param[in] pSrc points to the complex input vector
4591 * @param[in] numSamples number of complex samples in the input vector
4607 * loop mechanism widely used in industrial control systems.
4613 * <code>S</code> points to an instance of the PID control data structure. <code>in</code>
4638 …* The Gains A0, A1, A2 and state variables for a PID controller are stored together in an instance…
4649 * - Zeros out the values in the state buffer.
4656 …* In particular, the overflow and saturation behavior of the accumulator used in each function mus…
4667 * @param[in,out] S is an instance of the floating-point PID Control structure
4668 * @param[in] in input sample to process
4673 float32_t in) in arm_pid_f32() argument
4678 out = (S->A0 * in) + in arm_pid_f32()
4683 S->state[0] = in; in arm_pid_f32()
4693 * @param[in,out] S points to an instance of the Q31 PID Control structure
4694 * @param[in] in input sample to process
4702 …* In order to avoid overflows completely the input signal must be scaled down by 2 bits as there a…
4707 q31_t in) in arm_pid_q31() argument
4713 acc = (q63_t) S->A0 * in; in arm_pid_q31()
4729 S->state[0] = in; in arm_pid_q31()
4739 * @param[in,out] S points to an instance of the Q15 PID Control structure
4740 * @param[in] in input sample to process
4746 …* Both Gains and state variables are represented in 1.15 format and multiplications yield a 2.30 r…
4747 * The 2.30 intermediate results are accumulated in a 64-bit accumulator in 34.30 format.
4750 * Lastly, the accumulator is saturated to yield a result in 1.15 format.
4754 q15_t in) in arm_pid_q15() argument
4765 acc = (q31_t) __SMUAD((uint32_t)S->A0, (uint32_t)in); in arm_pid_q15()
4772 acc = ((q31_t) S->A0) * in; in arm_pid_q15()
4787 S->state[0] = in; in arm_pid_q15()
4801 * @param[in] src points to the instance of the input floating-point matrix structure.
4813 * @param[in] src points to the instance of the input floating-point matrix structure.
4832 * in the two-phase orthogonal stator axis <code>Ialpha</code> and <code>Ibeta</code>.
4833 * When <code>Ialpha</code> is superposed with <code>Ia</code> as shown in the figure below
4834 * \image html clarke.gif Stator current space vector and its components in (a,b).
4835 * and <code>Ia + Ib + Ic = 0</code>, in this condition <code>Ialpha</code> and <code>Ibeta</code>
4846 * In particular, the overflow and saturation behavior of the accumulator used must be considered.
4858 * @param[in] Ia input three-phase coordinate <code>a</code>
4859 * @param[in] Ib input three-phase coordinate <code>b</code>
4879 * @param[in] Ia input three-phase coordinate <code>a</code>
4880 * @param[in] Ib input three-phase coordinate <code>b</code>
4887 …aintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format.
4917 * @param[in] pSrc input pointer
4919 * @param[in] blockSize number of samples to process
4944 * In particular, the overflow and saturation behavior of the accumulator used must be considered.
4955 * @param[in] Ialpha input two-phase orthogonal vector axis alpha
4956 * @param[in] Ibeta input two-phase orthogonal vector axis beta
4976 * @param[in] Ialpha input two-phase orthogonal vector axis alpha
4977 * @param[in] Ibeta input two-phase orthogonal vector axis beta
4984 …aintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format.
5014 * @param[in] pSrc input pointer
5016 * @param[in] blockSize number of samples to process
5038 …* \image html park.gif "Stator current space vector and its component in (a,b) and in the d,q rota…
5049 * In particular, the overflow and saturation behavior of the accumulator used must be considered.
5060 * @param[in] Ialpha input two-phase vector coordinate alpha
5061 * @param[in] Ibeta input two-phase vector coordinate beta
5064 * @param[in] sinVal sine value of rotation angle theta
5065 * @param[in] cosVal cosine value of rotation angle theta
5088 * @param[in] Ialpha input two-phase vector coordinate alpha
5089 * @param[in] Ibeta input two-phase vector coordinate beta
5092 * @param[in] sinVal sine value of rotation angle theta
5093 * @param[in] cosVal cosine value of rotation angle theta
5098 …aintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format.
5138 * @param[in] pSrc is input pointer
5140 * @param[in] blockSize is the number of samples to process
5165 * In particular, the overflow and saturation behavior of the accumulator used must be considered.
5176 * @param[in] Id input coordinate of rotor reference frame d
5177 * @param[in] Iq input coordinate of rotor reference frame q
5180 * @param[in] sinVal sine value of rotation angle theta
5181 * @param[in] cosVal cosine value of rotation angle theta
5201 * @param[in] Id input coordinate of rotor reference frame d
5202 * @param[in] Iq input coordinate of rotor reference frame q
5205 * @param[in] sinVal sine value of rotation angle theta
5206 * @param[in] cosVal cosine value of rotation angle theta
5211 …aintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format.
5252 * @param[in] pSrc is input pointer
5254 * @param[in] blockSize is the number of samples to process
5304 * @param[in,out] S is an instance of the floating-point Linear Interpolation structure
5305 * @param[in] x input sample to process
5356 * @param[in] pYData pointer to Q31 Linear Interpolation table
5357 * @param[in] x input sample to process
5358 * @param[in] nValues number of table values
5362 …* Input sample <code>x</code> is in 12.20 format which contains 12 bits for table index and 20 bit…
5376 /* Input is in 12.20 format */ in arm_linear_interp_q31()
5392 /* shift left by 11 to keep fract in 1.31 format */ in arm_linear_interp_q31()
5395 /* Read two nearest output values from the index in 1.31(q31) format */ in arm_linear_interp_q31()
5399 /* Calculation of y0 * (1-fract) and y is in 2.30 format */ in arm_linear_interp_q31()
5402 /* Calculation of y0 * (1-fract) + y1 *fract and y is in 2.30 format */ in arm_linear_interp_q31()
5414 * @param[in] pYData pointer to Q15 Linear Interpolation table
5415 * @param[in] x input sample to process
5416 * @param[in] nValues number of table values
5420 …* Input sample <code>x</code> is in 12.20 format which contains 12 bits for table index and 20 bit…
5434 /* Input is in 12.20 format */ in arm_linear_interp_q15()
5450 /* fract is in 12.20 format */ in arm_linear_interp_q15()
5457 /* Calculation of y0 * (1-fract) and y is in 13.35 format */ in arm_linear_interp_q15()
5460 /* Calculation of (y0 * (1-fract) + y1 * fract) and y is in 13.35 format */ in arm_linear_interp_q15()
5472 * @param[in] pYData pointer to Q7 Linear Interpolation table
5473 * @param[in] x input sample to process
5474 * @param[in] nValues number of table values
5478 …* Input sample <code>x</code> is in 12.20 format which contains 12 bits for table index and 20 bit…
5491 /* Input is in 12.20 format */ in arm_linear_interp_q7()
5507 /* fract is in 12.20 format */ in arm_linear_interp_q7()
5510 /* Read two nearest output values from the index and are in 1.7(q7) format */ in arm_linear_interp_q7()
5514 /* Calculation of y0 * (1-fract ) and y is in 13.27(q27) format */ in arm_linear_interp_q7()
5517 /* Calculation of y1 * fract + y0 * (1-fract) and y is in 13.27(q27) format */ in arm_linear_interp_q7()
5531 * @param[in] x input value in radians.
5540 * @param[in] x Scaled input value in radians.
5549 * @param[in] x Scaled input value in radians.
5558 * @param[in] x input value in radians.
5567 * @param[in] x Scaled input value in radians.
5576 * @param[in] x Scaled input value in radians.
5603 * x0 = in/2 [initial guess]
5604 * x1 = 1/2 * ( x0 + in / x0) [each iteration]
5616 * @param[in] in input value.
5619 * <code>in</code> is negative value and returns zero output for negative values.
5622 float32_t in, in arm_sqrt_f32() argument
5625 if (in >= 0.0f) in arm_sqrt_f32()
5629 *pOut = __sqrtf(in); in arm_sqrt_f32()
5631 *pOut = __builtin_sqrtf(in); in arm_sqrt_f32()
5633 *pOut = __builtin_sqrtf(in); in arm_sqrt_f32()
5635 __ASM("VSQRT.F32 %0,%1" : "=t"(*pOut) : "t"(in)); in arm_sqrt_f32()
5637 *pOut = sqrtf(in); in arm_sqrt_f32()
5652 …* @param[in] in input value. The range of the input value is [0 +1) or 0x00000000 to 0x7FFFFF…
5655 * <code>in</code> is negative value and returns zero output for negative values.
5658 q31_t in,
5664 * @param[in] in input value. The range of the input value is [0 +1) or 0x0000 to 0x7FFF.
5667 * <code>in</code> is negative value and returns zero output for negative values.
5670 q15_t in,
5980 * @param[in] pSrc is input pointer
5981 * @param[in] blockSize is the number of samples to process
5992 * @param[in] pSrc is input pointer
5993 * @param[in] blockSize is the number of samples to process
6004 * @param[in] pSrc is input pointer
6005 * @param[in] blockSize is the number of samples to process
6016 * @param[in] pSrc is input pointer
6017 * @param[in] blockSize is the number of samples to process
6028 * @param[in] pSrc is input pointer
6029 * @param[in] blockSize is the number of samples to process
6040 * @param[in] pSrc is input pointer
6041 * @param[in] blockSize is the number of samples to process
6052 * @param[in] pSrc is input pointer
6053 * @param[in] blockSize is the number of samples to process
6064 * @param[in] pSrc is input pointer
6065 * @param[in] blockSize is the number of samples to process
6076 * @param[in] pSrc is input pointer
6077 * @param[in] blockSize is the number of samples to process
6088 * @param[in] pSrc is input pointer
6089 * @param[in] blockSize is the number of samples to process
6100 * @param[in] pSrc is input pointer
6101 * @param[in] blockSize is the number of samples to process
6112 * @param[in] pSrc is input pointer
6113 * @param[in] blockSize is the number of samples to process
6124 * @param[in] pSrc is input pointer
6125 * @param[in] blockSize is the number of samples to process
6136 * @param[in] pSrc is input pointer
6137 * @param[in] blockSize is the number of samples to process
6148 * @param[in] pSrc is input pointer
6149 * @param[in] blockSize is the number of samples to process
6160 * @param[in] pSrc is input pointer
6161 * @param[in] blockSize is the number of samples to process
6172 * @param[in] pSrc is input pointer
6173 * @param[in] blockSize is the number of samples to process
6184 * @param[in] pSrc points to the complex input vector
6186 * @param[in] numSamples number of complex samples in the input vector
6196 * @param[in] pSrc points to the complex input vector
6198 * @param[in] numSamples number of complex samples in the input vector
6208 * @param[in] pSrc points to the complex input vector
6210 * @param[in] numSamples number of complex samples in the input vector
6220 * @param[in] pSrcA points to the first input vector
6221 * @param[in] pSrcB points to the second input vector
6222 * @param[in] numSamples number of complex samples in each vector
6236 * @param[in] pSrcA points to the first input vector
6237 * @param[in] pSrcB points to the second input vector
6238 * @param[in] numSamples number of complex samples in each vector
6252 * @param[in] pSrcA points to the first input vector
6253 * @param[in] pSrcB points to the second input vector
6254 * @param[in] numSamples number of complex samples in each vector
6268 * @param[in] pSrcCmplx points to the complex input vector
6269 * @param[in] pSrcReal points to the real input vector
6271 * @param[in] numSamples number of samples in each vector
6282 * @param[in] pSrcCmplx points to the complex input vector
6283 * @param[in] pSrcReal points to the real input vector
6285 * @param[in] numSamples number of samples in each vector
6296 * @param[in] pSrcCmplx points to the complex input vector
6297 * @param[in] pSrcReal points to the real input vector
6299 * @param[in] numSamples number of samples in each vector
6310 * @param[in] pSrc is input pointer
6311 * @param[in] blockSize is the number of samples to process
6313 * @param[in] index is the array index of the minimum value in the input buffer.
6324 * @param[in] pSrc is input pointer
6325 * @param[in] blockSize is the number of samples to process
6327 * @param[in] pIndex is the array index of the minimum value in the input buffer.
6338 * @param[in] pSrc is input pointer
6339 * @param[in] blockSize is the number of samples to process
6341 * @param[out] pIndex is the array index of the minimum value in the input buffer.
6352 * @param[in] pSrc is input pointer
6353 * @param[in] blockSize is the number of samples to process
6355 * @param[out] pIndex is the array index of the minimum value in the input buffer.
6366 * @param[in] pSrc points to the input buffer
6367 * @param[in] blockSize length of the input vector
6380 * @param[in] pSrc points to the input buffer
6381 * @param[in] blockSize length of the input vector
6394 * @param[in] pSrc points to the input buffer
6395 * @param[in] blockSize length of the input vector
6408 * @param[in] pSrc points to the input buffer
6409 * @param[in] blockSize length of the input vector
6422 * @param[in] pSrcA points to the first input vector
6423 * @param[in] pSrcB points to the second input vector
6425 * @param[in] numSamples number of complex samples in each vector
6436 * @param[in] pSrcA points to the first input vector
6437 * @param[in] pSrcB points to the second input vector
6439 * @param[in] numSamples number of complex samples in each vector
6450 * @param[in] pSrcA points to the first input vector
6451 * @param[in] pSrcB points to the second input vector
6453 * @param[in] numSamples number of complex samples in each vector
6464 * @param[in] pSrc points to the floating-point input vector
6466 * @param[in] blockSize length of the input vector
6476 * @param[in] pSrc points to the floating-point input vector
6478 * @param[in] blockSize length of the input vector
6488 * @param[in] pSrc points to the floating-point input vector
6490 * @param[in] blockSize length of the input vector
6500 * @param[in] pSrc is input pointer
6502 * @param[in] blockSize is the number of samples to process
6512 * @param[in] pSrc is input pointer
6514 * @param[in] blockSize is the number of samples to process
6524 * @param[in] pSrc is input pointer
6526 * @param[in] blockSize is the number of samples to process
6536 * @param[in] pSrc is input pointer
6538 * @param[in] blockSize is the number of samples to process
6548 * @param[in] pSrc is input pointer
6550 * @param[in] blockSize is the number of samples to process
6568 …lation is equivalent to two step linear interpolation, first in the x-dimension and then in the y-…
6569 * Bilinear interpolation is often used in image processing to rescale images.
6586 * where <code>numRows</code> specifies the number of rows in the table;
6587 * <code>numCols</code> specifies the number of columns in the table;
6589 …* The data table <code>pTable</code> is organized in row order and the supplied data values fall o…
6623 * @param[in,out] S points to an instance of the interpolation structure.
6624 * @param[in] X interpolation coordinate.
6625 * @param[in] Y interpolation coordinate.
6650 /* Calculation of index for two nearest points in X-direction */ in arm_bilinear_interp_f32()
6654 /* Read two nearest points in X-direction */ in arm_bilinear_interp_f32()
6658 /* Calculation of index for two nearest points in Y-direction */ in arm_bilinear_interp_f32()
6662 /* Read two nearest points in Y-direction */ in arm_bilinear_interp_f32()
6672 /* Calculation of fractional part in X */ in arm_bilinear_interp_f32()
6675 /* Calculation of fractional part in Y */ in arm_bilinear_interp_f32()
6689 * @param[in,out] S points to an instance of the interpolation structure.
6690 * @param[in] X interpolation coordinate in 12.20 format.
6691 * @param[in] Y interpolation coordinate in 12.20 format.
6707 /* Input is in 12.20 format */ in arm_bilinear_interp_q31()
6712 /* Input is in 12.20 format */ in arm_bilinear_interp_q31()
6740 /* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 3.29(q29) format */ in arm_bilinear_interp_q31()
6744 /* x2 * (xfract) * (1-yfract) in 3.29(q29) and adding to acc */ in arm_bilinear_interp_q31()
6748 /* y1 * (1 - xfract) * (yfract) in 3.29(q29) and adding to acc */ in arm_bilinear_interp_q31()
6752 /* y2 * (xfract) * (yfract) in 3.29(q29) and adding to acc */ in arm_bilinear_interp_q31()
6763 * @param[in,out] S points to an instance of the interpolation structure.
6764 * @param[in] X interpolation coordinate in 12.20 format.
6765 * @param[in] Y interpolation coordinate in 12.20 format.
6781 /* Input is in 12.20 format */ in arm_bilinear_interp_q15()
6786 /* Input is in 12.20 format */ in arm_bilinear_interp_q15()
6799 /* xfract should be in 12.20 format */ in arm_bilinear_interp_q15()
6807 /* yfract should be in 12.20 format */ in arm_bilinear_interp_q15()
6814 /* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 13.51 format */ in arm_bilinear_interp_q15()
6816 /* x1 is in 1.15(q15), xfract in 12.20 format and out is in 13.35 format */ in arm_bilinear_interp_q15()
6817 /* convert 13.35 to 13.31 by right shifting and out is in 1.31 */ in arm_bilinear_interp_q15()
6821 /* x2 * (xfract) * (1-yfract) in 1.51 and adding to acc */ in arm_bilinear_interp_q15()
6825 /* y1 * (1 - xfract) * (yfract) in 1.51 and adding to acc */ in arm_bilinear_interp_q15()
6829 /* y2 * (xfract) * (yfract) in 1.51 and adding to acc */ in arm_bilinear_interp_q15()
6833 /* acc is in 13.51 format and down shift acc by 36 times */ in arm_bilinear_interp_q15()
6841 * @param[in,out] S points to an instance of the interpolation structure.
6842 * @param[in] X interpolation coordinate in 12.20 format.
6843 * @param[in] Y interpolation coordinate in 12.20 format.
6859 /* Input is in 12.20 format */ in arm_bilinear_interp_q7()
6864 /* Input is in 12.20 format */ in arm_bilinear_interp_q7()
6877 /* xfract should be in 12.20 format */ in arm_bilinear_interp_q7()
6885 /* yfract should be in 12.20 format */ in arm_bilinear_interp_q7()
6892 /* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 16.47 format */ in arm_bilinear_interp_q7()
6896 /* x2 * (xfract) * (1-yfract) in 2.22 and adding to acc */ in arm_bilinear_interp_q7()
6900 /* y1 * (1 - xfract) * (yfract) in 2.22 and adding to acc */ in arm_bilinear_interp_q7()
6904 /* y2 * (xfract) * (yfract) in 2.22 and adding to acc */ in arm_bilinear_interp_q7()
6908 /* acc in 16.47 format and down shift by 40 to convert to 1.7 format */ in arm_bilinear_interp_q7()