Main Content

sin

Sine of fixed-point values

Description

y = sin(theta) returns the sine of fi input theta using a lookup table algorithm.

example

Examples

collapse all

theta = fi([-pi/2,-pi/3,-pi/4,0,pi/4,pi/3,pi/2]);
y = sin(theta)
y = 
   -1.0000   -0.8661   -0.7072         0    0.7070    0.8659    0.9999

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 15

Input Arguments

collapse all

Input angle in radians, specified as a real-valued fi object. theta can be a signed or unsigned scalar, vector, matrix, or multidimensional array containing the fixed-point angle values in radians. Valid data types of theta are:

  • fi single

  • fi double

  • fi fixed-point with binary point scaling

  • fi scaled double with binary point scaling

Data Types: fi

Output Arguments

collapse all

Sine of input angle, returned as a scalar, vector, matrix, or multidimensional array. y is a signed, fixed-point number in the range [-1,1].

If the DataTypeMode property of theta is Fixed-point: binary point scaling, then y is returned as a signed fixed-point data type with binary point scaling, a 16-bit word length, and a 15-bit fraction length (numerictype(1,16,15)). If theta is a fi single, fi double, or fi scaled double with binary point scaling, then y is returned with the same data type as theta.

More About

collapse all

Algorithms

collapse all

The sin function computes the sine of fixed-point input using an 8-bit lookup table as follows:

  1. Perform a modulo 2π, so the input is in the range [0,2π) radians.

  2. Cast the input to a 16-bit stored integer value, using the 16 most-significant bits.

  3. Compute the table index, based on the 16-bit stored integer value, normalized to the full uint16 range.

  4. Use the 8 most-significant bits to obtain the first value from the table.

  5. Use the next-greater table value as the second value.

  6. Use the 8 least-significant bits to interpolate between the first and second values, using nearest-neighbor linear interpolation.

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2012a

See Also

| | | | |