Functions | |
static INLINE void | arm_linear_interp_f32 (arm_linear_interp_instance_f32 *S, float32_t *pIn, float32_t *pOut, uint32_t blockSize) |
static INLINE void | arm_linear_interp_q31 (q31_t *pYData, q31_t *pIn, q31_t *pOut, uint32_t nValues, uint32_t blockSize) |
static INLINE void | arm_linear_interp_q15 (q15_t *pYData, q31_t *pIn, q15_t *pOut, uint32_t nValues, uint32_t blockSize) |
static INLINE void | arm_linear_interp_q7 (q7_t *pYData, q31_t *pIn, q7_t *pOut, uint32_t nValues, uint32_t blockSize) |
Linear interpolation is a method of curve fitting using linear polynomials. Linear interpolation works by effectively drawing a straight line between two neighboring samples and returning the appropriate point along that line
Linear interpolation
y = y0 + (x - x0) * ((y1 - y0)/(x1-x0)) where x0, x1 are nearest values of input x y0, y1 are nearest values to output y
S
points to an instance of the Linear Interpolate function data structure. x
is the input sample value. The functions returns the output value. static INLINE void arm_linear_interp_f32 | ( | arm_linear_interp_instance_f32 * | S, |
float32_t * | pIn, | ||
float32_t * | pOut, | ||
uint32_t | blockSize | ||
) | [static] |
Process function for the floating-point Linear Interpolation Function.
[in,out] | *S | is an instance of the floating-point Linear Interpolation structure |
[in] | *pIn | input sample buffer to process. |
[out] | *pOut | points to output buffer. |
[in] | blockSize | points to number of sampels. |
Definition at line 5199 of file arm_math.h.
static INLINE void arm_linear_interp_q31 | ( | q31_t * | pYData, |
q31_t * | pIn, | ||
q31_t * | pOut, | ||
uint32_t | nValues, | ||
uint32_t | blockSize | ||
) | [static] |
Process function for the Q31 Linear Interpolation Function.
[in] | *pYData | pointer to Q31 Linear Interpolation table |
[in] | *pIn | input sample buffer to process. |
[out] | *pOut | points to output buffer. |
[in] | nValues | number of table values. |
[in] | blockSize | points to number of sampels. |
x
is in 12.20 format which contains 12 bits for table index and 20 bits for fractional part. This function can support maximum of table size 2^12.y
, (x1 - x0) is always one and (x - x0) is fractional part.Definition at line 5285 of file arm_math.h.
static INLINE void arm_linear_interp_q15 | ( | q15_t * | pYData, |
q31_t * | pIn, | ||
q15_t * | pOut, | ||
uint32_t | nValues, | ||
uint32_t | blockSize | ||
) | [static] |
Process function for the Q15 Linear Interpolation Function.
[in] | *pYData | pointer to Q15 Linear Interpolation table |
[in] | *pIn | input sample buffer to process. |
[out] | *pOut | points to output buffer. |
[in] | nValues | number of table values. |
[in] | blockSize | points to number of sampels. |
x
is in 12.20 format which contains 12 bits for table index and 20 bits for fractional part. This function can support maximum of table size 2^12.y
, (x1 - x0) is always one and (x - x0) is fractional partDefinition at line 5367 of file arm_math.h.
static INLINE void arm_linear_interp_q7 | ( | q7_t * | pYData, |
q31_t * | pIn, | ||
q7_t * | pOut, | ||
uint32_t | nValues, | ||
uint32_t | blockSize | ||
) | [static] |
Process function for the Q7 Linear Interpolation Function.
[in] | *pYData | pointer to Q7 Linear Interpolation table |
[in] | *pIn | input sample buffer to process. |
[out] | *pOut | points to output buffer. |
[in] | nValues | number of table values. |
[in] | blockSize | points to number of sampels. |
x
is in 12.20 format which contains 12 bits for table index and 20 bits for fractional part. This function can support maximum of table size 2^12.Definition at line 5450 of file arm_math.h.