DST

Advanced Analysis Library Only

AnalysisLibErrType DST (double inputArray[], int numberOfElements, int numberOfElementsInDST, double outputArray[]);

Purpose

Computes the one-dimensional Discrete Sine Transform (DST) of a sequence inputArray, which is defined as follows:

and

where N is the length of inputArray
is the n-th element of inputArray
is the k-th element of outputArray
The function applies the fast DST algorithm instead of calculating the DST directly. The fast DST algorithm is implemented using the Fast Fourier Transform (FFT) technique.

Parameters

Input
Name Type Description
inputArray double-precision array The input sequence.
numberOfElements integer The number of elements in inputArray.
numberOfElementsInDST integer The length of the DST to be performed. If numberOfElementsInDST is greater than numberOfElements, the function pads inputArray with zeros to make its number of elements equal numberOfElementsInDST. If numberOfElementsInDST is less than numberOfElements, inputArray is truncated. That is, only the leading numberOfElementsInDST elements in inputArray are used to perform the DST. If numberOfElementsInDST is less than or equal to zero, the function uses numberOfElements as numberOfElementsInDST.
Output
Name Type Description
outputArray double-precision array The DST of inputArray.

Return Value

Name Type Description
status AnalysisLibErrType A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.