Быстрое преобразование Фурье и окно Хэмминга
Мне нужна помощь с реализацией FFT в окне Хэмминга для поиска пика на графике / графике (определение спектральной фазовой функции). На данный момент я знаю, как пометить все пики на моем графике, а также как загрузить все файлы из папки на одном графике. И теперь самое главное - найти окно по окну БПФ. Сейчас самое важное для меня - просто внедрить это в мой сценарий или показать, как это сделать. Когда я понимаю это, я могу изменить это, чтобы искать пик, который я хочу.
Мой код:
folder = 'C:\Users\an\Desktop\Materialy\';
files = dir(fullfile(folder,'*.dat'));
files_len = numel(files);
if (files_len == 0)
return;
end
figure(1);
file = fullfile(folder,files(1).name);
[lam,I] = read_spectrum(file);
lam = lam * 1e-3;
plot(lam,I);
if (files_len > 1)
hold on;
for i = 2:files_len
file = fullfile(folder,files(i).name);
[lam,I] = read_spectrum(file);
lam = lam * 1e-3;
plot(lam,I);
end
hold off;
end
1 ответ
Шаги для вас:
рассчитать вес окна Хэмминга для вашего размера массива
умножить данные на вес Хэмминга
сделать БПФ
В языке общего назначения я использую HW таким образом (N - размер массива):
Re[i] := Re[i] * (0.54-0.46*cos(2*Pi*i/N));
Но кажется, что в Matlab у вас есть готовая функция