Spec-Zone.ru › PyTorch 2

torch.istft

torch.istft(input, n_fft, hop_length=None, win_length=None, window=None, center=True, normalized=False, onesided=None, length=None, return_complex=False) → Tensor:

Обратное преобразование Фурье в коротких интервалах. Ожидается, что это обратное преобразование к stft().

У него те же параметры (+ дополнительный необязательный параметр length) и он должен возвращать оценку исходного сигнала методом наименьших квадратов. Алгоритм проверит условие NOLA (ненулевое перекрытие).

Важно учесть параметры window и center, чтобы огибающая, созданная суммированием всех окон, никогда не была равна нулю в какой-то момент времени. В частности, ∑t=−∞∞∣w∣2[n−t×hop_length]=0\sum_{t=-\infty}^{\infty} |w|^2[n-t\times hop\_length] \cancel{=} 0.

Поскольку stft() отбрасывает элементы в конце сигнала, если они не помещаются в кадр, istft может вернуть более короткий сигнал, чем исходный сигнал (это может произойти, если center равно False, так как сигнал не дополняется). Если length указан в аргументах и длиннее ожидаемого, istft дополнит нулями конец возвращаемого сигнала.

Если center равно True, то будет добавлено заполнение, например 'constant', 'reflect', и т.д. Левое заполнение можно точно обрезать, потому что его можно вычислить, но правое заполнение нельзя вычислить без дополнительной информации.

Пример: Предположим, что последнее окно: [17, 18, 0, 0, 0] против [18, 0, 0, 0, 0]

n_fft, hop_length, win_length все одинаковы, что предотвращает вычисление правого заполнения. Эти дополнительные значения могут быть нулями или отражением сигнала, поэтому предоставление length может быть полезным. Если length равно None, то заполнение будет агрессивно удалено (некоторая потеря сигнала).

[1] D. W. Griffin and J. S. Lim, “Signal estimation from modified short-time Fourier transform,” IEEE Trans. ASSP, vol.32, no.2, pp.236-243, Apr. 1984.

Parameters
  • input (Tensor) –

    Входной тензор. Ожидается, что он будет в формате stft(), output. Это комплексный тензор формы (B?, N, T), где

    • B? — необязательное пакетное измерение
    • N — количество частотных выборок, (n_fft // 2) + 1 для одностороннего ввода, или иначе n_fft.
    • T — количество кадров, 1 + length // hop_length для центрированного stft, или 1 + (length - n_fft) // hop_length в противном случае.

    Изменено в версии 2.0: Ввод вещественного типа данных больше не поддерживается. Входной тип данных теперь должен быть комплексным, как возвращается stft(..., return_complex=True).

  • n_fft (int) – Размер преобразования Фурье
  • hop_length (Optional[int]) – Расстояние между соседними кадрами скользящего окна. (По умолчанию: n_fft // 4)
  • win_length (Optional[int]) – Размер кадра окна и фильтра STFT. (По умолчанию: n_fft)
  • window (Optional[torch.Tensor]) – Необязательная функция окна. Форма должна быть 1d и <= n_fft (По умолчанию: torch.ones(win_length))
  • center (bool) – Является ли input заполненным с обеих сторон, чтобы кадр tt-й был центрирован во времени t×hop_lengtht \times \text{hop\_length}. (По умолчанию: True)
  • normalized (bool) – Был ли STFT нормализован. (По умолчанию: False)
  • onesided (Optional[bool]) – Был ли STFT односторонним. (По умолчанию: True если n_fft != fft_size в размере входных данных)
  • length (Optional[int]) – Количество обрезания сигнала (т.е. исходная длина сигнала). По умолчанию (T - 1) * hop_length для центрированного stft или n_fft + (T - 1) * hop_length в противном случае, где T — количество входных кадров.
  • return_complex (Optional[bool]) – Требуется ли комплексное значение в выходе или ожидается, что вход был получен из вещественного сигнала и окна. Обратите внимание, что это несовместимо с onesided=True. (По умолчанию: False)
Returns
Least squares estimation of the original signal of shape (B?, length) where

B? — необязательное пакетное измерение из входного тензора.

Return type

Tensor

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.istft.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API