#python #signal-processing #fft #torch
Вопрос:
Я пытаюсь что-то сделать с DSP, и мне нужно преобразовать кадр в одну ячейку, а затем восстановить кадр из этой ячейки. Вот минимальный пример:
import torch import matplotlib.pyplot as plt frame = torch.rand(1536) bin = torch.stft(frame, n_fft=frame.shape[0], hop_length=frame.shape[0], center=False, return_complex=True, window=torch.hann_window(frame.shape[0])) rest_frame = torch.istft(bin, n_fft=frame.shape[0], hop_length=frame.shape[0], center=False, return_complex=True, window=torch.hann_window(frame.shape[0])) plt.plot(rest_frame-frame) plt.show()
Я ожидал получить тот же кадр, но вместо этого я получил
RuntimeError: Cannot have onesided output if window or input is complex
в истфте. torch.stft производит контейнер, который мне нужен, но я все еще не могу заставить istft работать. Что я делаю не так?