I have I and Q data in time but I need to plot them in frequency

35 visualizzazioni (ultimi 30 giorni)
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 Commento
John BG
John BG il 27 Gen 2017
Modificato: John BG il 27 Gen 2017
where is the time reference?
is the time delay between adjacent samples known?
please spcify
John BG

Accedi per commentare.

Risposte (1)

John Chilleri
John Chilleri il 26 Gen 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 ].
MATLAB has an implementation of the fast Fourier transform named fft.
To change your data to the frequency domain, you can:
Q2 = fft(Q);
I2 = fft(I);
Hope this helps!
  4 Commenti
Steven Seppala
Steven Seppala il 26 Gen 2017
This is the file I am working with. It's a standard CSV with the in_q and in_i in the C & D col respectively.
Thank you !
Walter Roberson
Walter Roberson il 27 Gen 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');

Accedi per commentare.

Categorie

Scopri di più su Fourier Analysis and Filtering in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by