LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Frequency spectrum of IFFT output

Output of IFFT block is summation of N orthogonal sinusoids. These sinusoids each have different frequency and the lowest is 0 (DC). In reality output is array of complex numbers which represent complex weight for corresponding sinusoidal basis function. I neeed to know how to present output signal in frequency domain spectrum. I'm confused with complex numbers. Anybody knows solution to this problem?
0 Kudos
Message 1 of 4
(4,271 Views)
First a small clarification; IFFT stands for Inverse-FFT that is a conversion that converts a complex frequency domain spectrum back to a time domain signal. When you write that the output is "summation of N orthogonal sinusoids" it sounds like it is a time domain signal, that is the result of an IFFT operation. However you also write that he output "represent complex weight for corresponding sinusoidal basis function" which sounds more like a frequency domain representation that is the result of an FFT. Can you explain in more details what you try to achieve?

A spectral component represented by a complex number (a+ib) can be converted to the two fundamental values needed to represent a sinusoidal (sine) signal in the time domain. These are the amplitude of
the sine tone (r) and its start phase (Theta). The conversion to/from "Complex" from/to "Polar" can be done in LabVIEW using the two primitives "Polar to Complex" and "Complex to Polar". These are located in the Numeric>>Complex palette.

The ouptut of an FFT is originally a complex array, but it is usual to convert the result into two real arrays, one representing the "Magnitude" (r) and one representing the "Phase" (Theta or Phi). Then you can graph the Magnitude and the Phase results on two different graphs.
Message 2 of 4
(4,271 Views)
Thank you for your help. I read my post again and I admit that it was really confusing. So, I will try to make my question more clear.
I am trying to make a multiplexer using IFFT. Input signal is array of complex numbers which represents complex weight for corresponding sinusoidal basis function in frequency domain. IFFT multiplexs those sinusoidal functions and presents signal in time domain. Signal is additionally proccessed and then
displayed as output array of complex numbers.
I need graph presentation of that output signal. How can I present signal which is array of complex numbers in time domain? Is it possible to make graph presentation of frequency spectrum of that signal and if it's possible, how?
0 Kudos
Message 3 of 4
(4,271 Views)
Under normal conditions a time signal will be Real while the spectrum is Complex. It is easy to display the real time signal on a graph but, as mentioned earlier, to display the complex spectrum you normally convert the result into two real plots, respectively the magnitude spectrum and the phase spectrum.

There are ways of displaying complex arrays on a graph, for example using an XY-graph and displaying the real part on the x-axis and the imaginary part on the y-axis, but I don't think it is what you want to achieve.

To read more about the topic (FFT, complex representation etc.), see for example the LabVIEW Measurement Manual (Chapter 13) "Frequency Analysis". You can access the manual when you launch the "Search the LabVIEW Bookshelf" eit
her from your Start>>Programs>>National Instruments>>LabVIEW ... or from the Help menu of any VI window.
0 Kudos
Message 4 of 4
(4,271 Views)