07-30-2012 12:34 PM
I am working on a project to determine the force required to compress a spring.
I am using the NI USB 6008 to acquire the voltage levels from the DAQ card
corresponding to a certain spring with a spring constant k. I have been
acquiring a signal from the NI USB 6008 but it has a great deal of noise,
making it difficult to interpret accurately. I am comparing the voltage level
recorded by the NI USB 6008 to another signal acquired from the same spring
using another application on the same force tester. I am looking for ways of
making the data more clear and easier to interpret by eliminating the noise in
the LabView method. I am using Labview SignalExpress to record the data into
logged files, and I have been trying to obtain a clearer signal by processing
the data in excel, but would rather have a built-in software filter do an
automated filtering in signal express. Do you know of any way I might be able
to accomplish this? Thank you in advance for your help.
NI Software : SignalExpress version 5.0.0
NI Hardware : Multifunction DAQ (and NI ELVIS) device USB-6008
Driver Version : 9.3.5
07-31-2012 07:26 AM - edited 07-31-2012 07:27 AM
SignalExpress has a filter step that can be configured to handle single or multiple channels and a plethora of filter types. Start with the default settings with the type set to Low Pass. Set the other parameters to get the result you want. You can play back a log through a filter to find parameters that will work for you. You may want to run a power spectrum on your data to see if there are any obvious spikes in the noise spectrum. This would allow you to more efficiently remove the noise. See the online help for details of any of these steps.
Remember that is it always better to improve you electronics than to try and filter noise later. Check your electronics to make sure you have proper shielding and grounding on all the wires.
This reply assumes you have a license to the full version of SignalExpress. If not, the filter step will not be usable.
07-31-2012 09:32 AM
Thank you very much for the fast reply. This information is very useful to me. I have another question as well. For the same project I am trying to output a signal using the same DAQ card (NI USB 6008) and the same version of Signal Express (5.0.0) with the same drivers (9.3.5). I have an excel file which lists the voltage versus time for a one second interval, and I would like the DAQ card to output this signal according to the excel file. Do you know how I can import the file into signal express for it to be outputted by the DAQ card? Any help you can provide would be greatly appreciated, thank you in advance.
07-31-2012 09:42 AM
Would I be able to convert the excel file into an ASCII text file and import it using the Load/Save Signals menu?
I'm looking at this link:
Do you know how I would be able to convert the data from excel to an ASCII text format?
07-31-2012 09:56 AM
If you save your Excel file as a tab separated *.txt file (Text (tab delimited) in the Excel Save As..., other formats dialog), SignalExpress will be able to read it using the Import ASCII step. Use the output of the Import ASCII step as the input to a DAQmx Generate step and you should be good.
07-31-2012 10:21 AM
I have the data in a Load Data step, and I have a Generate DAQmx output step setup, I just need to find out how to get the output of the Load Waveform step to be the input of the DAQmx Generate step. Do you know how to do this?
07-31-2012 03:47 PM
I have another question as well. I have a "DAQmx Generate Analogue Output" step in Signal Express where the input has been set to a snapshot of the "Load from ASCII" step since this is my desired output. When I try running the "DAQmx Generate Analogue Output" step a timing error occurs as shown in the accompanying sreenshot. This error can be fixed by setting Generation Mode in Timing Settings to "1 Sample (On demand)". While I am in this setting instead of the "Continuous Samples" setting, or the "N Samples" setting, the "DAQmx Generate Analogue Output" step separates from the "Load from ASCII" step, and this results in an error saying the "DAQmx Generate Analogue Output" does not have an input. Do you know why this is? Furthermore, I am aware that:
Seconds of Data = Number of Samples/Samples per Second
after reading the article:
I do not understand why I keep getting timing errors when using the "Continuous Samples" mode or the "N Samples" mode. My original waveform file is an excel file with Voltage vs. Time and it is 10,000 points in length. It spans a time interval of exactly 1 second, each data point is one ten-thousandth of a second from the last one (0.0001s). In "N Samples" mode, should I have "Samples to Write" = 1 and "Rate (Hz)" = 1 if I want to play the waveform once? Is the entire waveform or snapshot considered a single sample? Or should I have "Samples to Write" = 10,000 and "Rate (Hz)" = 0.0001. Is the NI USB 6008 only capable of outputting 150 data points? Do you know how else I would be able to output the Voltage vs. Time values once I have imported them into Signal Express? Any help you can provide would be greatly appreciated. Thank you in advance.
08-01-2012 07:22 AM
Your problem is your hardware. The USB-6008 does not have hardware timed analog output. So the only valid generation mode is On Demand (software timed). To solve this, you would need a different DAQ device.
08-01-2012 01:31 PM
I have begun using an NI SCC-68 to output the waveform, however I am having some trouble managing the amount of noise that accompanies the signal. Do you know I can eliminate or greatly reduce the noise in the signal output by the NI SCC-68 before the signal is routed to another device?