Jump to content

Basic understanding sampling with DAQ 6343


Atron100

Recommended Posts

hi

i have a question in basic understanding of update rate sample rate samples per buffer and cycles per buffer.

i have DAQ 6343 and electronic circuit. 

i'm using AO0 for generation sine wave at these frequencies 10Hz, 100Hz, 500Hz, 1kHz, 3kHz this signal enters to electronic circuit.

and after conversion i must to measure two outputs of this circuit by AI2 and AI3.

from my understanding of tech spec of the daq analog output update rate is 900kS/s and analog input update rate is 500kS/s

as i understand if i have freq = 3kHz the maximum sample rate per buffer is 300 samples

and if i have freq = 10Hz i can generate this signal with 90000 samples per buffer?

for analog input the formula is the same?

that meaning of cycles per buffer?

which sample rate of AI i need to setup to measure data fast and accurately? 

 

thanks for answers

Edited by Atron100
update
Link to post

This boils down to Nyquist, which essentially says you can resolve an original signal at twice the sampling rate (According to the mathematics at least).  However it is recommended best practice to use a sample rate at least 8 times that of the signal you are trying to measure.  So for your 8KHz signal you will need to Sample at 24KHz at least.  If you are trying to look for other features within the signal (Rise times, Overshoots, Ripple noise etc) then you will probably need an even larger sample rate.

With the output signal the same thing applies but in reverse.  If you want to produce a 8KHz Output signal you really need to clock the data out at 24KHz at least, I believe the output clock rate can be set on those cards (It has been so long since I used AO)

In both cases though the more you over sample the smoother and more representative your aquired/generated signal 

Craig

NI white papers are usually pretty solid at explaining these types of things.

http://www.ni.com/white-paper/2709/en/

and Wiki

https://en.wikipedia.org/wiki/Nyquist–Shannon_sampling_theorem

Edited by CraigC
Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Zyga
      LAVA users,
      We are looking for alternatives for NI DAQ devices for industrial automation. Since NI has its devices mostly focused on advanced/high speed/high precison data acquisition/processing its prices are inadequate to simple automation tasks. 
      I would also say that NI PC based daq systems are expensive if need to be distributed systems (found this but still relatively expensive cRIO required).
      Just now we need to extend our compactDAQ based system with two DIO modules. We even have free chassis slots for this, but station that needs this IOs is few meters away from PC. How easier would it be if we could use single ethernet cable..  Ofcourse we can add another small cDAQ (what we probably going to do) but this is slightly expensive solution for our customer.
      Does anyone have some experience with 3rd party solutions? Any known daq devices vendors? Standalone ethernet daq modules?

      Regards,
      Zyga
    • By Gab
      Hello Everyone,
      Need some verification with daq program.
      I have one force sensor that connectd with my usb daq device. with this force sensor, unknown object is connected(hanging) and i want to find the mass of this object (F=ma) so i am taking continous sample and generate waveform graph. After the scaling, my waveform will be in Newton unit.
      my question is: if i take RMS of this waveform(1d Array data point) and divide by g (9.8 m/s2) then whatever value come is my correct mass? (F=ma).
      Thank you in advance
    • By _Y_
      I am trying to implement a simple DAQ Watchdog with single digital output but cannot find any logical way to reset the Watchdog timeout signal. One of obvious solutions is invoking DAQmx Reset Device.vi. Unfortunately, it does not work. The Watchdog goes to timeout state but the physical output signal does not turn to High.
       
      For some obscure reason (typical non-qualified guess:) I added bottom part of the code that is red-framed in the BD. The only difference between functional and non-functional code is using DAQmx Start Task.vi, that is located in “Solutionâ€-driven case structure. If Boolean control “Solution†is True, the code works; if False, it doesn’t.
       
      Please help to understand why launching conventional Digital Output task is necessary for normal functioning of the Watchdog?
       
      PS: Attempts to use clear expiration command instead of DAQmx Reset Device.vi were not successful.
       
      PSS: HW is PXIe-6358
       
      PSSS: Unfortunately, I cannot post any image here. Any image format results in "You are not allowed to use that image extension on this community" . The VI is attached.
      watchdogTest150817.vi
    • By pkeny
      Hello,
       
      I have created a vi that controls multiple writes (individually) by a switch. I have it so one individual switch controls one individual write (And is linked to individual clear, stop, error daqmx blocks). I do not think this is efficient as it takes about 4-6 seconds for the switch to actually write (True or False). 
       
      So, I was wondering if someone could help me make my code more efficient so it would run a bit faster.
       
      Thank you
      Digital Outs fine.vi
    • By CANewbie
      Hello,
       
      I think this topic is very important for everybody that are doing advanced DAQ. Because it you want to save an event, you need first to see it(real time analysis), and than to save the transition how the event happened(that means to have values, before the event happened). Using consumer producer structure.
       
      i'm trying to save data into some kind of buffer. my main goal is to delay values. I successfully created a delay using Delay values.vi, the problem is i think it makes the while loop slower. If anyone knows what is a good practice to create a delay for large amounts of samples 100k, 200k, 300k samples? Is a delay values.vi good practice, or is there another better way?
       
      Thank you
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.