LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Removing voltage offset & doubly-integrating accelerometer DAQ voltage data

Hi all,
i'm using hi-spd Labview 7.1/6062EDAQ brd to capture 8 chs of analog voltage input
and need to remove the voltage offset on 3 of these channels which are accelerometer
sinusoidal voltage outputs [w/ 2.5V offset]. I also have to doubly-integrate these 3
chs to get displacement. Is there an existing vi to do this that i could incorporate
into my DAQ vi? I also have DiDem connectivity vi incorporated too, so if there is
a relatively easy way to remove this offset, make the engineering unit conversions,
and integrate 2x in Diadem on these chs [on-the-fly] and display these 3 sinusoidal
displacement waveforms [along with the other 5 chs] just after each acquisition, that
would be great! I'm fairly new to Labview and have very limited programming ability
and need to take more training but my application needs this capability now.

any help would be appreciated ! I can send the vi i have so far if someone is
interested in helping me complete it to accomplish above.

thanks,
John
410-306-0739
jac@arl.army.mil
0 Kudos
Message 1 of 3
(3,473 Views)
Salutations,

Dropping in the army information now are you. Trying to make me feel bad because you're serving our country and I'm serving my butt on a computer. Alright, I'll fall for this trick, just this once.

Labview has some excellent capabilities for signal processing in the "Analyze" (block diagram) section.

"Analyze" --> "Signal Processing" --> "Time Domain"
There you will find the ability to integrate information.

From LabView Help:

"Integral x(t) (Not in Base Package)
Performs the discrete integration of the sampled signal X. Integral x(t) calculates a definite integral. The value of the output array at any value x is the area under the curve of the input array between 0 and x."

Subtracting DC voltage, from all points I'm going to presume, you could just use the "subtract" (from numeric-block diagram) option and pass in your array, incrimenting it in a for loop. Working through each channel, then each data point (that would require 2 for loops).

This is assuming you're reading the data from a file and not doing it on the fly.. For loops only work for data sets that are finished off.

If this doesn't help, don't be afraid to respond, my dad served in the Army.

Sincerely,
ElSmitho
0 Kudos
Message 2 of 3
(3,460 Views)
One more note:

If you don't have the capability to use the analysis toolkit, you can still do integration. I'd suggest doing research on the trapezoidal rule, Simpson's 1/3rd rule, or Runge-Kutta integration. There are a lot of numerical tools for doing integration. Of course, these have associated errors with them, but i'm sure Labview isn't precise either. It just comes down to setting up the proper method for the required task. Labview's integration, as far as i know, doesn't mention anything about the amount of error contained in it. Maybe a review of the help manual or calling up tech support would provide a more profitable solution to the error issues.

The Trapezoidal rule is the easiest to program, and has the most error. Just search on google or something for numerical integration and it should provide the necessary solution for your question (assuming you don't have the analysis toolkit).

I'd also imagine, if your signal is dirty, you'll want to filter it out. Once again, the toolkit has these options (vibration signals can get nasty), or you can build your own (good luck, i have no clue).

This could involve resampling the data as well. There are a lot of things to consider when looking at vibration information (the place i work does a lot of this, i'm less fluid than most of them, i'm only a Co-Op)

Lastly, make sure you aquired the data properly using the Nyquist sampling theorem, or the Super Nyquist Sampling Theorem (it is truely super).

Sincerely,
ElSmitho (sorry, forgot to mention those goodies)
0 Kudos
Message 3 of 3
(3,459 Views)