Я хочу принять БПФ из 10 измерений. Это означает, что у меня есть 10 строк в моих данных, каждая строка имеет размерность [1 * 2000]. В приведенном ниже коде я делаю неправильный путь. Может ли кто-нибудь сказать мне, какую ошибку я делаю?Преобразование Фурье нескольких строк
load('fb2010'); % loading the data
x = fb2010(3:1:15,:);
y_filt = filter(b,a,x); % filtering the received signal
%%%%%%% Fourier transform
nfft = length(y_filt);
for i = 1:10
res(i,:) = fft(y_filt(i,:),nfft)/ nfft; %%%% Taking first fft and normalizing it
end
res2 = res(:,1:nfft/2+1); %%%% taking single sided spectrum
f = fs/2*linspace(0,1,nfft/2+1); % choosing correct frequency axes
figure, plot(f,abs(res2));
Что не так с вашим кодом? – TDG
это дает неверный fft. Используя этот цикл for, некоторые строки имеют правильный fft, а некоторые из них имеют неправильные результаты fft. –