09-27-2008 11:19 AM
Hi all,
Hope you might be able to help me on this one - I'm using the sound/vibration toolkit and had saved 3 channels of acquired dynamic signal to the UFF58 format using the Save to UFF58 express VI. The save worked great, but now that I'm trying to load up the 3 channels and perform the exact same procedure I did in the program that directly acquired and manipulated - I'm getting different answers and units.
To acquire the data I just used the DAQ assistant (Which performs the scaling to EU inside), then fed that value into an integrate and a few other manipulations afterwards. I saved the set of data on the output of the DAQ assistant, so it should be scaled properly to units in "G" (Using an accelerometer). I then integrate to in/s using the "SVL Integration vi" that comes with the toolkit. I confirm the units show up as in/s on the units output of that integrate function. Wierd thing is when I use the Load UFF58 function in place of the DAQ assist....that units output of the integrate function changes to g*s. I did try switching the "Lengths" input of the integrate function to other values, but it doesn't seem to change my output or even the units, so I just set it back to "in" as it was before when acquiring the data.
In a bit of a pinch here, would appreciate any input anyone can give. I did notice that the output of the load from UFF function is of type 1D array of waveform (DBL), where the output of the DAQ assist is a purple wire (Dynamic Data Type). As soon as I split the channels though from the Load function it turns to the purple wire...I'm not sure if units are lost in there somewhere or what.
Appreciate the help!
09-29-2008 04:23 PM
Hi leachdor,
Thanks for the post. We recently came across the same issue that you have noticed: reading the units from a file saved in the UFF58 format. We plan to have this fixed in the next release of the Sound and Vibration Measurement Suite. However, to help you in the short term, I've attached a VI that should fix the problem for you. You will not be able to use the express VI, you'll have to use the API VIs. If you need a little help with that, take a look at this example: <LabVIEW Directory>\examples\Sound and Vibration\UFF58\SVXMPL_Read from UFF58 File (Time Waveforms With Records).vi
To use the attached VI, put it in the following directory (replace the VI of the same name that is already there):
<LabVIEW Directory>\vi.lib\addons\Sound and Vibration\svt_UFF58
Hope this helps!
-Alan
09-30-2008 08:33 AM
Thanks Alan,
I made up a temporary fix, even though the units are lost and this seems to do something funny to the integration - I was able to get very close to the same results I had before by multiplying the overall average waveform values I was trying to recreate with 386.0885826772 (Also the FFT magnitude)
Only concern I have is I'm not sure if the way NI does it is more precise, but I ran through about 50 loads and conversions and it looks close. The conversion I was doing was something quick and on the spot for work, but I wouldn't consider it a "Production" ready fix.
10-01-2008 11:37 AM
Hi leachdor,
The conversion factor you found is the number of inches in 9.8 meters (g = 9.8m/sec^2). So, basically you are just converting back to inches manually.
If you are concerned with doing the conversion yourself with the conversion factor you found, I would recommend implementing the fix that I mentioned in my first post. Its a pretty easy fix, but again, you would not be able to use the express VI.
Oh, I just realized that the VI I posted in my first post may complain if you try to open it, because it is now part of a library (and it wasn't previously). So, use the VI I have attached to this post. You will probably have to re-link some subVIs when you open it, which isn't exactly ideal, but it will work for you.
-Alan