Как получить волновое число БПФ? - PullRequest
0 голосов
/ 23 июня 2019

У меня есть серия из 192 данных в области 3,14 (м). Я использую команду «FFT» для построения энергетического спектра. Как рассчитать волновое число (k) каждой сетки?

Код:

data= load('data.txt');
PHI = fft(data);
% K=?? ;
%loglog(K,abs(PHI));

1 Ответ

0 голосов
/ 01 июля 2019

Волновые числа - это пространственно распределенные частоты с равномерным разнесением, полученные аналогично частотам бинтов FFT для временных сигналов . Таким образом, вы можете вычислить их, используя следующее:

K = [0:(len(data)-1)]/len(data) * (192/3.14);

Обратите внимание, что это дает значимые волновые числа вплоть до предела Найквиста len(data)/2 - 1. Вы можете предпочесть использовать отрицательные волновые числа:

N = len(data);
K = [[0:(floor(N/2)-1)] ; [floor(N/2):(N-1)]-N]/N * (192/3.14);
...