tf.signal.mdct
Вычисляет модифицированное дискретное косинусное преобразование (MDCT) signals.
tf.signal.mdct(
signals,
frame_length,
window_fn=tf.signal.vorbis_window,
pad_end=False,
norm=None,
name=None
)
Реализовано с помощью совместимых с TPU/GPU операций и поддерживает градиенты.
| Аргументы | |
|---|---|
signals | Массив [..., samples] float32/float64 Tensor действительных сигналов. |
frame_length | Скалярное целое число Tensor. Длина окна в выборках, которая должна быть кратна 4. |
window_fn | Функция, которая принимает длину кадра и ключевое слово dtype и возвращает массив [frame_length] Tensor выборок в указанном типе данных. Если установлено None, используется прямоугольное окно со масштабом 1/sqrt(2). Для идеального восстановления сигнала из mdct и inverse_mdct, пожалуйста, используйте tf.signal.vorbis_window, tf.signal.kaiser_bessel_derived_window или None. При использовании другой функции окна убедитесь, что w[n]^2 + w[n + frame_length // 2]^2 = 1 и w[n] = w[frame_length - n - 1] для n = 0,...,frame_length // 2 - 1, чтобы достичь идеального восстановления. |
pad_end | Должен ли конец signals заполняться нулями, когда предоставленная длина кадра и шаг дают кадр, частично выходящий за его пределы. |
norm | Если None, используется ненормализованное dct4, если "ortho" — ортогональное dct4. |
name | Необязательное имя операции. |
| Возвращаемое значение | |
|---|---|
Массив [..., frames, frame_length // 2] Tensor значений MDCT float32/float64, где frames приблизительно samples // (frame_length // 2) когда pad_end=False. |
| Исключения | |
|---|---|
ValueError | Если signals не имеет хотя бы ранг 1, frame_length не скалярное или frame_length не кратно 4. |
© 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/versions/r2.9/api_docs/python/tf/signal/mdct