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, чтобы огибающая, созданная суммированием всех окон, никогда не была равна нулю в определённый момент времени. В частности, .Поскольку
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(), может быть комплексным (channel,fft_size,n_frame) или вещественным (channel,fft_size,n_frame, 2), где размерностьchannelнеобязательна.Устарело начиная с версии 1.8.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]) – Необязательная функция окна. (По умолчанию:
torch.ones(win_length)) -
center (bool) – Был ли
inputзаполнен с обеих сторон, чтобы -й кадр был центрирован во времени . (По умолчанию:True) -
normalized (bool) – Был ли STFT нормализован. (По умолчанию:
False) -
onesided (Optional[bool]) – Был ли STFT односторонним. (По умолчанию:
Trueеслиn_fft != fft_sizeв размере входных данных) - length (Optional[int]) – Количество элементов для обрезки сигнала (т.е. исходная длина сигнала). (По умолчанию: весь сигнал)
-
return_complex (Optional[bool]) – Должен ли вывод быть комплексным, или ввод должен предполагаться полученным от действительного сигнала и окна. Обратите внимание, что это несовместимо с
onesided=True. (По умолчанию:False)
-
- Returns:
-
Оценку исходного сигнала по методу наименьших квадратов размера (…, signal_length)
- Return type:
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.istft.html