Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

How to Demultiplex signal?

Great, I think that this is exactly what I am looking for.  What are the last two components in the signal chain?  I have found the others but I can't find those two clicking through all of the functions.

Thanks!
Drew

0 Kudos
Message 11 of 19
(2,375 Views)

Drew:

Can your DAQ card analog ouput provide enough current to provide excitation to all your sensors at once? Look at the specs in the manual for your card and the specs for your sensors.

You may also need to add some time delay after switching your mux to a given channel in order to to let the sensor signal settle out. (Not sure of the specifics of your sensors/mux)

~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 12 of 19
(2,368 Views)
Yeah, the DAC output just goes into the input of a couple of OpAmps.. shouldn't draw much current at all
0 Kudos
Message 13 of 19
(2,365 Views)

The iteration count is converted to a Boolean Array with the Number to Boolean Array function (Boolean palette). I then use an Array Subset (array palette) to just get the first 5 elements of the array. I needed to do that because I only defined 5 digital output lines with the DAQ Assistant. The output of the second DAQ Assistant is converted to a waveform data type with the Convert From Dynamic Data (Express>Signal Manipulation palette) because I really am not all that fond of dynamic data. Smiley Wink When you wire any signal through a for loop, the output is automatically auto-indexed into an array.

The first DAQ Assistant is set to Digital Output>Line Output and the second DAQ Assistant is an Analog Input task of one channel.

0 Kudos
Message 14 of 19
(2,364 Views)
Dennis,

I'm still in the process of wiring this up, but this seems like exactly what I am looking for.  Is there anyway to define an operation to perform on each of the outputs of this array?  I have all the operations defined for a single instance, but is there an easy way to do this to each of the signals in the array?

The signal operations are kind of tedious so I'm hesitant to just copy and paste it 64 times!  Essentially, I run an FFT on the data, pull out two of the frequency components, and then save them to a file.  I'll worry about making a pretty display for all the 64 channels once I get this basically functionality working.

Thanks again,
Drew

0 Kudos
Message 15 of 19
(2,358 Views)
Of course. The example I posted creates an array. Just like the auto-indexing output of a for loop, an array input to a for loop is auto-indexed so that inside the for loop, you work on a single waveform. The code you've written just has to be inside the loop. These sort of things are pretty basic LabVIEW functions and you might want to look at the resources at http://www.ni.com/academic/lv_training/how_learn_lv.htm and http://zone.ni.com/devzone/cda/tut/p/id/5054 for on-line tutorials, books, and classes.
0 Kudos
Message 16 of 19
(2,346 Views)
Dennis / others,

I guess I don't understand how the for loop would work in this situation.  I realize that you can get the data back out of the array in a for loop, but I have doubts that blocks like the FFT or the tone measurement will work if the data is fed to them like this.

Maybe I should have tried to explain my entire system a little better at the start but I guess its better late than never!  The DAQ board has 64 sensors, broken into 2 channels (each with 32 sensors, some amplifiers, and a MUX).  Each channel has an analog input, analog output and 6 digital inputs to control the MUX.  I want to use LabView to generate a 500Hz sine wave (two analog outputs, one for each channel).  These will run continously throughout the duration of the experiment.   Then, as you have so kindly helped with, I need to control the MUX and sample the analog input.  For each of the sensors, I want to run an FFT on the data and save the amplitude of two tones present in the spectrum (500Hz and 708 Hz).

I will need to work on the UI because there are some additional things that I want to be able to do eventually, but for now I just want to get the data and save it.

Generating the sine waves should be no problem.
I believe that what you have shown me will help me acquire the signal properly.
Lastly, I need to take the two tones and save the data.  I have built a simple VI that does what I want to do for each of the 64 sensors but I am not sure how to wisely connect this block with the block that you suggested.  It seems to me that I cannot simply stick this in a for loop and index the data because the FFT blocks need history for only a single channel.  I used the waveform generator to just make a simple simulated input signal.  The Waveform Graph 4 and the complete spectrum are only for debugging purposes in this VI.

So, is there any easy way to replicate this block and operate on the data in the array without simply copy and pasting this block 64 times?  I looked through all of the loop structures but I didn't see any that were really practical for this.

Thanks in advance!
Drew










0 Kudos
Message 17 of 19
(2,312 Views)

I think you are missing the whole point. Here's a simple example. It has a for loop to get 64 signals. That creates an array of waveforms. Wire that into a for loop with the Tone and Spectral Measurement functions and these will operate on each waveform individually and create an array of results. You put the tone generation function inside the while loop. Fro testing purposes, move it outside in a for loop like I have here with the DAQ Assistant.

Also, what the heck are you trying to do with the tick count and merging that with the dynamic data? When you get dynamic or waveform data from DAQ, the data type includes timestamp information.

 

Oops. I jsut noticed that I didn't change the From Dynamic Data for the Spectral Measurement to create a waveform instead of the scalar.

Message Edited by Dennis Knutson on 06-22-2007 02:08 PM

Message Edited by Dennis Knutson on 06-22-2007 02:11 PM

0 Kudos
Message 18 of 19
(2,303 Views)

Hi Dennis

 

Would you be able to provide an example on how 2 for-loops can be used for 2 different multiplexers? How will the VI be like?

Think I will assume that I have 2 different multiplexers and each multiplexer will have 32 channels (64 different channels altogether).

0 Kudos
Message 19 of 19
(1,733 Views)