Как сопоставить соответствующие данные с np.fft с положительными значениями np.fft.fftfreq - PullRequest
0 голосов
/ 18 июня 2020

Я использую np.fft и np.fft.fftfreq. Когда я использую np.fft.fftfreq, он создает сопряженный массив симметричных c значений частоты, как и ожидалось.

Для построения графика я беру только положительные значения из этого массива. Как мне создать массив соответствующих значений сигнала, к которому был применен np.fft? Таким образом, я могу нанести (положительную) частоту на ось x, а соответствующий преобразованный сигнал Фурье - на ось y.

1 Ответ

1 голос
/ 18 июня 2020

При выполнении этой задачи я использую следующую функцию:

def get_fft(y, frequency):
    y_fft = np.fft.fft(y)
    y_fft = np.abs(y_fft)
    x_fft = np.fft.fftfreq(len(y_fft), frequency)
    x_fft = x_fft[:len(x_fft) // 2]
    y_fft = y_fft[:len(y_fft) // 2]

    return x_fft, y_fft

Это вам поможет?

...