09-22-2009 06:59 PM - edited 09-22-2009 07:00 PM
Hello
I'm using NI-DAQmx cards and DASYLab 9.0 for vibration measurement
I have vibration sensors with waveform output having main frequency at 2.30 Hz (max expected about 120 Hz). I also have a signal showing one pulse per turn (called keyphaser)
I have to transform those time signal (vibration) into the frequency domain (FFT). To avoid leaking I would like to have a binary number of point in each cycle of the rotating machine (2.3 Hz, ie turn per seconds). Let say I want 256 (2^8) samples per cycle so I have to digitalize at 256 x 2.3 = 588.8 Hz (samples / sec.) but DASYLab don't let me to do so. And anyway, the speed of the machine will change during the test so I would have to constantly change the sampling rate.
In DASYLab I can use the "Data Window" box to prepare a binary number of samples for the FFT but if I digitalizes at 512 Hz or anything else than 588.8 Hz leaking will be present. Yes an Hanning window (or similar) will smoothes out the effet but I'd like to do it the right way.
So is it possible to digitalize at (for instance) 1000 Hz and resample the vibration signals as a function of the keyphaser to have 588.8 samples per secondes when the keyphaser is showing up at 2.3 Hz?
Thanks !
09-22-2009 09:23 PM
DASYLab does not have features for order analysis and order tracking.
You'll need the LabVIEW Sound and Vibration Toolkit to do this well.
You cannot resample dynamically, based on the data.
09-23-2009 07:25 PM - last edited on 02-05-2024 11:59 AM by migration-bot
Thank you for your fast reply. I really appreciate it!
I did try to resample with the software triggers (per/post, Combi, etc) as well as the separate module without success....
Instead, I tried to digitalize with an external clock (pulsating signal which is a function of the machine's rotating speed, ie 256 pulses per turn). This pulse is pluged to PFI07. For test purposes, I pluged a Fluke 744 and simulated a 1Hz pulse. In MAX (measurement and automation explorer), when I press "test" I see one sample per second for every inputs (16 analog inputs). If I crank the pulse to 10Hz I see the sampling speed increasing. Fine!
In DASYLab though, what are the settings to build a block (of let say 1024 samples, ie 4 turns of the machine) at the speed of acquisition in the MAX driver (which are triggered by the external clock)?
BTW, I have a NI SC-2345 signal conditionner, a DAQCard-6036E, MAX 4.4, and DASYLab 9.0
Thanks !!!
09-25-2009 09:28 AM
I am not quite sure what you mean by running an acquisition by pressing "test" in MAX. Do you mean Test Panels?
In any event to set up an acquisition task using external timing in MAX there is an advanced timing tab on the task where you can specify an external sample clock.
09-25-2009 09:48 AM - edited 09-25-2009 09:50 AM
Thanks Doug for your reply
Here is a printscreen of my MAX screen with the test panel as you call it.
The problem is with DASYLab, how do I tel it to take the samples at the rate MAX generates them with the external clock?
[IMG]http://img.photobucket.com/albums/v509/MOttS1978/MAX.jpg[/IMG]
[IMG]http://img.photobucket.com/albums/v509/MOttS1978/TESTPANEL.jpg[/IMG]
09-28-2009 12:07 PM
09-29-2009 07:20 AM
No. What you write make sense though. DASYLab should take the samples at the rate the driver generates them...
In MAX, the NIDAQmx task's name is 'LaTuq'. When I select the clock to be internal in MAX, I see that task in DASYLab when I synchronizes them. From Experiment=>Time Base Setup, I see that task and can select the sampling rate and the block size.
However, if I select the clock to be external in MAX and syncronizes DASYLab to MAX, the task disapears from Experiment=>Time Base Setup. Now, if I press 'play' in DASYLab, the displayed sampling rate is the one I entered to be the maximum sampling rate in MAX. However, the real sampling rate seems to be always the same (140 samples/sec) whatever I play with the external trigger (1 Hz, 5 Hz or higher). Also, I see nothing in the graphs.. no graph updated, no values in tables, no FFT, nothing.
Hope you can help me out with this problem ..
THanks !
10-08-2009 02:05 PM
10-08-2009 03:25 PM
I keep hoping that one of the DASYLab developers will chime in and explain this better.
It's not a bug, it's a limitation to the software.
DASYLab is designed around a data flow that is time based, not, as in this case, rotation based. Acquired samples are expected to be equidistant, even if an external timer is used. I know of no DASYLab scenario that would allow you to change the data sampling rate (timing) as it is being acquired.
My initial answer stands... you cannot dynamically vary the sample rate. That whole area of order analysis is something that DASYLab does not support at this time.
LabVIEW has a great set of features in the Sound and Vibration Toolkit that may apply to the analysis that you need.