Неожиданная долина в преобразовании Фурье с использованием Scipy FFT - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь выполнить Scipy FFT для моего набора данных.По сути, у меня есть ускорение во временной области (полученное численно), и я просто пытаюсь выполнить преобразование Фурье, чтобы получить спектр.У меня есть теоретическое выражение для ускорения, преобразованного Фурье в пределе малых и больших частот.Для большой частоты ускорение, преобразованное Фурье, должно уменьшаться экспоненциально.Тем не менее, я получаю долину на графике после начального распада.Ниже приведены мой код и график enter image description here

a_w = []
for k in range(len(b)): # b is paramter to be varied
 window = signal.kaiser(N, 30) # I am not sure about using Kaiser wind
 ft = fft(solaccarr[k]*window)
 ft = np.abs(ft[:N // 2])*1/N
 freq = fftfreq(N, T)[:N // 2]
 xf = np.linspace(0.0, 1.0 / (2.0 * float(T)), N // 2)
 a_w.append(ft)

Я строю график в логарифмическом масштабе.Мой вопрос заключается в том, можно ли избавиться от изломов в графе путем соответствующего использования окон или любых других методов?Вот набор данных , который я использовал

1 Ответ

0 голосов
/ 14 февраля 2019

Эти долины могут соответствовать концу основного лепестка окна Кайзера после перевода.

Если входной сигнал имеет конечное число скважинопределенные частоты (например, сумма двух синусоид), его преобразование Фурье представляет собой гребень Дирака.Умножение сигнала и окна соответствует свертыванию преобразования DFT сигнала посредством преобразования DFT окна.Поскольку свертка с сигналом Дирака соответствует переводу, результатом процесса является конечная сумма преобразованных DFT-преобразований окна.

Преобразование окна Кайзера имеет основной лепесток и боковые лепестки, разделенные такимидолины.Следовательно, результат может также включать в себя перевод долин.Это можно проверить, изменив 30 в window = signal.kaiser(N, 30): не могли бы вы попробовать цифры вроде 0, 5, 6 и 8.6?Это должно перевести долину слева направо или справа налево, поскольку это изменяет ширину основной доли.

Если вы просто хотите избавиться от глубоких долин, вы можете исследовать экспоненциальное окно , в конечном итоге объединенное с окном Ганна для формирования Ганна -Пуассоновское окно .В этом окне нет боковых лепестков.

Наконец, если ваш сигнал периодический и длина кадра кратна периоду, окно не нужно!

...