tf.signal.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 | Вызываемый объект, принимающий frame_length и именованный аргумент 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