tf.signal.dct
Вычисляет одномерное дискретное косинусное преобразование (DCT) input.
tf.signal.dct(
input, type=2, n=None, axis=-1, norm=None, name=None
)
Поддерживаются типы I, II, III и IV. Тип I реализован с помощью tf.signal.rfft с дополнением до длины 2N. Тип II реализован с помощью tf.signal.rfft с дополнением до длины 2N, как описано здесь: DCT типа II с использованием БПФ длины 2N с дополнением (Makhoul). Тип III — это достаточно простой обратный вариант типа II (то есть используется tf.signal.irfft с дополнением до длины 2N). Тип IV вычисляется посредством DCT2 сигнала с дополнением до длины 2N с последующим выбором элементов с нечётными индексами.
| Аргументы | |
|---|---|
input | [..., samples] float32/float64 Tensor, содержащий сигналы, для которых нужно вычислить DCT. |
type | Тип выполняемого DCT. Должен быть равен 1, 2, 3 или 4. |
n | Длина преобразования. Если длина меньше длины последовательности, для DCT учитываются только первые n элементов последовательности. Если n больше длины последовательности, последовательность дополняется нулями, после чего DCT вычисляется обычным образом. |
axis | Предусмотрено для будущего расширения. Ось, вдоль которой вычисляется DCT. Должна быть -1. |
norm | Применяемая нормализация. None — без нормализации, 'ortho' — ортонормированная нормализация. |
name | Необязательное имя операции. |
| Возвращает | |
|---|---|
[..., samples] float32/float64 Tensor, содержащий DCT для input. |
| Вызывает исключения | |
|---|---|
ValueError | Если type не является 1, 2, 3 или 4, axis не является -1, n не является None или больше 0 либо norm не является None или 'ortho'. |
ValueError | Если type равно 1 и norm равно ortho. |
Совместимость с SciPy
Эквивалентно scipy.fftpack.dct для DCT типов I, II, III и IV.
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/signal/dct