LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I take a Fourier Transform of data acquired over a long duration?

Solved!
Go to solution

So you have a table with a interferometer (classical michelson or homodyne ?) and read one photodiode for some amount of time?

In an ideal world nothing will change.

Now temperature give some fringes .. (very) low frequency ... no problem

Now add Vibration, adding much more fringes.... ups :0 problem

 

An STFS waterfall in the 50 to 500Hz region of the fringe frequency would give you answers?

 

I would expect that a some sort of fringe count distribution give the same answer.   read a fringe counter every 20ms , histogram ,...

 

 

 

 

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


Message 11 of 16
(1,044 Views)
Solution
Accepted by SamGoodall

Sam,

 

I am wondering if the problem is slightly different from what you suspect. Perhaps the issue is the way you acquire the data or manage it after acqquisition rather than the FFT process itself?

 

Can you post your VI with some data (some seconds, not tens of minutes) saved as default or in a data file?

 

Lynn

Message 12 of 16
(1,030 Views)

Data acquisition was found to be the issue, I have managed to run solid tests of simulated data with appropriate peaks. However some of my code with LabJack (Second party hardware with it's own software) must be the issue. I'm currently approaching the LabJack forums on how to appropriately gather data in LabJack.

 

When I get my usb I will post up my VI with some data if the LabJack forums have still not answered my problems.

0 Kudos
Message 13 of 16
(1,022 Views)

Sam,

 

LabJack makes some nice devices but their LabVIEW drivers are not the most robust.  I have a U6 but am still trying to get it to do everything it should be able to do.

 

Also check your power savings settings at the OS level. Sometimes USB devices get shut down or put asleep by the OS to save power.  

 

Lynn

Message 14 of 16
(1,016 Views)

Yeah it looks like LabJack is much better programmed in languages like C# but the lab computer and the one I'm using for programming don't look like they've got much in the way of compatible software with eachother except LabVIEW.

0 Kudos
Message 15 of 16
(1,010 Views)

" I have a U6 but am still trying to get it to do everything it should be able to do"

 

Let us know if you need help with anything.

 

 

"it looks like LabJack is much better programmed in languages like C#"

 

Our opinion on that is that the programming is not better in one language over another, but rather equal regardless of the language:  C++, C#, Matlab, LabVIEW, or whatever.  We purposefully try to keep it the same so documentation is the same regardless of language, an example in one language is useful for other languages, and it is easy to move from one language to another.  The U12 is our original device from 2001, and has its own driver, but this flexibility is even more true with the UD driver (for the U3, U6, and UE9), and now even more true with the LJM driver (for the T7).

 

I would also add the the part of a program that moves data back and forth from the LabJack is usually small compared to the overall program.  Moving data back and forth from the LabJack is pretty simple, and beyond that you are just doing programming in whatever language that is not really specific to the device at all ... just deciding how to handle a value or array of values and doing things like data processing, logging to file, and screen display.

 

That being said, LabVIEW is one of the most popular languages with our customers, so we do add a little extra to take advantage of features that are not always available in every language.  Things like clusters and 2D arrays come to mind.

 

 

In this particular example, the user would like to acquire 2 channels from a U12 at 600 scans/second for 10 minutes.  We have an example called "simple ai stream example.vi" that can do that.  On the front panel just set "Number of Channels" = 2, "Scan Rate" = 600, and "Number of Scans"= 300.  Then run and it will collect data continuously.  "Number of Scans" is how many scans you are reading each time, so the example in this case will iterate about every 500 ms as it reads 300 scans each time.  So every half-second the main while loop iterates and you get a 2D array with another 300 scans.

 

 

Message 16 of 16
(977 Views)