Lines Matching full:of
17 * - Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
20 * notice, this list of conditions and the following disclaimer in
23 * - Neither the name of ARM LIMITED nor the names of its contributors
29 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
33 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
35 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
37 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 * POSSIBILITY OF SUCH DAMAGE.
47 * This set of functions provides a fast approximation to sine, cosine, and square root.
48 * As compared to most of the other functions in the CMSIS math library, the fast math functions
56 * This set of functions operates on complex data vectors.
59 * In the API functions, the number of samples in a complex array refers
60 * to the number of complex values; the array contains twice this number of
71 * This set of functions provides basic matrix math operations.
79 * uint16_t numRows; // number of rows of the matrix.
80 * uint16_t numCols; // number of columns of the matrix.
81 * float32_t *pData; // points to the data of the matrix.
86 * The structure specifies the size of the matrix and then points to
87 * an array of data. The array is of size <code>numRows X numCols</code>
95 * There is an associated initialization function for each type of matrix
97 * The initialization function sets the values of the internal structure fields.
102 * Use of the initialization function is optional. However, if initialization function is used
111 * where <code>nRows</code> specifies the number of rows, <code>nColumns</code>
112 * specifies the number of columns, and <code>pData</code> points to the
116 * By default all of the matrix functions perform size checking on the input and
118 * two input matrices and the output matrix all have the same number of rows and
156 * These functions perform 1- and 2-dimensional interpolation of data.
228 /* 1.31(q31) Fixed value of 2/360 */
253 ARM_MATH_LENGTH_ERROR = -2, /**< Length of data buffer is incorrect */
254 …ARM_MATH_SIZE_MISMATCH = -3, /**< Size of matrices is not compatible with the operation. */
436 * @brief Function to Calculates 1/in (reciprocal) value of Q31 Data type.
461 /* calculation of index for initial approximated Val */ in arm_recip_q31()
468 /* calculation of reciprocal value */ 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.
512 /* calculation of index for initial approximated Val */ in arm_recip_q15()
519 /* calculation of reciprocal value */ in arm_recip_q15()
533 /* return num of signbits of out = 1/in value */ in arm_recip_q15()
575 #endif /* end of ARM_MATH_CM0_FAMILY */
907 uint16_t numTaps; /**< number of filter coefficients in the filter. */
908 …q7_t *pState; /**< points to the state variable array. The array is of length numTaps +…
909 q7_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
917 uint16_t numTaps; /**< number of filter coefficients in the filter. */
918 …q15_t *pState; /**< points to the state variable array. The array is of length numTaps …
919 … q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
927 uint16_t numTaps; /**< number of filter coefficients in the filter. */
928 …q31_t *pState; /**< points to the state variable array. The array is of length numTaps …
929 … q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
937 uint16_t numTaps; /**< number of filter coefficients in the filter. */
938 …float32_t *pState; /**< points to the state variable array. The array is of length numTaps + bl…
939 float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
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.
947 * @param[out] pDst points to the block of output 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.
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.
977 * @param[out] pDst points to the block of output 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.
991 * @param[out] pDst points to the block of output 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 …
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.
1023 * @param[out] pDst points to the block of output 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.
1037 * @param[out] pDst points to the block of output 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.
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.
1067 * @param[out] pDst points to the block of output 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.
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…
1099 …q15_t *pState; /**< Points to the array of state coefficients. The array is of length 4…
1100 …q15_t *pCoeffs; /**< Points to the array of coefficients. The array is of length 5*numSt…
1109 …uint32_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numSta…
1110 …q31_t *pState; /**< Points to the array of state coefficients. The array is of length 4…
1111 …q31_t *pCoeffs; /**< Points to the array of coefficients. The array is of length 5*numSt…
1120 …uint32_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numSta…
1121 …float32_t *pState; /**< Points to the array of state coefficients. The array is of length 4…
1122 …float32_t *pCoeffs; /**< Points to the array of coefficients. The array is of length 5*numSt…
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.
1130 * @param[out] pDst points to the block of output 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.
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.
1160 * @param[out] pDst points to the block of output 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.
1174 * @param[out] pDst points to the block of output 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.
1188 * @param[out] pDst points to the block of output 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.
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.
1218 * @param[out] pDst points to the block of output 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.
1247 uint16_t numRows; /**< number of rows of the matrix. */
1248 uint16_t numCols; /**< number of columns of the matrix. */
1249 float32_t *pData; /**< points to the data of the matrix. */
1258 uint16_t numRows; /**< number of rows of the matrix. */
1259 uint16_t numCols; /**< number of columns of the matrix. */
1260 float64_t *pData; /**< points to the data of the matrix. */
1268 uint16_t numRows; /**< number of rows of the matrix. */
1269 uint16_t numCols; /**< number of columns of the matrix. */
1270 q15_t *pData; /**< points to the data of the matrix. */
1278 uint16_t numRows; /**< number of rows of the matrix. */
1279 uint16_t numCols; /**< number of columns of the matrix. */
1280 q31_t *pData; /**< points to the data of the matrix. */
1290 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1304 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1318 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1332 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1346 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1361 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1374 * or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking.
1386 * or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking.
1398 * or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking.
1411 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1426 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1442 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1457 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1471 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1485 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1499 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1513 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1527 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1538 * @param[in] scaleFract fractional portion of the scale factor
1539 * @param[in] shift number of bits to shift the result by
1542 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
1554 * @param[in] scaleFract fractional portion of the scale factor
1555 * @param[in] shift number of bits to shift the result by
1558 …* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of siz…
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.
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.
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.
1622 q15_t state[3]; /**< The state array of length 3. */
1636 q31_t state[3]; /**< The state array of length 3. */
1650 float32_t state[3]; /**< The state array of length 3. */
1660 * @param[in,out] S points to an instance of the PID structure.
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.
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.
1707 * @param[in,out] S points to an instance of the q15 PID Control structure
1721 float32_t *pYData; /**< pointer to the table of Y values */
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. */
1770 * @param[in] blockSize number of samples in each vector
1784 * @param[in] blockSize number of samples in each vector
1798 * @param[in] blockSize number of samples in each vector
1812 * @param[in] blockSize number of samples in each vector
1826 uint16_t fftLen; /**< length of the FFT. */
1828 …/**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */
1853 uint16_t fftLen; /**< length of the FFT. */
1855 …/**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */
1879 uint16_t fftLen; /**< length of the FFT. */
1881 …/**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */
1905 uint16_t fftLen; /**< length of the FFT. */
1907 …/**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */
1931 uint16_t fftLen; /**< length of the FFT. */
1933 …/**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */
1938 float32_t onebyfftLen; /**< value of 1/fftLen. */
1958 uint16_t fftLen; /**< length of the FFT. */
1960 …/**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */
1965 float32_t onebyfftLen; /**< value of 1/fftLen. */
1985 uint16_t fftLen; /**< length of the FFT. */
2002 uint16_t fftLen; /**< length of the FFT. */
2019 uint16_t fftLen; /**< length of the FFT. */
2036 uint32_t fftLenReal; /**< length of the real FFT. */
2038 …*< flag that enables (bitReverseFlagR=1) or disables (bitReverseFlagR=0) bit reversal of output. */
2061 uint32_t fftLenReal; /**< length of the real FFT. */
2063 …*< flag that enables (bitReverseFlagR=1) or disables (bitReverseFlagR=0) bit reversal of output. */
2086 uint32_t fftLenReal; /**< length of the real FFT. */
2087 uint16_t fftLenBy2; /**< length of the complex FFT. */
2089 …*< flag that enables (bitReverseFlagR=1) or disables (bitReverseFlagR=0) bit reversal of output. */
2114 uint16_t fftLenRFFT; /**< length of the real sequence */
2132 uint16_t N; /**< length of the DCT4. */
2133 uint16_t Nby2; /**< half of the length of the DCT4. */
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.
2163 * @param[in] S points to an instance of the floating-point DCT4/IDCT4 structure.
2178 uint16_t N; /**< length of the DCT4. */
2179 uint16_t Nby2; /**< half of the length of the DCT4. */
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.
2209 * @param[in] S points to an instance of the Q31 DCT4 structure.
2224 uint16_t N; /**< length of the DCT4. */
2225 uint16_t Nby2; /**< half of the length of the DCT4. */
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.
2255 * @param[in] S points to an instance of the Q15 DCT4 structure.
2270 * @param[in] blockSize number of samples in each vector
2284 * @param[in] blockSize number of samples in each vector
2298 * @param[in] blockSize number of samples in each vector
2312 * @param[in] blockSize number of samples in each vector
2326 * @param[in] blockSize number of samples in each vector
2340 * @param[in] blockSize number of samples in each vector
2354 * @param[in] blockSize number of samples in each vector
2368 * @param[in] blockSize number of samples in each vector
2382 * @param[in] blockSize number of samples in the 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
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
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
2443 * @param[in] blockSize number of samples in each vector
2455 * @param[in] blockSize number of samples in each vector
2467 * @param[in] blockSize number of samples in each vector
2479 * @param[in] blockSize number of samples in each vector
2488 * @brief Dot product of floating-point vectors.
2491 * @param[in] blockSize number of samples in each vector
2502 * @brief Dot product of Q7 vectors.
2505 * @param[in] blockSize number of samples in each vector
2516 * @brief Dot product of Q15 vectors.
2519 * @param[in] blockSize number of samples in each vector
2530 * @brief Dot product of Q31 vectors.
2533 * @param[in] blockSize number of samples in each vector
2544 * @brief Shifts the elements of a Q7 vector a specified number of bits.
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
2558 * @brief Shifts the elements of a Q15 vector a specified number of bits.
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
2572 * @brief Shifts the elements of a Q31 vector a specified number of bits.
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
2590 * @param[in] blockSize number of samples in the vector
2604 * @param[in] blockSize number of samples in the vector
2618 * @param[in] blockSize number of samples in the vector
2632 * @param[in] blockSize number of samples in the vector
2642 * @brief Negates the elements of a floating-point vector.
2645 * @param[in] blockSize number of samples in the vector
2654 * @brief Negates the elements of a Q7 vector.
2657 * @param[in] blockSize number of samples in the vector
2666 * @brief Negates the elements of a Q15 vector.
2669 * @param[in] blockSize number of samples in the vector
2678 * @brief Negates the elements of a Q31 vector.
2681 * @param[in] blockSize number of samples in the vector
2690 * @brief Copies the elements of a floating-point vector.
2693 * @param[in] blockSize number of samples to process
2702 * @brief Copies the elements of a Q7 vector.
2705 * @param[in] blockSize number of samples to process
2714 * @brief Copies the elements of a Q15 vector.
2717 * @param[in] blockSize number of samples to process
2726 * @brief Copies the elements of a Q31 vector.
2729 * @param[in] blockSize number of samples to process
2741 * @param[in] blockSize number of samples to process
2753 * @param[in] blockSize number of samples to process
2765 * @param[in] blockSize number of samples to process
2777 * @param[in] blockSize number of samples to process
2786 * @brief Convolution of floating-point sequences.
2788 * @param[in] srcALen length of the first input sequence.
2790 * @param[in] srcBLen length of the second input sequence.
2802 * @brief Convolution of Q15 sequences.
2804 * @param[in] srcALen length of the first input sequence.
2806 * @param[in] srcBLen length of the second input sequence.
2807 * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
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).
2822 * @brief Convolution of Q15 sequences.
2824 * @param[in] srcALen length of the first input sequence.
2826 * @param[in] srcBLen length of the second input sequence.
2838 * @brief Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4
2840 * @param[in] srcALen length of the first input sequence.
2842 * @param[in] srcBLen length of the second input sequence.
2843 * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
2854 * @brief Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4
2856 * @param[in] srcALen length of the first input sequence.
2858 * @param[in] srcBLen length of the second input sequence.
2859 * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
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).
2874 * @brief Convolution of Q31 sequences.
2876 * @param[in] srcALen length of the first input sequence.
2878 * @param[in] srcBLen length of the second input sequence.
2879 * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
2890 * @brief Convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4
2892 * @param[in] srcALen length of the first input sequence.
2894 * @param[in] srcBLen length of the second input sequence.
2895 * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
2906 * @brief Convolution of Q7 sequences.
2908 * @param[in] srcALen length of the first input sequence.
2910 * @param[in] srcBLen length of the second input sequence.
2911 * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
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).
2926 * @brief Convolution of Q7 sequences.
2928 * @param[in] srcALen length of the first input sequence.
2930 * @param[in] srcBLen length of the second input sequence.
2931 * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
2942 * @brief Partial convolution of floating-point sequences.
2944 * @param[in] srcALen length of the first input sequence.
2946 * @param[in] srcBLen length of the second input sequence.
2947 * @param[out] pDst points to the block of output data
2949 * @param[in] numPoints is the number of output points to be computed.
2963 * @brief Partial convolution of Q15 sequences.
2965 * @param[in] srcALen length of the first input sequence.
2967 * @param[in] srcBLen length of the second input sequence.
2968 * @param[out] pDst points to the block of output data
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).
2988 * @brief Partial convolution of Q15 sequences.
2990 * @param[in] srcALen length of the first input sequence.
2992 * @param[in] srcBLen length of the second input sequence.
2993 * @param[out] pDst points to the block of output data
2995 * @param[in] numPoints is the number of output points to be computed.
3009 * @brief Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4
3011 * @param[in] srcALen length of the first input sequence.
3013 * @param[in] srcBLen length of the second input sequence.
3014 * @param[out] pDst points to the block of output data
3016 * @param[in] numPoints is the number of output points to be computed.
3030 * @brief Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4
3032 * @param[in] srcALen length of the first input sequence.
3034 * @param[in] srcBLen length of the second input sequence.
3035 * @param[out] pDst points to the block of output data
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).
3055 * @brief Partial convolution of Q31 sequences.
3057 * @param[in] srcALen length of the first input sequence.
3059 * @param[in] srcBLen length of the second input sequence.
3060 * @param[out] pDst points to the block of output data
3062 * @param[in] numPoints is the number of output points to be computed.
3076 * @brief Partial convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4
3078 * @param[in] srcALen length of the first input sequence.
3080 * @param[in] srcBLen length of the second input sequence.
3081 * @param[out] pDst points to the block of output data
3083 * @param[in] numPoints is the number of output points to be computed.
3097 * @brief Partial convolution of Q7 sequences
3099 * @param[in] srcALen length of the first input sequence.
3101 * @param[in] srcBLen length of the second input sequence.
3102 * @param[out] pDst points to the block of output data
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).
3122 * @brief Partial convolution of Q7 sequences.
3124 * @param[in] srcALen length of the first input sequence.
3126 * @param[in] srcBLen length of the second input sequence.
3127 * @param[out] pDst points to the block of output data
3129 * @param[in] numPoints is the number of output points to be computed.
3148 uint16_t numTaps; /**< number of coefficients in the filter. */
3149 …q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
3150 …q15_t *pState; /**< points to the state variable array. The array is of length numTap…
3159 uint16_t numTaps; /**< number of coefficients in the filter. */
3160 …q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
3161 …q31_t *pState; /**< points to the state variable array. The array is of length numTap…
3170 uint16_t numTaps; /**< number of coefficients in the filter. */
3171 …float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
3172 …float32_t *pState; /**< points to the state variable array. The array is of length numTap…
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.
3180 * @param[out] pDst points to the block of output 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.
3197 * @param[in] blockSize number of input samples to process per call.
3199 * <code>blockSize</code> is not a multiple of <code>M</code>.
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.
3214 * @param[out] pDst points to the block of output 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.
3228 * @param[out] pDst points to the block of output 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.
3245 * @param[in] blockSize number of input samples to process per call.
3247 * <code>blockSize</code> is not a multiple of <code>M</code>.
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.
3262 * @param[out] pDst points to the block of output 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.
3275 * @param[out] pDst points to the block of output 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.
3292 * @param[in] blockSize number of input samples to process per call.
3294 * <code>blockSize</code> is not a multiple of <code>M</code>.
3311 uint16_t phaseLength; /**< length of each polyphase filter component. */
3312 …q15_t *pCoeffs; /**< points to the coefficient array. The array is of length L*pha…
3313 …q15_t *pState; /**< points to the state variable array. The array is of length bl…
3322 uint16_t phaseLength; /**< length of each polyphase filter component. */
3323 …q31_t *pCoeffs; /**< points to the coefficient array. The array is of length L*pha…
3324 …q31_t *pState; /**< points to the state variable array. The array is of length bl…
3333 uint16_t phaseLength; /**< length of each polyphase filter component. */
3334 …float32_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phas…
3335 …float32_t *pState; /**< points to the state variable array. The array is of length pha…
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.
3343 * @param[out] pDst points to the block of output 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.
3357 * @param[in] numTaps number of filter coefficients in the filter.
3360 * @param[in] blockSize number of input samples to process per call.
3362 …* the filter length <code>numTaps</code> is not a multiple of the interpolation factor <code>L</co…
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.
3377 * @param[out] pDst points to the block of output 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.
3391 * @param[in] numTaps number of filter coefficients in the filter.
3394 * @param[in] blockSize number of input samples to process per call.
3396 …* the filter length <code>numTaps</code> is not a multiple of the interpolation factor <code>L</co…
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.
3411 * @param[out] pDst points to the block of output 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.
3425 * @param[in] numTaps number of filter coefficients in the filter.
3428 * @param[in] blockSize number of input samples to process per call.
3430 …* the filter length <code>numTaps</code> is not a multiple of the interpolation factor <code>L</co…
3446 …uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numSta…
3447 …q63_t *pState; /**< points to the array of state coefficients. The array is of length 4…
3448 …q31_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numSt…
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.
3456 * @param[out] pDst points to the block of output 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.
3486 …uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numS…
3487 …float32_t *pState; /**< points to the array of state coefficients. The array is of length…
3488 …float32_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*num…
3496 …uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numS…
3497 …float32_t *pState; /**< points to the array of state coefficients. The array is of length…
3498 …float32_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*num…
3506 …uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numS…
3507 …float64_t *pState; /**< points to the array of state coefficients. The array is of length…
3508 …float64_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*num…
3514 * @param[in] S points to an instance of the filter data structure.
3515 * @param[in] pSrc points to the block of input data.
3516 * @param[out] pDst points to the block of output 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.
3530 * @param[out] pDst points to the block of output 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.
3544 * @param[out] pDst points to the block of output 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.
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.
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.
3601 uint16_t numStages; /**< number of filter stages. */
3602 …q15_t *pState; /**< points to the state variable array. The array is of leng…
3603 …q15_t *pCoeffs; /**< points to the coefficient array. The array is of length …
3611 uint16_t numStages; /**< number of filter stages. */
3612 …q31_t *pState; /**< points to the state variable array. The array is of leng…
3613 …q31_t *pCoeffs; /**< points to the coefficient array. The array is of length …
3621 uint16_t numStages; /**< number of filter stages. */
3622 …float32_t *pState; /**< points to the state variable array. The array is of leng…
3623 …float32_t *pCoeffs; /**< points to the coefficient array. The array is of length …
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.
3645 * @param[out] pDst points to the block of output 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.
3673 * @param[out] pDst points to the block of output 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.
3701 * @param[out] pDst points to the block of output data
3702 * @param[in] blockSize number of samples to process.
3716 uint16_t numStages; /**< number of stages in the filter. */
3717 …q15_t *pState; /**< points to the state variable array. The array is of leng…
3718 … /**< points to the reflection coefficient array. The array is of length numStages. */
3719 … /**< points to the ladder coefficient array. The array is of length numStages + 1…
3727 uint16_t numStages; /**< number of stages in the filter. */
3728 …q31_t *pState; /**< points to the state variable array. The array is of leng…
3729 … /**< points to the reflection coefficient array. The array is of length numStages. */
3730 … /**< points to the ladder coefficient array. The array is of length numStages + 1…
3738 uint16_t numStages; /**< number of stages in the filter. */
3739 …float32_t *pState; /**< points to the state variable array. The array is of leng…
3740 … /**< points to the reflection coefficient array. The array is of length numStages. */
3741 … /**< points to the ladder coefficient array. The array is of length numStages + 1…
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.
3749 * @param[out] pDst points to the block of output 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.
3781 * @param[out] pDst points to the block of output 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.
3813 * @param[out] pDst points to the block of output 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. */
3847 …float32_t *pState; /**< points to the state variable array. The array is of length numTaps + blo…
3848 float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
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.
3858 * @param[out] pOut points to the block of output data.
3859 * @param[out] pErr points to the block of error 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.
3878 * @param[in] blockSize number of samples to process.
3894 uint16_t numTaps; /**< number of coefficients in the filter. */
3895 …q15_t *pState; /**< points to the state variable array. The array is of length numTaps + blo…
3896 q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
3904 * @param[in] S points to an instance of the Q15 LMS filter structure.
3905 * @param[in] numTaps number of filter coefficients.
3909 * @param[in] blockSize number of samples to process.
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.
3927 * @param[out] pOut points to the block of output data.
3928 * @param[out] pErr points to the block of error data.
3929 * @param[in] blockSize number of samples to process.
3945 uint16_t numTaps; /**< number of coefficients in the filter. */
3946 …q31_t *pState; /**< points to the state variable array. The array is of length numTaps + blo…
3947 q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
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.
3958 * @param[out] pOut points to the block of output data.
3959 * @param[out] pErr points to the block of error 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.
3978 * @param[in] blockSize number of samples to process.
3996 uint16_t numTaps; /**< number of coefficients in the filter. */
3997 …float32_t *pState; /**< points to the state variable array. The array is of length numTaps + bl…
3998 float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
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.
4010 * @param[out] pOut points to the block of output data.
4011 * @param[out] pErr points to the block of error 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.
4030 * @param[in] blockSize number of samples to process.
4046 uint16_t numTaps; /**< number of coefficients in the filter. */
4047 …q31_t *pState; /**< points to the state variable array. The array is of length numTaps + bl…
4048 q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
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.
4062 * @param[out] pOut points to the block of output data.
4063 * @param[out] pErr points to the block of error 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.
4082 * @param[in] blockSize number of samples to process.
4100 uint16_t numTaps; /**< Number of coefficients in the filter. */
4101 …q15_t *pState; /**< points to the state variable array. The array is of length numTaps + bl…
4102 q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
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.
4116 * @param[out] pOut points to the block of output data.
4117 * @param[out] pErr points to the block of error 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.
4136 * @param[in] blockSize number of samples to process.
4150 * @brief Correlation of floating-point sequences.
4152 * @param[in] srcALen length of the first input sequence.
4154 * @param[in] srcBLen length of the second input sequence.
4155 * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
4166 * @brief Correlation of Q15 sequences
4168 * @param[in] srcALen length of the first input sequence.
4170 * @param[in] srcBLen length of the second input sequence.
4171 * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
4172 …* @param[in] pScratch points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, sr…
4184 * @brief Correlation of Q15 sequences.
4186 * @param[in] srcALen length of the first input sequence.
4188 * @param[in] srcBLen length of the second input sequence.
4189 * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
4201 * @brief Correlation of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.
4203 * @param[in] srcALen length of the first input sequence.
4205 * @param[in] srcBLen length of the second input sequence.
4206 * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
4218 * @brief Correlation of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.
4220 * @param[in] srcALen length of the first input sequence.
4222 * @param[in] srcBLen length of the second input sequence.
4223 * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
4224 …* @param[in] pScratch points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, sr…
4236 * @brief Correlation of Q31 sequences.
4238 * @param[in] srcALen length of the first input sequence.
4240 * @param[in] srcBLen length of the second input sequence.
4241 * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
4252 * @brief Correlation of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4
4254 * @param[in] srcALen length of the first input sequence.
4256 * @param[in] srcBLen length of the second input sequence.
4257 * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
4268 * @brief Correlation of Q7 sequences.
4270 * @param[in] srcALen length of the first input sequence.
4272 * @param[in] srcBLen length of the second input sequence.
4273 … * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
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).
4288 * @brief Correlation of Q7 sequences.
4290 * @param[in] srcALen length of the first input sequence.
4292 * @param[in] srcBLen length of the second input sequence.
4293 * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1.
4308 uint16_t numTaps; /**< number of coefficients in the filter. */
4310 …float32_t *pState; /**< points to the state buffer array. The array is of length maxDel…
4311 …float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps…
4313 …int32_t *pTapDelay; /**< points to the array of delay values. The array is of length nu…
4321 uint16_t numTaps; /**< number of coefficients in the filter. */
4323 …q31_t *pState; /**< points to the state buffer array. The array is of length maxDel…
4324 …q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps…
4326 …int32_t *pTapDelay; /**< points to the array of delay values. The array is of length nu…
4334 uint16_t numTaps; /**< number of coefficients in the filter. */
4336 …q15_t *pState; /**< points to the state buffer array. The array is of length maxDel…
4337 …q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps…
4339 …int32_t *pTapDelay; /**< points to the array of delay values. The array is of length nu…
4347 uint16_t numTaps; /**< number of coefficients in the filter. */
4349 …q7_t *pState; /**< points to the state buffer array. The array is of length maxDel…
4350 …q7_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps…
4352 …int32_t *pTapDelay; /**< points to the array of delay values. The array is of length nu…
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.
4360 * @param[out] pDst points to the block of output 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.
4378 * @param[in] pTapDelay points to the array of offset times.
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.
4396 * @param[out] pDst points to the block of output 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.
4414 * @param[in] pTapDelay points to the array of offset times.
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.
4432 * @param[out] pDst points to the block of output 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.
4452 * @param[in] pTapDelay points to the array of offset times.
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.
4470 * @param[out] pDst points to the block of output 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.
4490 * @param[in] pTapDelay points to the array of offset times.
4492 * @param[in] blockSize number of samples that will be processed per block.
4532 * @param[in] numSamples number of complex samples in each vector
4543 * @param[in] numSamples number of complex samples in each vector
4555 * @param[in] numSamples number of complex samples in each vector
4567 * @param[in] numSamples number of complex samples in the input vector
4579 * @param[in] numSamples number of complex samples in the input vector
4591 * @param[in] numSamples number of complex samples in the input vector
4608 * A PID controller is the most commonly used type of feedback controller.
4610 * This set of functions implements (PID) controllers
4612 * of data and each call to the function returns a single processed value.
4613 * <code>S</code> points to an instance of the PID control data structure. <code>in</code>
4634 * the integral value determines the reaction based on the sum of recent errors,
4640 * There are separate instance structure declarations for each of the 3 supported data types.
4655 * Care must be taken when using the fixed-point versions of the PID Controller functions.
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
4693 * @param[in,out] S points to an instance of the Q31 PID Control structure
4700 …* The accumulator has a 2.62 format and maintains full precision of the intermediate multiplicatio…
4739 * @param[in,out] S points to an instance of the Q15 PID Control structure
4748 …* There is no risk of internal overflow with this approach and the full precision of intermediate …
4762 /* Implementation of PID controller */ in arm_pid_q15()
4795 * @} end of PID group
4801 * @param[in] src points to the instance of the input floating-point matrix structure.
4802 * @param[out] dst points to the instance of the output floating-point matrix structure.
4813 * @param[in] src points to the instance of the input floating-point matrix structure.
4814 * @param[out] dst points to the instance of the output floating-point matrix structure.
4838 …* The function operates on a single sample of data and each call to the function returns the proce…
4843 * <code>pIalpha</code> and <code>pIbeta</code> are the two coordinates of time invariant vector.
4845 * Care must be taken when using the Q31 version of the Clarke transform.
4846 * In particular, the overflow and saturation behavior of the accumulator used must be considered.
4887 …* The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplica…
4888 * There is saturation on the addition, hence there is no risk of overflow.
4912 * @} end of clarke group
4916 * @brief Converts the elements of the Q7 vector to Q31 vector.
4919 * @param[in] blockSize number of samples to process
4936 …* The function operates on a single sample of data and each call to the function returns the proce…
4941 * <code>Ialpha</code> and <code>Ibeta</code> are the two coordinates of time invariant vector.
4943 * Care must be taken when using the Q31 version of the Clarke transform.
4944 * In particular, the overflow and saturation behavior of the accumulator used must be considered.
4984 …* The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplica…
4985 * There is saturation on the subtraction, hence there is no risk of overflow.
5009 * @} end of inv_clarke group
5013 * @brief Converts the elements of the Q7 vector to Q15 vector.
5016 * @param[in] blockSize number of samples to process
5033 …* The Park transform can be used to realize the transformation of the <code>Ialpha</code> and the …
5040 …* The function operates on a single sample of data and each call to the function returns the proce…
5046 * cosine and sine values of theta (rotor flux position).
5048 * Care must be taken when using the Q31 version of the Park transform.
5049 * In particular, the overflow and saturation behavior of the accumulator used must be considered.
5064 * @param[in] sinVal sine value of rotation angle theta
5065 * @param[in] cosVal cosine value of rotation angle theta
5092 * @param[in] sinVal sine value of rotation angle theta
5093 * @param[in] cosVal cosine value of rotation angle theta
5098 …* The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplica…
5099 * There is saturation on the addition and subtraction, hence there is no risk of overflow.
5133 * @} end of park group
5137 * @brief Converts the elements of the Q7 vector to floating-point vector.
5140 * @param[in] blockSize is the number of samples to process
5156 …* The function operates on a single sample of data and each call to the function returns the proce…
5162 * cosine and sine values of theta (rotor flux position).
5164 * Care must be taken when using the Q31 version of the Park transform.
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 …* The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplica…
5212 * There is saturation on the addition, hence there is no risk of overflow.
5246 * @} end of Inverse park group
5251 * @brief Converts the elements of the Q31 vector to floating-point vector.
5254 * @param[in] blockSize is the number of samples to process
5268 * Linear interpolation is a method of curve fitting using linear polynomials.
5276 …* using linear interpolation of the input values x0, x1( nearest input values) and the output valu…
5281 * where x0, x1 are nearest values of input x
5286 * This set of functions implements Linear interpolation process
5288 * sample of data and each call to the function returns a single processed value.
5289 * <code>S</code> points to an instance of the Linear Interpolate function data structure.
5293 * if x is outside of the table boundary, Linear interpolation returns first value of the table
5294 * if x is below input range and returns last value of table if x is above range.
5304 * @param[in,out] S is an instance of the floating-point Linear Interpolation structure
5320 /* Calculation of index */ in arm_linear_interp_f32()
5325 /* Iniatilize output for below specified range as least output value of table */ in arm_linear_interp_f32()
5330 /* Iniatilize output for above specified range as last output value of table */ in arm_linear_interp_f32()
5335 /* Calculation of nearest input values */ in arm_linear_interp_f32()
5339 /* Read of nearest output values */ in arm_linear_interp_f32()
5343 /* Calculation of output */ in arm_linear_interp_f32()
5358 * @param[in] nValues number of table values
5363 * This function can support maximum of table size 2^12.
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()
5416 * @param[in] nValues number of table values
5421 * This function can support maximum of table size 2^12.
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()
5474 * @param[in] nValues number of table values
5479 * This function can support maximum of table size 2^12.
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()
5526 * @} end of LinearInterpolate group
5591 * Computes the square root of a number.
5594 * This is an iterative algorithm of the form:
5600 * <code>f'(x0)</code> is the derivative of <code>f()</code> evaluated at <code>x0</code>.
5617 * @param[out] pOut square root of input value.
5652 …* @param[in] in input value. The range of the input value is [0 +1) or 0x00000000 to 0x7FFFFF…
5653 * @param[out] pOut square root of input value.
5664 * @param[in] in input value. The range of the input value is [0 +1) or 0x0000 to 0x7FFF.
5665 * @param[out] pOut square root of input value.
5674 * @} end of SQRT group
5693 /* Copy the value of Index pointer that points in arm_circularWrite_f32()
5740 /* Copy the value of Index pointer that points in arm_circularRead_f32()
5793 /* Copy the value of Index pointer that points in arm_circularWrite_q15()
5839 /* Copy the value of Index pointer that points in arm_circularRead_q15()
5893 /* Copy the value of Index pointer that points in arm_circularWrite_q7()
5939 /* Copy the value of Index pointer that points in arm_circularRead_q7()
5979 * @brief Sum of the squares of the elements of a Q31 vector.
5981 * @param[in] blockSize is the number of samples to process
5991 * @brief Sum of the squares of the elements of a floating-point vector.
5993 * @param[in] blockSize is the number of samples to process
6003 * @brief Sum of the squares of the elements of a Q15 vector.
6005 * @param[in] blockSize is the number of samples to process
6015 * @brief Sum of the squares of the elements of a Q7 vector.
6017 * @param[in] blockSize is the number of samples to process
6027 * @brief Mean value of a Q7 vector.
6029 * @param[in] blockSize is the number of samples to process
6039 * @brief Mean value of a Q15 vector.
6041 * @param[in] blockSize is the number of samples to process
6051 * @brief Mean value of a Q31 vector.
6053 * @param[in] blockSize is the number of samples to process
6063 * @brief Mean value of a floating-point vector.
6065 * @param[in] blockSize is the number of samples to process
6075 * @brief Variance of the elements of a floating-point vector.
6077 * @param[in] blockSize is the number of samples to process
6087 * @brief Variance of the elements of a Q31 vector.
6089 * @param[in] blockSize is the number of samples to process
6099 * @brief Variance of the elements of a Q15 vector.
6101 * @param[in] blockSize is the number of samples to process
6111 * @brief Root Mean Square of the elements of a floating-point vector.
6113 * @param[in] blockSize is the number of samples to process
6123 * @brief Root Mean Square of the elements of a Q31 vector.
6125 * @param[in] blockSize is the number of samples to process
6135 * @brief Root Mean Square of the elements of a Q15 vector.
6137 * @param[in] blockSize is the number of samples to process
6147 * @brief Standard deviation of the elements of a floating-point vector.
6149 * @param[in] blockSize is the number of samples to process
6159 * @brief Standard deviation of the elements of a Q31 vector.
6161 * @param[in] blockSize is the number of samples to process
6171 * @brief Standard deviation of the elements of a Q15 vector.
6173 * @param[in] blockSize is the number of samples to process
6186 * @param[in] numSamples number of complex samples in the input vector
6198 * @param[in] numSamples number of complex samples in the input vector
6210 * @param[in] numSamples number of complex samples in the input vector
6222 * @param[in] numSamples number of complex samples in each vector
6223 * @param[out] realResult real part of the result returned here
6224 * @param[out] imagResult imaginary part of the result returned here
6238 * @param[in] numSamples number of complex samples in each vector
6239 * @param[out] realResult real part of the result returned here
6240 * @param[out] imagResult imaginary part of the result returned here
6254 * @param[in] numSamples number of complex samples in each vector
6255 * @param[out] realResult real part of the result returned here
6256 * @param[out] imagResult imaginary part of the result returned here
6271 * @param[in] numSamples number of samples in each vector
6285 * @param[in] numSamples number of samples in each vector
6299 * @param[in] numSamples number of samples in each vector
6309 * @brief Minimum value of a Q7 vector.
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.
6323 * @brief Minimum value of a Q15 vector.
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.
6337 * @brief Minimum value of a Q31 vector.
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.
6351 * @brief Minimum value of a floating-point vector.
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.
6365 * @brief Maximum value of a Q7 vector.
6367 * @param[in] blockSize length of the input vector
6369 * @param[out] pIndex index of maximum value returned here
6379 * @brief Maximum value of a Q15 vector.
6381 * @param[in] blockSize length of the input vector
6383 * @param[out] pIndex index of maximum value returned here
6393 * @brief Maximum value of a Q31 vector.
6395 * @param[in] blockSize length of the input vector
6397 * @param[out] pIndex index of maximum value returned here
6407 * @brief Maximum value of a floating-point vector.
6409 * @param[in] blockSize length of the input vector
6411 * @param[out] pIndex index of maximum value returned here
6425 * @param[in] numSamples number of complex samples in each vector
6439 * @param[in] numSamples number of complex samples in each vector
6453 * @param[in] numSamples number of complex samples in each vector
6463 * @brief Converts the elements of the floating-point vector to Q31 vector.
6466 * @param[in] blockSize length of the input vector
6475 * @brief Converts the elements of the floating-point vector to Q15 vector.
6478 * @param[in] blockSize length of the input vector
6487 * @brief Converts the elements of the floating-point vector to Q7 vector.
6490 * @param[in] blockSize length of the input vector
6499 * @brief Converts the elements of the Q31 vector to Q15 vector.
6502 * @param[in] blockSize is the number of samples to process
6511 * @brief Converts the elements of the Q31 vector to Q7 vector.
6514 * @param[in] blockSize is the number of samples to process
6523 * @brief Converts the elements of the Q15 vector to floating-point vector.
6526 * @param[in] blockSize is the number of samples to process
6535 * @brief Converts the elements of the Q15 vector to Q31 vector.
6538 * @param[in] blockSize is the number of samples to process
6547 * @brief Converts the elements of the Q15 vector to Q7 vector.
6550 * @param[in] blockSize is the number of samples to process
6565 …* Bilinear interpolation is an extension of linear interpolation applied to a two dimensional grid.
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;
6588 * and <code>pData</code> points to an array of size <code>numRows*numCols</code> values.
6607 * The integer components specify which portion of the table to use while the
6611 * if (x,y) are outside of the table boundary, Bilinear interpolation returns zero output.
6623 * @param[in,out] S points to an instance of the interpolation structure.
6650 /* Calculation of index for 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()
6666 /* Calculation of intermediate values */ 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()
6678 /* Calculation of bi-linear interpolated output */ in arm_bilinear_interp_f32()
6689 * @param[in,out] S points to an instance of the interpolation structure.
6705 uint32_t nCols = S->numCols; /* num of rows */ 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()
6763 * @param[in,out] S points to an instance of the interpolation structure.
6779 uint32_t nCols = S->numCols; /* num of rows */ 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()
6841 * @param[in,out] S points to an instance of the interpolation structure.
6857 uint32_t nCols = S->numCols; /* num of rows */ 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()
6913 * @} end of BilinearInterpolate group
6952 /* Exit low optimization region - place directly after end of function definition */
6963 /* Exit low optimization region - place directly after end of function definition */
6987 /* Exit low optimization region - place directly after end of function definition */
6998 /* Exit low optimization region - place directly after end of function definition */
7029 * End of file.