High-speed aquisition time stamp
I am using traditional NI-DAQ with a 6071E board and acquiring data at very high rates using AquireWaveforms.VI I want to save this data in a text file with either a column of time first or even a column of time before each channel (anywhere from 1-64 channels). Because I am acquiring at such high rates, I suppose I want to be able to extract timing data from the Hardware since I'm not looping and any software timing wouldn't be accurate. Also, if at all possible I want to be able to have the time for each measurement from each channel so I can include the phase shift that comes with multiplexing. Is any of this possible? I really need resolution much better than 1 second. at least to the millisecond, but I am looking for even bette
r than this.
Thanks so much,
Rick
The waveform carries a DT (delta Time) component.
Use the GET WAVEFORM COMPONENTS function to extract the DT. That should be the actual dT used, not necessarily the rate you asked for.
If you have a DT number, you create the array with a FOR loop:
For I = 0 to NSamples-1
Time[i] = i * DT
As far as the inter-channel time, the minimum value is a property of the card, but it's also controlled by software: LV can extend it.
I don't know about the express VIs: I never use them. But the original AI CLOCK CONFIG, has an input where you can specify it.
If that doesn't work, and you have access to some test equipment, you can find it out for yourself:
Set up a ramp generator for 0.0 - 1.0 V at 1000 Hz.
This means the voltage is
changing 1 volt per mSec.
This means the voltage is changing 1 mV per uSec.
Wire the ramp generator to channels 0, and 10.
Perform a DAQ operation, with all channels 0-10 active.
Pick out a portion of the waveform, where the voltage is increasing on all channels (exclude the drop at cycle's end). Ignore channels 1-9.
Subtract the channel 10 array from the channel 0 array.
Average the result array and divide the average by 10.
The average value, in mV, is the channel delay time, in uSec.
By comparing channels 0 and 10, you're measuring 10 intervals, not one, so you're more accurate.
Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com
Blog for (mostly LabVIEW) programmers: Tips And Tricks
Similar Messages
-
Macbook running slow. Fan runs at high speed at times.
I have a late 2008 white Macbook and after installing an upgrade to OS X 10.6.6 it has been running slow in many applications, and the fan seems to run at high speed at times. Not sure if the change in performance is related to the upgrade, or just coincidental. I currently have 2GB of memory installed.
Do this reset perhaps twice:
SMC RESET
http://support.apple.com/kb/HT3964
Shut down the computer.
Unplug the computer's power cord and ALL peripherals.
Wait 15 seconds.
Attach the computers power cable.
Wait another 5 seconds and press the power button to turn on the computer.
The 5 second timing is important to a successful reset. -
Now I'm going to develop a device driver in win2K for LV system,which can control a PCI Mutilfunction board(AD,DA,DIO,C/T).We already have developed a driver in win DDK,and it works good.
It's seems that there are many way roading to the aim,but what I should choose?
Now I have the follow thoughts:
1.Using VISA
2.Using C++ to call the APIs in the windows drivers.And then using VIs to call the APIs gernerated in C++.Maybe I should call the APIs directly from the windows drivers,but how can I use a pointer and receive datas that posted by the drivers.In this way ,the aquisition datas was copied for so many times and obvios not good for performce.
The driver should work in a high speed condition(eg.16bitsX1M),especialy in datas delivering.And then ,we should think about the developing time(TTM).
Who will give me some advices about these?Or another better way?
Thanks a lot .The waveform carries a DT (delta Time) component.
Use the GET WAVEFORM COMPONENTS function to extract the DT. That should be the actual dT used, not necessarily the rate you asked for.
If you have a DT number, you create the array with a FOR loop:
For I = 0 to NSamples-1
Time[i] = i * DT
As far as the inter-channel time, the minimum value is a property of the card, but it's also controlled by software: LV can extend it.
I don't know about the express VIs: I never use them. But the original AI CLOCK CONFIG, has an input where you can specify it.
If that doesn't work, and you have access to some test equipment, you can find it out for yourself:
Set up a ramp generator for 0.0 - 1.0 V at 1000 Hz.
This means the voltage is
changing 1 volt per mSec.
This means the voltage is changing 1 mV per uSec.
Wire the ramp generator to channels 0, and 10.
Perform a DAQ operation, with all channels 0-10 active.
Pick out a portion of the waveform, where the voltage is increasing on all channels (exclude the drop at cycle's end). Ignore channels 1-9.
Subtract the channel 10 array from the channel 0 array.
Average the result array and divide the average by 10.
The average value, in mV, is the channel delay time, in uSec.
By comparing channels 0 and 10, you're measuring 10 intervals, not one, so you're more accurate.
Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com
Blog for (mostly LabVIEW) programmers: Tips And Tricks -
Att high speed and time capsule?
Just upgraded to att high speed internet, can I also use time capsule? Wasn't aware that att internet was a modem and router together but bought time capsule for the backup capabilities.
There are several options from which to choose.
You can connect the Time Capsule to one of the Ethernet ports on the ATT modem/router and configure the Time Capsule for backup purposes only and use the wireless on the ATT modem/router. In this case, you would not enable the wireless on the Time Capsule.
Or, you can configure the Time Capsule to provide a wireless network and use that network.
If you elect this option, it would probably make sense to turn off the wireless on the ATT modem/router....since two wireless routers in close proximity can create interference issues. -
A research group has developed a data acquisition system dedicated to daily observations of solar phenomena at radio waves using high time resolution (5-100 ms).
First, the analog signal from the antenna (1000-2500 MHz) is sent to a spectrum analyzer (HP8559-A). After that, the analog signal is digitized during 5 minutes in a NI USB-6009 device connected to the PC, before to be stored in a file. By that time, other acquisition data cycle is restarted and so on up to the end of day.
However, we need timestamp (UTC) the solar data at the beginning and end of each sample of 5 milliseconds, during all acquisition process, in order to have the UTC time information of recorded solar events. So, a time resolution of at least 1 ms is required.
A software permit us to read recorded data and visualize corresponding spectra during last 5 minutes. However, we need UTC time information in the format hh:mm:ss.sss UT. Then, UTC millisecond is important for us, but not available yet.
To solve this problem, we are searching for a high accuracy timing GPS receiver (on the order of microseconds or nanoseconds), with at least three significant digits of precision (UT time in milliseconds) and which give us the UTC signal at least each 5 milliseconds or even better (1 ms). However, most GPS receivers only outputs 1 PPS (Pulse Per Second = 1000 millisecond).
Then, we are open to a better addressing on how to solve this problem !!
We know that GPS time synchronization with PXI-6608 can be used to precisely timestamp data acquisition, but we have to solve this problem with a lower cost. Also, we require a PCI interfacing instead of PXI.
Do we have to use a timer card? How do we use a timer, GPS and USB-6009 to timestamp data acquisition? Does the NI PCI-6602 solve the problem?
Obs:
The data acquisition software was developed in C++ Builder to run on a PC (Pentium III 2 GHz) under Windows XP environment. We used the NI-DAQmxBase driver to sample the signal from the NI USB-6009.
We are sure your expertise can help us on this matter.
Regards,I better explain my problem in the thread How to timestamp continuous analog data acquisition using USB-6009 and GPS timing board?
We are considering to use the PCI-1588 or a GPS timing board (low-profile slot too), but I´m not sure that the USB-6009 can be used to solve the problem.
How to syncronize the data acquisition and timestamps using USB-6009 and PCI-1588 with external GPS?
In other thread I would appreciate any suggestions for GPS timing board and PCI-1588 too.
Regards,
Lilian -
I owned an Apple Tv and since I upgrade my internet to higher speed my Apple Tv does not work. Please someone help.
In most scenarios you shouldn't need to forward ports, however if you need to, you may be best contacting your ISP.
As with most router issues, I would recommend that you contact your ISP with details of your problem (assuming that it was your ISP that provided it to you).
There are simply too many manufacturers with different software features and settings and often different names for such features and settings, that the best advice will likely come from those that are knowledgeable about your particular router.
Make sure your router/computer allows access over the following ports
Port
Type
Protocol
Used By
53
TCP/UDP
DNS
DNS
80
TCP
HTTP
AirPlay, iTunes Store
123
TCP/UDP
NTP
Network Time
443
TCP
HTTPS
AirPlay, PhotoStream, iTunes Store
554
TCP/UDP
RTSP
AirPlay
1900
UDP
SSDP
Bonjour
3689
TCP
DAAP
iTunes, AirPlay, HomeSharing
5297
TCP
Bonjour
5298
TCP/UDP
Bonjour
5350
UDP
NAT
Bonjour
5351
UDP
NAT
Bonjour
5353
TCP/UDP
MDNS
Bonjour, AirPlay, HomeSharing
8000-8999
TCP
iTunes Radio Streams
42000-42999
TCP
iTunes Radio Streams
49159
UDP
MDNS (Win)
Bonjour, AirPlay
49163
UDP
MDNS (Win)
Bonjour, AirPlay
The following article(s) may help you.
Troubleshooting Home Sharing
Troubleshooting Wi-Fi networks and connections
Recommended Wi-Fi settings -
I have an iMac (Mid 2007) upgraded to Lion OS. My fan runs at high speed all the time. I reset the SMT without results. I had no way to do the hardware test.
Can I fix this high fan speed?Open Activity Monitor in the Utilities folder. Select All Processes from the Processes dropdown menu. Click twice on the CPU% column header to display in descending order. If you find a process using a large amount of CPU time, then select the process and click on the Quit icon in the toolbar. Click on the Force Quit button to kill the process. See if that helps. Be sure to note the name of the runaway process so you can track down the cause of the problem.
If the above doesn't help then create a new user account. Log into the new account. Does this fix the problem? -
Dear all NI high speed digitizer experts:
I post a question concerning the two-channel configuration using NI5154 digitizer (see Need help to configure a two-channel acquisition using NI5154 ).
As we need to do some measurement using NI5154 very soon so purchase a DAQ board as suggested by Efrain is not a option for our coming experiment. So I try to configure the NI5154 a two channel acquisition. I configure the NI5154 to count pulse in two channels. Our experimental setup will send pulse to channel 0 for 400 ms and then stop. 100 ms later pulses from other source will be send to channel 1 for 2 s. I thought the 100ms dead time in our setup would be long enough for the digitizer to switch from channel 0 to channel 1. But after some test I found the digitizer takes more time to switch between channels.
I made a test vi (NISCOPE-Timing.vi) just for count how many ms it takes for the digitizer to switch between channels. In the attached vi, if you run for only one channel one loop takes about 20 ms in my pc. If you run for two channels it takes about 130 ms for one loop. If you just run one channel twice the loop time is about 40 ms (I mean stop a channel and then restart the that channel).
I don't understand why it takes so long to switch from channel 0 to channel 1. As I tested the niScope Commit.vi consumes a lot of time for the second channel. Is there any way to avoid this? We can not extend the 100ms long dead time of out set up so I must get rid of this problem.
Solved!
Go to Solution.
Attachments:
NiSCOPE-Timing.vi 34 KBHi Lixin,
There are a couple of different options that you may try. The first, which it sounds like you may not prefer, is to use the TRIG line on the 5154 and somehow find a way to route both sets of pulses to that line. You can either somehow connect both lines to the one input or use some sort of external switch since the signals will not come in at the same time.
Unfortunately, what you re seeing in terms of the time it takes the board to reconfigure itself for a different trigger channel and re-inititiate is due to the settling time that is necessary for the board to be able to fully reach its specifications. The majority of settling usually occurs pretty quickly, but the board will wait for some time to get the best possible performance in terms of specs. If you are okay with reducing this settling time (and very slightly diminish the specified performance), then you can use an internal scope property to set the max settling time.
I have attached a .rc file which must be placed in the LabVIEW directory for niScope to enable use of this property node. Please place the file in your ...\Program Files\National Instruments\<LabVIEW 2009>\instr.lib\niScope directory. Once the file is in that directory, restart LabVIEW, and you should be able to see a new category in the niScope Property Node tree titled "Internal". Under that category, you will have the Max Settling Time property, which gives the driver a maximum amount of time (in seconds) to wait for settling before beginning a new acquisition. Add this new property to your first property node at the beginning of your program. I tested this out with a value of 50 ms and found that my initiate went from ~125 ms to ~53 ms or so after reconfiguring the trigger channel and re-initiating.
Hope this helps!
Daniel S.
National Instruments
Attachments:
niScopeMaxSettling.zip 1 KB -
I am just a beginner learning the LabVIEW programming currently.
I have a PXI 6115 DAQ card and have to make a hardware timed acquisition VI for maximum performance. Thus I use the High Speed Data Logger VI for data acquisition.
However, when I read my data by using the High Speed Data Reader VI, it doesn't show its correct time information in the graph.
How can I modify the High Speed Data Reader VI to show correct time information in x-axis?
I hope you can explain easily because I am a beginner.Hey Chunrok,
I've modified the High Speed Data Reader VI slightly so that it now uses the scan rate of the data (as determined from the file) to set the scaling for the data points. If you wanted the start time to be a specific time you could use the start time obtained from your file to set the xscale offset as well.
I hope this helps!
Sarah Miracle
National Instruments
Attachments:
Example.vi 281 KB -
How can I modify the High Speed Data Reader VI to show the time information in x-axis?
I am just a beginner learning the LabVIEW programming currently.
I have a PXI 6115 DAQ card and have to make a hardware timed acquisition VI for maximum performance. Thus I use the High Speed Data Logger VI for data acquisition.
However, when I read my data by using the High Speed Data Reader VI, it doesn't show its time information in the graph.
How can I modify the High Speed Data Reader VI to show the time information in x-axis?
I hope you can explain easily because I am a beginner.Format the x axis to either absoulte or relative time.
You can do this by right clickingo n the graph and selecting x axis then formatting from the menu.
Thanks,
Naresh -
How can I modify the High Speed Data Reader VI to show correct time information in x-axis?
I am just a beginner learning the LabVIEW programming currently.
I have a PXI 6115 DAQ card and have to make a hardware timed acquisition VI for maximum performance. Thus I use the High Speed Data Logger VI for data acquisition.
However, when I read my data by using the High Speed Data Reader VI, it doesn't show its correct time information in the graph.
How can I modify the High Speed Data Reader VI to show correct time information in x-axis?
I hope you can explain easily because I am a beginner.First, I couldn't seem to find that example either on computer or on the NI sites.
The problem that we're running into is stated in the article that I pointed to - when real time VIs are running, then the OS will stop updating the OS clock. TO us it looks like the clock is losing time. There is a hardware clock on the PXI and it is read only during boot up to set the OS clock. Our discussions with NI have not led to a solution for this problem without checking the time on start and then checking the tick count (which does not lose time) and calculating what the current time is. No access to the hardware clock is supplied.
We're still working on a simpler way to get accurate time.
Rob -
Mac mini Intel Core Duo fan very loud and runs at high speed all the time.
I purchased an "Open box" Mac mini Intel Core Duo, 1.66Ghz, 2G ram, 80G HD and SD a few days ago from Fry's.
It runs beautifully except the fan is very loud compared to any Mac my family has ever had. It is so loud that we were thinking of putting it under the desk.
The fan runs constantly, and I mean all the time, at a high speed. You can really feel the air coming out the exhaust vents. The case is always cool to the touch as is the exhaust air.
My aunt bought a similar Mac mini (But only 512Mb ram) the same day. Her's is very quiet. The case feels just slightly warm, not unlike other Mac mini's I've seen.
Should my Mac mini's fan be running this way?
Thanks,
llulua
BTW: The "open box" was sealed with a Fry's label and it said that this had a new warranty. Yet, checking the serial number, it said that it had about 260 days left. I guess Fry's is backing it?
Also, someone told me that perhaps the main wire from the fan to the logic board is disconnected.
eMac 1Ghz, iBook 500 dual usb, Mac mini 1.66Ghz Intel Core Duo 2g ram Mac OS X (10.4.8)
eMac 1Ghz, iBook 500 dual usb, Mac mini 1.66Ghz Intel Core Duo 2g ram Mac OS X (10.4.8)Since you have 2 gigs of memory, my thoughts are that when the party (Fry's or the origianl purchaser) upgraded the memory, they neglected to reattach the wire at the front of the Mini under the IR receptor at the right front corner that regulates the fan speed. This wire must be unattached in order to upgrade the memory, and is probably why the original person brought it back, because of the fan noise resulting from failing to reattach the wire. If that wire is left unattached, the fan runs continually at high speed to protect the CPU and system in general. If you do not want to use a putty knife to open the Mini, take it back to Fry's and ask someone who is Mac savvy to open it and reattach the small plastic receptacle at the end of the wire into its socket at the right front of the machine. When I go to Fry's, I am always concerned because the employees allow people to pry keys off of the Apple notebooks, so don't expect that their employees to know or care about anything Mac.
Al PB 12" 1.5 Mac OS X (10.4.5) -
GPS Access to high precision time and time stamping WASAPI microphone captures
I am interested in using multiple WPs to capture microphone WAV that is time stamped with high accuracy (sub millisecond), hopefully from the GPS system. The GPS hardware obviously has the capability to sub microsecond levels but I can't find an API for
it.What I would like to do is get geo positional data, which has a defined statistical uncertainty but might be relatively better correlated and as accurate a time stamp as possible. Latency isn't an issue but consistency is. GPS, of course, easily produces
time information to sub microsecond though I don't know a way to access it in WP. .1ms consistency would be all I really need but it's important that each phone in a cluster be able to capture and time stamp a sound (assume all phones are equidistant
from a source) to within .1ms. I am thinking of a product that could be used, for one obvious example at weddings, to capture the proceedings and allow after the fact enjoyment by replaying the proceedings and shifting the focus on the bride/groom minister
as they talk using beam forming dsp tech from the data. There are other ways but it occurs to me that the ubiquity of smart phones would really make this easy. Just have the guests download an app. It would be part of a wedding doc package along with videography
and stills. -
Hello all.
I have just set up a new cisco DPQ3925 wireless router that Optus sent me to be able to access the higher speed internet I have signed up for.
I have a 4th gen apple extreme that I want to use to extend the wifi but when I try to update the settings via the airport utility I get a message that says it cannot do so, and to check it is in range and the wifi is set up correctly. I'm not experienced with these things but I can't think what I have done wrong.
Is anybody able to help me please.You cannot use the AE to extend wireless from a non apple router such as your cisco modem router.. they are not compatible..
You need to tie to the two devices together either with ethernet or something like EOP adapters.. They are about $120 and you can price match in officeworks. -
Skipped seconds in time stamp loop
Hi all,
I have a two 6024E cards which I am synchronizing via a RTSI cable. I
have an 860mHz Dell dimension with 512 MB of RAM. I am simply logging
analog signals from the cards to a text file on a 1s timebases. The
problem is that the output data file shows a time stamp is missed every
once and a while. I have tried adjusting the rate of sampling and
number of samples, but there always appears to be a hiccup in the
timestamping. I even tried hardware timing with a timed loop and one of
the on-board counters. The hiccups were even more frequent then. Maybe
the code needs to be more efficient, but I am stumped. I attached the
data logger vi. I appreciate any input.
Thanks,
dewey
Attachments:
acquire_ver5a.zip 1433 KBHello Dewey,
A couple recommendations for your program:
You are manually generating a timestamp for your signals using an
elaborate algorithm that I haven't really taken the time to
understand. I might be easier, more efficient, and more accurate
to just acquire your data as a Waveform data type from the DAQmx Read
Analog VI instead of acquiring data as an array of doubles. The
Waveform data type includes a built in timestamp that you could parse
out and log to file instead of calculating your own timestamp using the
Tick Count (ms) VI. Take a look at the LabVIEW Help and there is
a section under File I/O about Writing Waveform Data to a File Using
Storage VIs.
I would also highly recommend you remove any Wait or Wait for Next ms
Mutlitple VIs from your program. You are already configuring the
sampling rate of your continuous acquisition earlier in your program
using the DAQmx Timing (Sample Clock) VI. This is configuring the
DAQ tasks to use the hardware clock to use the onboard sample clock of
Dev1 for your acquisition. With the sample clock timing
configured, the NI-DAQmx driver will automatically take care of the
speed of execution of your while loop based on the rate you specify in
the DAQmx Timing VI. By manually including waits in your while
loop, you are conflicting with the timing parameters you set up in your
DAQ task. This could lead to buffer overflows, missed samples,
and otherwise non-deterministic sample timing. I would suggest
taking a look at the LabVIEW DAQmx shipping example Multi-Device
Synch-Analog Input-Continuous Acquisition.VI which can be found in the
NI Example Finder (Help >> Find Examples) in the following
category: Hardware Input and Output >> DAQmx >>
Synchronization >> Multi-Device.
I hope these suggestions help!
Regards,
Travis G.
Applications Engineering
National Instruments
www.ni.com/support
Maybe you are looking for
-
Run Time Error on Saving Sales Order
Hello, We are facing problem when saving sales order. When order is created and save button is pressed, it saves sales order and gives Order Number. But while saving the order during update it gives dump due to Data duplication in VBFA while inserti
-
I bought and downloaded the windows 7 ultimate edition 64 bit iso, then proceeded to perform a correct burn to a DVD one at the slowest speed and one at the fastest. all went well. so I open Boot Camp assistant and follow the instructions to the lett
-
Moving a parent in a Dimension using a rules file
I would like too move a parent in one of my dimensions to the bottom of that Dimension using a rule file Please advise
-
Can i replace a burnt out backlight on 4 generation nano??
So my iPod nano's backlight has been cutting off at random times and sometimes I can get it to come back on by resetting the iPod but other times I cannot. Is there a possibility that the backlight is burning out and needs to be replaced? Can it be
-
Automatic Row Processing (DML) process is not updating the record
Hi all, I have an application which was working fine last week and tested and backuped to new application. This Monday, one of the form in that application is not updating the data all of a sudden. I debug that by having page 0 variable and assign th