IT++
4.3.1
|
One dimensional Dicrete Cosine Transform. More...
Functions | |
ITPP_EXPORT bool | itpp::have_cosine_transforms () |
Run-time test if library is built with cosine transforms enabled. | |
ITPP_EXPORT void | itpp::dct (const vec &in, vec &out) |
Discrete Cosine Transform (DCT) | |
ITPP_EXPORT vec | itpp::dct (const vec &in) |
Discrete Cosine Transform (DCT) | |
ITPP_EXPORT vec | itpp::dct (const vec &in, const int N) |
Discrete Cosine Transform (DCT) with zero-padding up to size N. More... | |
ITPP_EXPORT void | itpp::idct (const vec &in, vec &out) |
Inverse Discrete Cosine Transform (IDCT) | |
ITPP_EXPORT vec | itpp::idct (const vec &in) |
Inverse Discrete Cosine Transform (IDCT) | |
ITPP_EXPORT vec | itpp::idct (const vec &in, const int N) |
Inverse Discrete Cosine Transform (IDCT) with zero-padding up to size N. More... | |
One dimensional Dicrete Cosine Transform.
The functions
and
are the dicrete cosine and inverse discrete cosine transforms of size N defined as:
\[ X(k) = w(k) \sum_{j=0}^{N-1} x(j) \cos \left(\frac{(2j+1)k \pi}{2N} \right) \]
\[ x(j) = \sum_{k=0}^{N-1} w(k) X(k) \cos \left(\frac{(2j+1)k \pi}{2N} \right) \]
where \(w(k) = 1/sqrt{N}\) for \(k=0\) and \(w(k) = sqrt{2/N}\) for \(k\geq 1\).
The implementation is built upon one of the following libraries:
ITPP_EXPORT vec itpp::dct | ( | const vec & | in, |
const int | N | ||
) |
Discrete Cosine Transform (DCT) with zero-padding up to size N.
First N points of input vector are used to perform the transform if N < length(in). Padding with 0's is performed if N > length(in).
ITPP_EXPORT vec itpp::idct | ( | const vec & | in, |
const int | N | ||
) |
Inverse Discrete Cosine Transform (IDCT) with zero-padding up to size N.
First N points of input vector are used to perform the transform if N < length(in). Padding with 0's is performed if N > length(in).