LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using FFT in labview

What are the time unit on the x-axis? What time resolution do you really require? Maybe an analog lowpass filter and a slower data rate is all you need.

0 Kudos
Message 11 of 19
(639 Views)

@altenbach wrote:

FFT is not a tool to eliminate noise. If you have noisy data...


Hmm... It depends, of course, but why not?

FFT.png

Screenshot 2024-05-21 22.21.50.png

 

Message 12 of 19
(631 Views)

That makes sense, yes that is what I was trying to express and attempt to do. 

Would it work with a continuous input and taking information from a DAQ?

Sorry if that seems simple I am new to this. Is there a resource you would recommend  looking at I don't want to take your time up?

0 Kudos
Message 13 of 19
(620 Views)

@emberd wrote:

That makes sense, yes that is what I was trying to express and attempt to do. 

Would it work with a continuous input and taking information from a DAQ?

Sorry if that seems simple I am new to this. Is there a resource you would recommend  looking at I don't want to take your time up?


Yes, this will work for continuos signal, just collect enough data points and then filter "running" buffer where newest data added and oldest removed, like running window.

LabVIEW shipped with tons of examples, to understand block diagram above (which is documented quite good) you have to learn basic for- and while- loops, case structure, event structure, then queued message handler fundamentals as well as state machine fundamentals and also notifications.

If its only about displayed data, then you can add filrtering somewhere here:

Screenshot 2024-05-21 23.11.44.png

From screenshot of your signal above may be FFT will be not the best approach, if your noise is gaussian then consider to think about Kalman Filter instead, may be.

 

0 Kudos
Message 14 of 19
(606 Views)

@emberd wrote:

This is the data I'm collecting. That spike that goes down the farthest is my point of interest. I have made a model to fit my data by using heavier object to create a bigger change in voltage. I don't know what the stray frequencies are and I was hoping to use the fourier transform to figure that out. 

The sample rate is 1000 

 

image.png


 

What is a rate of 1000? You need to give units! (Hz, MHz, mHz?) What is the shortest such transient that you need to be able to detect?

 

That tiny dip signal requires frequencies that are very similar to your noise and I doubt FFT based (or any kind of filtering) can reliably separate it from the desired signal.

0 Kudos
Message 15 of 19
(585 Views)

@emberd wrote:

This is a file of me just letting the sensor sit there with a poke at around 20.5 or data point 8588. 


This signal is so low that it is limited by the digitizer resolution and all you get are 8 possible values and the distribution looks pretty Gaussian. Are you sure you attached the correct file?

 

altenbach_0-1716330607156.png

 

Message 16 of 19
(580 Views)

Sorry, the data is being taken at 1000 samples a second in hertz.

I am not sure what transient I need to detect as the sensor did not come with any description of its output frequency.

Thats what I thought, not sure how to filter, probably a lot of trials.

0 Kudos
Message 17 of 19
(553 Views)

Thats interesting. That was the correct file. These are two other trials where I used a bigger force to make the distinction clearer. Would it be easier to figure out the noise then and then apply it to the much smaller forces? Thank you for helping

 

I am using a 16 bit digitizer 

0 Kudos
Message 18 of 19
(551 Views)

I think I know why I was not realizing that. When I looked at the data I would look at it smoothed over the mean to get a better sense which made me neglect the fact that the same volts were popping up. If I know what volts are there when nothing is happening, could I not eliminate those? 

 

0 Kudos
Message 19 of 19
(547 Views)