LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FFT of polynomial signal

I want to find the FFT of the polynomial signal in the file. Any ideas or suggestions? I'm new to labview so I'm not sure if the way I created the polynomial signal is the most effective to find the FFT.

Thank you

0 Kudos
Message 1 of 9
(3,656 Views)

FFTs are for periodic signals. Your signal is not, but you could of course consider the current graph as one period with a gigantic step at the wrap point.

 

Seems like a weird exercise. What exactly are you trying to get out of it?

 


@labviewStudent99 wrote:

I'm new to labview so I'm not sure if the way I created the polynomial signal is the most effective to find the FFT.


Your problem has nothing to do with LabVIEW, but with signal processing in general. Creating a signal has nothing to do with finding an FFT.

0 Kudos
Message 2 of 9
(3,645 Views)

It's an exercise for a project that my professor gave us. Instructions were: 

 

Using LabView, create the following signal y(t) = 0.025x 5 - 0.0625x 4 - 0.333x 3 + x 2.

  1. Look at the Fourier Transform of y(t)
0 Kudos
Message 3 of 9
(3,630 Views)

Your polynomial plot expects the coefficients in ascending order of power. Your array is reversed.

Also note that some of the coefficients are negative. You entered them all positive for some reason.

 

Did the teacher specify any particular x-range? The FFT will dramatically differ depending on the x-range.

0 Kudos
Message 4 of 9
(3,614 Views)

Thank you, I updated what I had. The x range should be from -5 to 5. The FFT should be extremely low. The highest frequency should be less than 0.1, I just don't know how to get it through LabView.

0 Kudos
Message 5 of 9
(3,607 Views)

@labviewStudent99 wrote:

It's an exercise for a project that my professor gave us. Instructions were: 

 

Using LabView, create the following signal y(t) = 0.025x 5 - 0.0625x 4 - 0.333x 3 + x 2.

  1. Look at the Fourier Transform of y(t)

y(t)  is not a function of t, so a reasonable assumption is that it is a constant, particularly for a fixed "x".

 

Assuming that the right-hand side is meant to show powers of t instead of x, this is still a very strange assignment.  This is definitely not a periodic function and one that trends to +infinity.  As my fellow classmates (and I) used to say, "Answer Analysis reveals that the Question is wrong".

 

Bob Schor

 

P.S. -- for t > about half a second, this function seems to take off, dominated by the leading fifth power.  Not only not periodic, not even bounded!

0 Kudos
Message 6 of 9
(3,598 Views)

Obviously x=t here, unless x and t are separate and you are looking for some JTFA like analysis. Probably not.

 

LabVIEW has all the FFTs built-in, and since your dx-spacing is constant, you can just unbundle the Y value from the plot data and apply the transform.

 

This is a good point to learn about FFTs and decide what you actually want and how you want to display it. Remember that a Fourier transform (fast or otherwise ;)) is complex. Do you want the real/imaginary, or magnitude/phase. Do you want it DC centered or Nyquist centered? Do you know how to calculate df from dt to get the frequency axis right?

 

Now look at the transform and notice that it is very smooth, containing significant amounts of all possible frequencies due to the nature of the signal as expected. A typical periodic signal would give you discrete peaks. Discuss why this is. Change the number of points in the x-ramp and observe how the FFT changes.

 

Here's the raw FFT when using 100 points and x= [ -5 ... 5] using your coefficients. Discuss!

 

fft.png

 

Play around! Take the inverseFFT of the FFT to see if you get the original signal back.

0 Kudos
Message 7 of 9
(3,541 Views)

This is very very helpful! Thank you, I would like to play around with it. Would you show how you got the FFT? What VIs did you use? Because what I have right now, is not compatible with any of the FFT VIs.

0 Kudos
Message 8 of 9
(3,535 Views)

Did you notice my sentence " ...unbundle the Y value from the plot data ..."? This will give you a plain 1D array.

 

fft.png

 

Also have a look inside the subVI that created your polynomial (it's plain LabVIEW code, just double-click it!) to see how it forms the output cluster.

0 Kudos
Message 9 of 9
(3,531 Views)