Academic Hardware Products (myDAQ, myRIO)

cancel
Showing results for 
Search instead for 
Did you mean: 

Acquisted Data delay

Hi All

 

I am using the NI USB 6281 to generate and aquist  underwater acoustic signal. I sent and received 500 pings and attached spectrogram is from revceived data. Since my Hydrophone is 1m apart from my Transducer, I expect to see the first DARK RED points coming at about 0.67ms ( time =Distance/speed =1/1500) and all of them should be almost on the same line but they dont as you can see in attached file. Any hint will help.

 

Thanks 

0 Kudos
Message 1 of 8
(5,817 Views)

Hi Fedor.Ng,

With the image you've provided, the only thing I can think of would be that your data acquisition or signal generation may not be happening at the exact intervals you expect. How are you generating the pings you are attempting to receive, and how are you receiving them? Are you using Hardware Timing for both of these portions of your code? You would need to be using a DAQmx Timing function call to use hardware timing I believe, and there are several examples included with LabVIEW that show how to use this functionality. You can find said examples in LabVIEW by going to "Help->Find Examples."
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P7KdSAK&l=en-US
https://www.ni.com/en/support/documentation/supplemental/06/learn-10-functions-in-ni-daqmx-and-handl...

If you are already using hardware timing, have you tried tying the NI USB 6281's input and output together? This should allow you to see if the problem is happening at the DAQ device or if there is some other interference.

I would also recommend posting your question in the Multifunction DAQ board in these forums. This specific forum board is for academic products such as the myDAQ or myRIO, while your device is generally better classified as a Multifunction DAQ. 
https://forums.ni.com/t5/Multifunction-DAQ/bd-p/250

Charlie J.
National Instruments
0 Kudos
Message 2 of 8
(5,785 Views)

HI Charlie

 

Thanks for prompt response. I am using SignalExpress , I have never used the Hardware timing before, should i switch to Labview instead of SignalExpress?

I will repost this discussion to Multifunction DAQ board.

 

Thanks

Fedor

 

0 Kudos
Message 3 of 8
(5,780 Views)

Hi Fedor.Ng,

You can use hardware timing in SignalExpress, though LabVIEW does allow much more specific control. That may not be necessary for your application, as all you need to do is insure the signal generation and acquisition are synchronized. I believe you have some guidance on doing this in your other forum post.

I would still recommend wiring the input and outputs of your USB-6281 together without the sensors to see how measuring the signal that way matches up. If it matches up as expected, then you are doing everything properly and can add the sensors back in to your configuration. If there is a mismatch when making the measurements that way, I suspect there may be an issue with the way your code is operating, though there are other possible causes such as noise or delays caused by the sensors themselves. 

Charlie J.
National Instruments
0 Kudos
Message 4 of 8
(5,763 Views)

Hi Charlie

 

I tied the input and output together as per your recommendation and the signal are still not aligned. I also tried to set the sample clock type to Internal for both of AI and AO but AO channel does not let me do so. I am attaching herewith the .seproj file I used for testing. I was using “Differential” mode.

 

Thanks

Fedor

0 Kudos
Message 5 of 8
(5,718 Views)

Hi Charlie

 

I tied the input and output together as per your recommendation and the signal are still not aligned. I also tried to set the sample clock type to Internal for both of AI and AO but AO channel does not let me do so. I am attaching herewith the .seproj file I used for testing. I was using “Differential” mode.

 

Thanks

Fedor

0 Kudos
Message 6 of 8
(5,717 Views)

Hi Fedor.Ng,

First, I just want to comment that your data appears within reasonable error. I'm willing to bet that the jitter you see in that image is extremely small and likely caused by the allowable error of the DAQ device.

I just noticed something I should have asked you about previously: How are you calculating the delay? Our Analog Inputs have a timestamp, but our Analog Outputs would not. 

I think the best way to accomplish what you are looking to do would be with a Simultaneous DAQ Card (which can acquire analog inputs in parallel). Then you could wire the output signal directly from your Analog Output to an Analog Input, and then the same signal through your external circuitry to a different Analog Input. The offset between these Analog Inputs would be the data you appear to be looking for. That being said, your USB-6281 is not a simultaneous device and there would be an additional delay due to multiplexing. We keep costs on some of our DAQ devices down by using a shared ADC for all the input channels, but this requires switching between channels in sequence rather than acquiring them all at the exact same time.

Overall, I'm just not sure that you will be able to get the precision of data you are looking for with your device or application setup.

You might be able to determine the delay IF the two tasks are fully synchronized, but after some more reasearch this does not appear to be possible in SignalExpress with your device. You would need to switch to LabVIEW which would require much more work to setup, and I'm still not convinced of the accuracy of this approach compared to using 2 analog inputs. Here is some documentation on synchronizing DAQmx tasks in LabVIEW: https://www.ni.com/en/support/documentation/supplemental/06/timing-and-synchronization-features-of-n...

Charlie J.
National Instruments
0 Kudos
Message 7 of 8
(5,689 Views)

Hi Charlie

 

The delay I put in Analog output just to keep the space between the pings. I guess it should not  affect to the arival time of the signal.

 

Thanks 

0 Kudos
Message 8 of 8
(5,607 Views)