![]() |
Computes the 1D Discrete Cosine Transform (DCT) of input
.
Aliases:
tf.signal.dct(
input,
type=2,
n=None,
axis=-1,
norm=None,
name=None
)
Currently only Types I, II and III 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
).
Args:
input
: A[..., samples]
float32
Tensor
containing the signals to take the DCT of.type
: The DCT type to perform. Must be 1, 2 or 3.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
Tensor
containing the DCT of input
.
Raises:
ValueError
: Iftype
is not1
,2
or3
,axis
is not-1
,n
is notNone
or greater than 0, ornorm
is notNone
or'ortho'
.ValueError
: Iftype
is1
andnorm
isortho
.
Scipy Compatibility
Equivalent to scipy.fftpack.dct for Type-I, Type-II and Type-III DCT.