@w0lkolak

Как сделать универсальный скрипт с fft(matlab)?

Поискал готовые примеры использования fft, но они оказались совсем не универсальными, вот неплохой пример. Отредактировал его на индусском, так чтобы он работал для разных диапазонов времени и без хемминга - не умею работать с фильтрами. Частоты меньше 1Гц не видно, а мне нужно обнаруживать и низкие и высокие частоты. Обнаруживаются частоты менее 1Гц здесь, однако пример работает только для низких частот и вообще кажется халтурой. Как доработать код? Что сделать с массивом "f"?
clear all; close all; clc;
 
Fs = 500;
t = 0:1/Fs:0.4-1/Fs;
s = 3*sin(2*pi*50*t) + 2*sin(2*pi*0.5*t);
plot(t, s)
 
f=0:length(t)/2-1; 

sp=4*abs(fft(s/length(t),length(t)/2));

f=f*Fs./length(f);
it=sp(1:end);
figure; plot(f, it);
  • Вопрос задан
  • 746 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы