Continuous Time Fourier Transform of a signal matrix
Show older comments
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.
Accepted Answer
More Answers (3)
Wayne King
on 28 Jul 2012
Edited: Wayne King
on 28 Jul 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 Comment
Anubhav Rohatgi
on 28 Jul 2012
Edited: Anubhav Rohatgi
on 28 Jul 2012
Anubhav Rohatgi
on 28 Aug 2012
0 votes
Juhi Maraskole
on 16 Sep 2020
0 votes
x(t) = e-AT
Categories
Find more on Fast Fourier Transforms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!