SignalExpress

cancel
Showing results for 
Search instead for 
Did you mean: 

Acuire data using signal express!

Hi all!
I am trying to acquire data from accel's using signal express and have a question regarding it!
 
I am shaking a test unit on a shaker rig and logging the data (32 channels) using  signal express. The input signal runs for 100 seconds and my sampling frequency is set at 256 htz. I am using a number '2048'  for n samples, and using save ascii feature to save the data in a text for the complete run. Since my sampling frequency is 256 samples per second so therefore I thought that the text file will have like 25600 samples for the complete 100 seond run and it would be in 2048 chunks or windows of data.  But to my surprise, it has more data or samples (almost twice) for the complete 100 second run! Is there something I am doing wrong here, and if 'yes' can somebody explain me what is it?
 
Thanks
 
TVS
0 Kudos
Message 1 of 29
(8,795 Views)

I am not sure why you are seeing extra samples, but using an N-Sample acquisition mode is probably not what you want since there will be gaps in the data.  N-Sample mode re-arms the device each iteration (2048 samples in your case) and while it is doing this, samples will be lost.

Try setting your acquisition mode to be Continuous and see what happens.  You might also want to set the number of samples to be a multiple of the rate so you can get an even 100 seconds of data.

Also, you can try using the logging featues of SignalExpress instead of the Save To ASCII Step.  Recording the data using the logging features provides the following features:

1. You can use a Stop Condition for the Recording Options Tab to specify that the data should be logged for 100 seconds.

2. Once the data is logged you can view the entire log on the data view.

3. You can analyze the logged data using the built-in playback mode and any of the built-in analysis.

4. And if you are not using logging because you desire ASCII logs, you can enable automatic ASCII file generation by selection Tools>>Options from the menu.  Select the Logging Category on the left and enable the Automatically Export Log to ASCII option.

Please let me know if you need further assistance.

Message 2 of 29
(8,759 Views)


Thanks for your quick response!

I am very new to labview and I am finding difficulty in undestanding the way it acquires the data. The documentation talks about having a good buffer size for acquiring data continously, can you give me little bit details about the buffer size's and how one goes and selects this buffer size! Say if i wanna acquire data for 100 seconds and my sample rate is 100, what is the good buffer size and also what will be the value for 'N' textbox for continous data or is this text box only used when one selects the option 'N samples'?

Thanks!


0 Kudos
Message 3 of 29
(8,748 Views)

In general there are a few factors which influence the "Samples to Read" selection. 

One is the requirements of any on-line analysis that you are performing.  If you are performing an FFT (Power Spectrum) on the data you would want a large enough block size (Samples to Read) to obtain the desired frequency resolution. 

If you are needing to view the live data, you would want to choose a value of "Samples to Read" such that each iteration would finish at the desired view update rate.  In SignalExpress views of signals are only updated at the end of an iteration.  If you were acquiring at 100Hz and choose a "Samples to Read" of 10000 to acquire 100 seconds of data, and displays of the signals would only update once the full 100s of data is acquired.

Finally, the larger the "Samples to Read" the more likely a multi-iteration continuous acquisition will succeed without buffer over-run errors.  If you are acquiring at a high rate with a small "Samples to Read" then your computer might not be able to service the end of an iteration and the acquisition will fail.

In general, if you choose a "Samples to Read" such that each iteration is between 100ms and a few seconds you should not have a problem.  Each iteration will take "Samples To Read" divided by "Rate" seconds.  If you need to acquire all data once (100 seconds in your case) you should also not have a problem setting the "Samples To Read" to accomidate all of the samples, i.e. Samples to read = Rate * seconds.  You will run into issues if the amount of memory to store all of the data for all of the channels gets too large (hundreds of megabytes).

Performing long continuous acquisitions works best by logging the data and choosing a "Samples To Read" that is somewhere around the rate.

Finally, you should change the "N Samples" text box to the "Continuous Samples" option.

 

0 Kudos
Message 4 of 29
(8,745 Views)
Thanks for your response!
 
Well, I changed it to continous samples, and am tried acquiring data for 10 seconds. Well, when i put samples to read '1000' and  rate '1000', and record  with start and stop conditions with 10 seconds time under recording options tab, it gives 20.995 seconds of data with 1000 samples at one second. And if I run for 5 seconds then it is 10.9975 seconds of data with 1000 samples for one second. Can you tell me what's going on here?
 
Thanks!
0 Kudos
Message 5 of 29
(8,739 Views)
Could you please attach your project so we can take a look at the settings.  What you are seeing does not seem correct.  Also, which device are you using?
0 Kudos
Message 6 of 29
(8,733 Views)
Hi!
 
I am using DAQ device for acquisition. Please see the attachement for the project '1Accel'.
 
Thank you!
 
 
0 Kudos
Message 7 of 29
(8,730 Views)

Are you looking at the number of samples in the file saved by the Save to ASCII step or the number of samples in the log?  The Save to ASCII step is not sensitive to the Start Conditions and will save data before the start condition is met.  The Log file that is generated should be the correct length.  When logging, you should no longer need the Save to ASCII step.  We tested your project here, and the log file was the correct length, but the Save to ASCII generated file did contain more samples.

 

Message 8 of 29
(8,720 Views)

Thanks for your help!

Well, is there a way i can change the dt from default 0.0005 in the project to dt (1/Fs)..I mean I want samples based on my sampling frequency..not the default time step (0.005s).

Thanks!

0 Kudos
Message 9 of 29
(8,708 Views)
yeah, I was actually looking at the txt file saved from step 'save to ASCII'.
0 Kudos
Message 10 of 29
(8,694 Views)