I have I and Q data in time but I need to plot them in frequency
41 views (last 30 days)
Show older comments
I have I & Q data in the time domain (all numbers are between +/- 1) And I can plot the time domain representation with.
figure ; plot(1:length(in_i),in_i) ; hold on ; plot(1:length(in_q), in_q); hold off;
which gives me the following :
However I need to look at the frequency domain of these values to see if it is displaying the correct frequencies that I belvie it should be. Is there a way to do this?
1 Comment
Answers (1)
John Chilleri
on 26 Jan 2017
Hello,
Your solution lies within your tags. The Fourier transform is a way to change a signal from its original domain to a representation in the frequency domain [ WIKI ].
To change your data to the frequency domain, you can:
Q2 = fft(Q);
I2 = fft(I);
Hope this helps!
4 Comments
Walter Roberson
on 27 Jan 2017
data = dlmread('data_capture.txt', '\t', 2);
in_q = data(:,3);
in_i = data(:,4);
fin_q = fft(in_q);
fin_i = fft(in_i);
nnz(isnan(fin_q)) %gives 0 -- none of the values are nan
nnz(isnan(fin_i)) %gives 0 -- none of the values are nan
subplot(1,2,1); plot(abs(fin_q)); title('abs fft of in_q');
subplot(1,2,2); plot(abs(fin_i)); title('abs fft of in_i');
See Also
Categories
Find more on Fourier Analysis and Filtering 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!