LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

FFT for unevenly-sampled signal (X/Y data)

Hello, hello,

I have a signal (on Y) at regular timed intervals (on X) but the time values have important jittering and also some missing points.

My signal processing brain is kind of rusty and I don't remember what tool I should use to extract frequencies from that.

Looking though the Advanced Analysis Library I don't see anything obvious...

Thanks

0 Kudos
Message 1 of 5
(1,173 Views)

Hi gdargaud

I have found an article from where you can get the solution in this case about Calculate the Frequency of a Time Domain Signal in LabWindows™/CVI™. 

Try to go through that article. 

 

Regards)

________

Best way to thank is to give Kudos / Mark as a solution. 

0 Kudos
Message 2 of 5
(1,020 Views)

Thanks, but that uses an FFT which works only on evenly sampled data. I needed to do some things more complex than just find the frequency, so I eventually oversampled my data and then used standard libraries for signal processing (FFT, IIR, FIR, etc...)

0 Kudos
Message 3 of 5
(974 Views)

I am surprised to see that you want to do an FFT on an unevenly-sampled signal.

 

For an FFT to be accurate, the frequency content of the samples must be accurate, this means the points must be samples at precise instances which is typically possible using hardware-timed sampling operations that are equally spaced.

 

An unevenly-sampled signal is typically software-timed and not typically accurately time-correlated. Just curious, where do you get this unevenly-sampled signal and how good is the timestamp for each sample such that you could rely on the FFT results?

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 4 of 5
(968 Views)

I do NOT want to do an FFT !

 

You can get accurate frequency from unevenly spaced samples, for instance if you use the Lomb-Scargle periodogram, but there's no function for that in CVI and I didn't find a working (and fast enough) C implementation. The Numerical Recipes implementation is assrotted.

 

In my case the 'time' component is not time but a magnetic field intensity, and there's a square root I need to take into account (quadratic). And some samples are missing or irregular. I still need to filter according to frequencies of the magnetic field. It works using a resampling (by a factor of 8 or so), but now we KNOW that our data taking method is too imprecise by a factor of 50...   ***crying in my code and my hardware***

0 Kudos
Message 5 of 5
(964 Views)