# Inverse DST (G Dataflow)

Version:

Computes the inverse Discrete Sine Transform (DST) of a sequence.

## DST{x}

The real input sequence.

This input can be a 1D or 2D array of double-precision, floating-point numbers.

## error in

Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.

Default: No error

## x

The inverse DST of the real input sequence.

## error out

Error information. The node produces this output according to standard error behavior.

## Algorithm Definition for 1D Inverse DST

If y represents a 1D array as the input sequence DST{x}, the one-dimensional inverse Discrete Sine Transform of y is defined as:

${x}_{n}=\frac{2}{N+1}\underset{k=0}{\overset{N-1}{\sum }}{y}_{k}\mathrm{sin}\frac{\pi \left(k+1\right)\left(n+1\right)}{N+1}$

where

• N is the length of DST{x}
• yk is the kth element of DST{x}
• xn is the nth element of x

This node applies a fast inverse DST algorithm instead of calculating the inverse Discrete Sine Transform directly. This node implements the fast inverse DST algorithm using an FFT-based technique.

## Algorithm Definition for 2D Inverse DST

If y represents a 2D array as the input sequence DST{x}, the two-dimensional inverse Discrete Sine Transform of y is defined as:

$x\left(m,\text{\hspace{0.17em}}n\right)=\frac{2}{M+1}\frac{2}{N+1}\underset{u=0}{\overset{M-1}{\sum }}\underset{v=0}{\overset{N-1}{\sum }}y\left(u,\text{\hspace{0.17em}}v\right)\mathrm{sin}\frac{\pi \left(u+1\right)\left(u+1\right)}{N+1}\mathrm{sin}\frac{\pi \left(v+1\right)\left(v+1\right)}{M+1}$

where

• M is the number of rows of DST{x}
• N is the number of columns of DST{x}
• x(m, n) is the element of the output matrix x with row number m and column number n
• y(u, v) is the element of DST{x} with row number u and column number v

This node performs a two-dimensional inverse DST using the following two steps:

1. Perform a one-dimensional inverse DST row-by-row on DST{x}. The output is Y'.
2. Perform a one-dimensional inverse DST column-by-column on Y'. The output is x.

Where This Node Can Run:

Desktop OS: Windows

FPGA: Not supported