sin

Sine of fixed-point values

Description

example

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

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.

collapse all

Sine

The sine of angle Θ is defined as

$\mathrm{sin}\left(\theta \right)=\frac{{e}^{i\theta }-{e}^{-i\theta }}{2i}$

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.

fimath Propagation Rules

The sin function ignores and discards any fimath attached to the input, theta. The output, y, is always associated with the default fimath.

Extended Capabilities

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