Как мне получить соответствующие значения частоты для моих данных после БПФ?

#python #arrays #numpy #fft

Вопрос:

У меня есть следующий набор данных в нормальном пространстве, назовем его func :введите описание изображения здесь я преобразовал его в пространство фурье с помощью алгоритма numpy fft from numpy.fft import fft as fourier , я получил форму фурье с использованием func_fourier = np.fft.fftshift(fourier(func)) и построил абсолютные значения plt.plot(np.abs(func_fourier)) , что приводит к следующему графику:введите описание изображения здесь.

Теперь я хочу подогнать гауссову модель к этой функции в фурьевом пространстве. Проблема в том, что у меня нет значений x(частот), по которым я мог бы построить свой func_fourier график. Как мне создать правильный частотный массив в пространстве фурье, который мне также нужен для подгонки гауссовой модели к моей преобразованной функции ?

Комментарии:

1. как вы составили свой func план ? может 400-2000 быть, используется диапазон ? тогда какова используемая частота дискретизации ? см. numpy.fft.fftfreq

2. Вы искали эту проблему? Что ты получил?

Ответ №1:

Значения x по умолчанию создаются следующим образом:

 frequencies = list(range(len(y)))
 

Примечание: Согласно вашему объяснению, ваши преобразованные значения Фурье хранятся в func_fourier, поэтому значение y равно func_fourier .

Комментарии:

1. вы имеете в виду значения x по умолчанию в функции plt.plot (), которые создаются, если вы опустите первый аргумент, например plt.plot(y) ?

2. @trynerror Меня не было в офисе, поэтому я не смог отредактировать комментарий. Смотрите обновленный ответ.