Continuous Time Fourier Transform of a signal matrix
Afficher commentaires plus anciens
I have a matrix of 100 rows and 2 columns. Column 1 consists of time signal at frequency 50Hz (0.02 0.04 0.06...) column 2 is signal whose fft is to be determined. I would like to have a function that determines the Fourier transform of the signal at the frequency determined by the 1st column of the matrix.
Réponse acceptée
Plus de réponses (3)
Wayne King
le 28 Juil 2012
Modifié(e) : Wayne King
le 28 Juil 2012
You stated in your original post that your matrix had an even number of elements, 100x2. In fact your matrix is 9079x2. You data also has a mean which is nonzero so that will make the 0 frequency component very large, it's better to remove the mean first.
x = data(:,2);
x = detrend(x,0);
len = length(x)
t = 0:0.02:(len*0.02)-0.02;
xdft = fft(x);
xdft = xdft(1:(length(xdft)+1)/2);
freq = 0:50/len:25;
plot(freq,abs(xdft))
xlabel('Hz'); ylabel('Magnitude')
1 commentaire
Anubhav Rohatgi
le 28 Juil 2012
Modifié(e) : Anubhav Rohatgi
le 28 Juil 2012
Anubhav Rohatgi
le 28 Août 2012
0 votes
Juhi Maraskole
le 16 Sep 2020
0 votes
x(t) = e-AT
Catégories
En savoir plus sur Fast Fourier Transforms dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!