После прочтения большого количества исследований и работ по теме у меня все еще есть проблемы с применением FFT для данных акселерометра. Большая часть моего кода взята из официального примера MATLAB: FFT for one dimension. После большего чтения я нашел этот вопрос: FFT and accelerometer data: why am I getting this output?, где было предложено использовать оконный режим. Поэтому после некоторого большего чтения я добавил окно hamming к моему коду.Акселерометр с FFT - странный вывод
Мои данные выглядят, что на участке:
И это код, который я использую для быстрого преобразования Фурье:
fs = 1/0.02; %0.02 comes from picking sample each 20ms
m = size(data,1);
w = hanning(m);
yw = w.*data;
n = pow2(nextpow2(yw));
y = fft(yw,size(n,1));
f = (0:size(n,1)-1)*(fs/size(n,1));
power = y.*conj(y)/size(n,1);
figure
plot(f,power)
Проблема заключается в том, что мой сюжет из этого кода выглядит следующим образом:
Может кто-нибудь сказать мне, что не так с моим кодом? Честно говоря, я бы исключал, что это будет выглядеть лучше (примерно так: http://imgur.com/wGs43), поэтому я задаю этот вопрос.
EDIT: Мои данные можно найти здесь: https://dl.dropboxusercontent.com/u/58774274/exp.txt
изменить 'n = pow2 (nextpow2 (length (yw)));' и 'fft (yw, n)' посмотреть, есть ли улучшения. – Rashid
У вашей 'f' также есть проблемы. Если бы вы могли поделиться своими данными, было бы легче помочь. – Rashid
@ Kamtal Изменение данных линий не улучшилось - график был пуст (ось была видна). Я добавил свои данные. – sebap123