High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

performance optimizing using FetchBinary8 with 5112 on a windows system and transfer this application to real time linux

I'm working here with Visual C++. Net and try to find a way to better performance. I want to sample a so called Composite Video Signal. It is created by a radar system, i can trigger this radar system external generating a square wave of 3 Khz (PRF)using NI 6602 card.
The video signal timing than is based on this inserted 3 khz square wave. The videobandwidth is greater than 12 MHz, that means according to Nyquist i have to sample with more than 2*12 Mhz, to get everything fine.

However i don't do that, i just use 16,6 M Samples (100MS/6), because of resolution parameters, i may use a antialiasing filter for the nyquist stuff.

The radar antenna of this system turns around in about 1,5 Sec. and i want to capture 240 degrees, that means i want to capture 1 sec of video signal, that means about 16,6 MSample, if i take the whole thing.

Ok thats looks ok with the onboard memory.
Well one question is, how (and can i?) can i get the data from the onboard mem using fetchBin8 fast enought with using c++ in pc mem? i can start fetching the data, after starting the InitAquiring command. Setting the timeout variable to 0 means, that every sample/data when it is generated, will be transfered to pc memory just in that moment, or a little bit later,. Is this right?

However, i don't need all samples, that means i can decrease my data volume. I also use the 3 kHz signal as my trigger for the 5112 card. On every rising trigger i want to capture 5000 samples and this 3000 times (1 Second!).

Well this causes problems, i tried that and got a long time to fetch the data 6 Sec.?, but this time changes, because of windows interupting ? Than i wrote the data to disk, this 15 Mbytes took about 0.5 Sec.

Well from this 5000 Samples only need the first 1000 and the last 1000, so i can work with pretrigger and get me 2000 samples, but also 3000 times.

This decreases the fetch time to about 2,84 Sec. and the storage time to hard disk to 0.3 Sec.

However, the time also changes here.

So i include my source code, some one has a idea?

Well and at least, one goal is that this system should work under real time linux, is there a driver available or is someone working on one?

Thanks for your help

Mario Behn
behn@mirsl.ecs.umass.edu
0 Kudos
Message 1 of 4
(5,294 Views)
I would first like to answer your big picture question, which is whether or not we have Linux support for the NI 5112. The answer is no and we are not currently developing a driver in Linux for the NI 5112. As for the rest of your questions, you might be better off submitting an email or phone call to technical support because of the detail of your questions. There is more information about your setup that support will need to know in order to answer your questions effectively. Please let us know if this is an option, otherwise we'll continue the conversation here.
0 Kudos
Message 2 of 4
(5,294 Views)
Hi Josh,

we can continue the discussion using technical support and find a way to optimize the transfer rate.Please send me a phone number or email-adress at technical support.

Thank you.

Mario Behn

behn@mirsl.ecs.umass.edu
0 Kudos
Message 3 of 4
(5,294 Views)
For technical support, please go to www.ni.com/ask and choose the type of communication method (phone or email). You will be answered by an Applications Engineer who will be able to answer your questions or find someone who can.
0 Kudos
Message 4 of 4
(5,294 Views)