how do you plot fft of each sensor for both test

t1=load('201710h1.lvm'); %test 1
t2=load('201710h2.lvm'); %test 2
subplot(3,2,1);
x= t1 (:,1); % time in test 1
sin = t1 (:,2); % sensor 1 in test 1
plot (x,sin)
title('test 1 sensor 1 against time')
xlabel('time')
ylabel('Sesnor1')
subplot(3,2,3);
x1= t1 (:,1);
sin1 = t1 (:,3);
plot (x1,sin1)
title('test 1 sensor 2 against time')
xlabel('time')
ylabel('Sesnor2')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
subplot(3,2,2);
x2= t2 (:,1);
sin2 = t2 (:,2);
plot (x2,sin2)
title('test 2 sensor 1 against time')
xlabel('time')
ylabel('Sesnor1')
subplot(3,2,4);
x3= t2 (:,1);
sin3 = t2 (:,3);
plot (x3,sin3)
title('test 2 sensor 2 against time')
xlabel('time')
ylabel('Sesnor2')

 Réponse acceptée

Hrishikesh Borate
Hrishikesh Borate le 17 Nov 2020

1 vote

Hi,
I understand that you want to calculate and plot FFT for each sensor for both the tests. According to the code shared, these values are stored in variables: sin, sin1, sin2, sin3.
You can use the fft function for the same.

2 commentaires

so take fft of sin1 and so on? i.e
y= fft (sin1);
Yes, correct.

Connectez-vous pour commenter.

Plus de réponses (1)

Zeshan, you have all your data in a numeric array, t1. I strongly recommend that you convert that to a timetable. Then your plot is simple. I don't know what units your times are in, but something like
tt = array2timetable(t1(:,2:end),'RowTimes',seconds(t1(:,1));
stackedplot(tt)

Catégories

En savoir plus sur Fourier Analysis and Filtering dans Centre d'aide et File Exchange

Produits

Version

R2020b

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by