CMSIS-DSP: Cosine

| CMSIS-DSP Version 1.10.0 CMSIS DSP Software Library

- Main Page
- Usage and Description
- Reference

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
Cosine
Fast Math Functions

## Functions

float32_t | arm_cos_f32 (float32_t x)
| Fast approximation to the trigonometric cosine function for floating-point data. More...
q31_t | arm_cos_q31 (q31_t x)
| Fast approximation to the trigonometric cosine function for Q31 data. More...
q15_t | arm_cos_q15 (q15_t x)
| Fast approximation to the trigonometric cosine function for Q15 data. More...

## Description

Computes the trigonometric cosine function using a combination of table lookup and linear interpolation. There are separate functions for Q15, Q31, and floating-point data types. The input to the floating-point version is in radians while the fixed-point Q15 and Q31 have a scaled input with the range [0 +0.9999] mapping to [0 2*pi). The fixed-point range is chosen so that a value of 2*pi wraps around to 0.

The implementation is based on table lookup using 512 values together with linear interpolation. The steps used are:

1. Calculation of the nearest integer table index
2. Compute the fractional portion (fract) of the table index.
3. The final result equals `(1.0f-fract)*a + fract*b;`

where

       a = Table[index];
       b = Table[index+1];

end of sin group

## Function Documentation

float32_t arm_cos_f32 | ( | float32_t | x | ) |

Parameters

  [in] | x | input value in radians.

Returns
  cos(x).

Parameters

  [in] | x | input value in radians

Returns
  cos(x)

Examples:
  arm_sin_cos_example_f32.c.

q15_t arm_cos_q15 | ( | q15_t | x | ) |

Parameters

  [in] | x | Scaled input value in radians.

Returns
  cos(x).

Parameters

  [in] | x | Scaled input value in radians

Returns
  cos(x)

The Q15 input value is in the range [0 +0.9999] and is mapped to a radian value in the range [0 2*PI).

q31_t arm_cos_q31 | ( | q31_t | x | ) |

Parameters

  [in] | x | Scaled input value in radians.

Returns
  cos(x).

Parameters

  [in] | x | Scaled input value in radians

Returns
  cos(x)

The Q31 input value is in the range [0 +0.9999] and is mapped to a radian value in the range [0 2*PI).