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.md