tf.signal.dct
| View source on GitHub |
Computes the 1D Discrete Cosine Transform (DCT) of input.
tf.signal.dct(
input, type=2, n=None, axis=-1, norm=None, name=None
)
Types I, II, III and IV are supported. Type I is implemented using a length 2N padded tf.signal.rfft. Type II is implemented using a length 2N padded tf.signal.rfft, as described here: Type 2 DCT using 2N FFT padded (Makhoul). Type III is a fairly straightforward inverse of Type II (i.e. using a length 2N padded tf.signal.irfft). Type IV is calculated through 2N length DCT2 of padded signal and picking the odd indices.
| Args | |
|---|---|
input | A [..., samples] float32/float64 Tensor containing the signals to take the DCT of. |
type | The DCT type to perform. Must be 1, 2, 3 or 4. |
n | The length of the transform. If length is less than sequence length, only the first n elements of the sequence are considered for the DCT. If n is greater than the sequence length, zeros are padded and then the DCT is computed as usual. |
axis | For future expansion. The axis to compute the DCT along. Must be -1. |
norm | The normalization to apply. None for no normalization or 'ortho' for orthonormal normalization. |
name | An optional name for the operation. |
| Returns | |
|---|---|
A [..., samples] float32/float64 Tensor containing the DCT of input. |
| Raises | |
|---|---|
ValueError | If type is not 1, 2, 3 or 4, axis is not -1, n is not None or greater than 0, or norm is not None or 'ortho'. |
ValueError | If type is 1 and norm is ortho. |
Scipy Compatibility
Equivalent to scipy.fftpack.dct for Type-I, Type-II, Type-III and Type-IV DCT.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/signal/dct