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/api_docs/python/tf/signal/mdct