05-10-2011 09:23 AM
Hi,
I'm having an issue in Labview (I'm using 8.2) with being able to apply a filter to some data, so I have recorded a 2D array of double (64-bit digit) where one column represents a time in ms, and the second a standard deviation of position, I wish to apply a highpass filter to this so that motions with a frequency of >10Hz are removed from the data, unfortunately I have not had a lot of luck doing this, the filters either seem to require a dynamic data input or alternatively a 1D array with a set value for dt, due to the slightly variable sample time this isn't sufficient for what I want to do... would be very greatful if anyone has any ideas.
Cheers
RP
05-10-2011 11:43 AM
RP,
Your terminology is unclear. A highpass filter pass high frequency components and removes low frequency components. You indicate that you want to remove frequencies greater than 10 Hz. That sounds like a low pass filter.
What do you mean by "motions with a frequency of >10Hz?" Is the motion periodic like a point on the circumference of a wheel or like a pendulum? Are you referring to velocity?
If your data contains time and standard deviation of position, how do you expect to get any information about the motion or its "frequency?" I think you will need the actual position information.
What is the source of the data? What is the physical meaning of what you are trying to measure or calculate?
Lynn
05-11-2011 03:23 AM
Hi sorry I meant motions with frequency <10 Hz.
the motion is of a particle trapped in a roughly harmonic oscillator, using video microscopy the centre of mass position of the particle is being tracked, it has been difficult to isolate the system from mechanical noise which occurs in the 1-10 Hz range typically. so the particle position will be plotted against time at a rate determined by the frame rate of the camera (around 1800 fps). I hope that helps 🙂
05-11-2011 03:52 AM
Hey RP,
Can we get at look at the code so far, or alternatively perhaps a copy of data results so we are able to show you how to implement filtering in labview.
05-11-2011 04:14 AM
Hi Andy,
Here's the relevant part of the code and one of my data files - any suggestions would be greatly appreciated, if you open the file the x/y graph will show you the signal i want to filter.
Cheers
RP
05-11-2011 05:56 AM
Hi RP,
Looking at your data it is all in the same frequency range, i.e. all the data you have collected is at 2K Hz (difference between each one of your time signals). Therefore there should be no frequencies below the 10Hz range and thus a high pass filter would be useless.
05-11-2011 07:02 AM
The data is collected at around 2 kHz, but in terms of the data there are correlated motions of the particle over all frequencies from 1-500 Hz (the knee frequency of the lorentzian) as can be seen from a typical power spectrum (See attached) the motions at low Hz will still be recorded by a 2 kHz sample time (although anything over 1000 won't be), what I need to do is filter out correlated motions that occur at 1-10 Hz. Sorry If I'm not making sense
05-12-2011 05:35 AM
Hi RP,
In order for you to implement the filter in LabVIEW you will need to have the data you have collected in the frequency domain. Unfortunately the data you have provided is all separated by the same time interval meaning that when I perform a Fourier transform on the data all the results are within the same frequency, as a result all of the data points reside in the same region. If you have the raw data in the frequency domain then we will be able to filter it.