Dites que j'ai effectué FFT sur un ensemble de données et j'ai les valeurs de fréquence et d'amplitude. Je veux trouver l'amplitude la plus élevée dans chaque bloc FFT. Je dois trouver la fréquence et l'amplitude des points qui sont au moins 0,4 fois l'amplitude maximale et les enregistrer dans un tableau .. Comment puis-je faire cela ?? J'ai essayé la méthode suivante, je continue à obtenir une matrice vide ....Comment stocker des valeurs dans une matrice dans MATLAB
% the code after FFT
peak_points = [];
fmin = 60;
fmax = 1000;
region_of_interest = fmax>f & f>fmin;
froi = f(region_of_interest);
[p_max,loc] = max(seg_fft2(region_of_interest));
p_max;
fpeaks = froi(loc);
[points, locatn] = findpeaks(seg_fft2(region_of_interest));
if points > 0.4*p_max
peak_points = [peak_points ; points locatn]
end
Im mauvais avec des tableaux .. Donc, je ne peux pas semblent comprendre cela. J'apprécierais l'aide de quelqu'un dans ceci ... Merci d'avance ...
Eh bien, je besoin de considérer que la région entre 60 Hz et 100 Hz et trouver le maximum dans cette région. La ligne 'region_of_interest = fmax> f & f> fmin;' définit cette région, donc seg_fft2 est fait sur ce ... – user2482542
Merci. Cela fonctionne très bien pour détecter les amplitudes correctes. Cependant 'locatn (aboveMax)' ne me donne pas la fréquence du point. Que puis-je faire pour obtenir la valeur de fréquence? – user2482542