Быстрое преобразование Фурье и окно Хэмминга

Мне нужна помощь с реализацией 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 у вас есть готовая функция

Другие вопросы по тегам