LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to calculate individual periods of an incoming signal

I am trying to create a list of times differences between the arrival every consecutive photon arriving at a detector (i.e. all the periods of the the input signal). This means that I need to find not only the time difference between the first and the second pulse but the second and the third pulse as well and so on.

 

As far as I am aware, the VIs I have available (labview 2010 with NI- DAQmx)  only calculate an average period so not between every single pulse. I need to find out if there is any VIs I have missed or any technique that i could use to accuratley find these periods.

 

One cause of my problems is that the incoming signal is of fairly high frequency (a photon arriving up to every 1E-7 seconds) and can vary quite a bit (it can increase and decrease by about an order of magnitude). The counter that I am using is a NI BNC-2110

 

I am fairly new to labview so forgive me my stupidity and I am sorry for any information that I have missed.

Thanks for the help!

0 Kudos
Message 1 of 17
(5,284 Views)

Hi Romasp,

 

You can use the tick count function to know the time.

time.jpg

Tried it I think it will resolve your issue.

 

Thanks and Regards

Himanshu Goyal

Thanks and Regards
Himanshu Goyal | LabVIEW Engineer- Power System Automation
Values that steer us ahead: Passion | Innovation | Ambition | Diligence | Teamwork
It Only gets BETTER!!!
0 Kudos
Message 2 of 17
(5,273 Views)

Himanshui Goyal,

 

The original poster said his pulses may be on the order of 1E-7 seconds apart.  The Tick count function can only resolve milliseconds so is inappropriate for his purpose.

 

Romasp,

 

1. The BNC-2110 is just a connector block. That number does not tell us what kind of data aqcuisition device you have. What kind of card is inside the computer?  If you are using Windows, look at MAX to find out what devices you have.

2. The measurement you are trying to make is a non-trivial challenge.  Your wording is not entirely consistent. "A photon up to every 1E-7... and ... increase and decrease by an order of magnitude." Is the range of pulse times 1E-5 to 1E-7 or 1E-6 to 1E-8?

3. How long is the duration of the measurement you need to make?  By duration I am referring to the time from the start of the process until you have measured all the data for that session?

4. A counter probably will not work.  Even if you set it up to measure period with a 100 MHz or faster clock, you would probably only get every other pulse, plus whatever dead time was required to transfer that data from the counter to the computer.

5. Are the detector output pulses directly from a PMT or have they been conditioned to be some kind of digital pulse? If digital, what is the pulse width?

6. I would consider using a fast digital input device (assuming digital pulses) and calculating the times of rising edges from the array indexes.  Whether this can be done with a high speed DIO device and a standard desktop computer or whether it would require FPGA, I do not know.  That is outside my experience.

 

Lynn

Message 3 of 17
(5,265 Views)

I'm not into this physical field as well, I shoot much more photons at my DUTs (never counted them, should I?). Smiley Wink

But my understanding is you need a bit more hardware for this.

 

A clock is just counting pulses (better: edges, e.g. whenever the signal is making a transistion between 0.8 and 2.3 V). A digital waveform on the other hand is giving you the high/low-levels at 'any' time. This 'any' time will depend on the sampling rate of the digital input (DI) of the DAQ. You'll need one that is less than puls duration and required timing resolution.

Next will be the time accuracy. Most likely you can meet it with the sampling clock which triggers the DI. But it might be, you need to use a clock (not a counter but something like an atomic clock, look for GPS modules as they are primary references of time) that is very accurate and sample both signals continuosly.

Major issue I see is that transfering that huge amont of data (you need to aquire fast) won't work in real time. I can't give you numbers, but my experience is that I could go with 650kHz (18bit analog sampling) at 1s measurement time to make everything starve. You are just one (or two) magnitude away, so could be possible. So really is an important issue how long the complete measurment will take and if you can get it into the onbord memory and transfer it later.

So we need some more detailed specs from you to help you further...

 

Felix

0 Kudos
Message 4 of 17
(5,254 Views)
  • I the hardware that I am using is a NI PCI 6014 but I also have access to a PCI 6601.
  • The photon count frequency can range from about 1e-6 to 1e-8 photons per second because I am analysing flucuation in scattered light, however I can also reduce the countrate to 100kHz.
  • The duration of the experiment can be anything as long as I get enough data points for statistical purposes. I have currently been running it for 600,000 data points which equates to about a second measurement time if it worked properly.
  • The pulses are directley from the PMT but it has a built in conversion to digital signals. I dont konw the pulse width, I am currently writing a program to find it.

Hope this is all the information you wanted.

 

Thank you!

0 Kudos
Message 5 of 17
(5,242 Views)

I think none of your cards can do the job

The 6014 has a maximum sampling rate of 200kS/s

The 6601 has a maximum sampling rate of 20MS/s

When you say 1e-6 tot 1e-8 photons/s you need at least 200MS/s

How come you can reduce the count rate to 100kHz? That's 1000 times slower than you expect photons!!

Or did I miss something somewhere??

 

 

What type of signal comes out of your "photon counter"? Is it a digital signal or a any sort of analogue signal?

0 Kudos
Message 6 of 17
(5,232 Views)

I can reduce the countrate by reducing the intensity of the light from the laser (i.e. half closing the shutter). It isnt the magnitude of time between photons that matters, its how the time changes between each photon. However a higher countrate gives me better statistics.

 

It is a digital signal that comes out of the PMT and I assume a digital signal for the counter because it outputs pulses.

 

Is there no trick like buffering that I can do to allow the counters to overcome the sampling rate problem?

0 Kudos
Message 7 of 17
(5,229 Views)

Since you're interested in the TIME in between 2 photons you just can't use counters!

Counters just count photons but give you no information of the time between them.

 

I would use the 6601, 1 analog input with a full speed sampling rate of 20MHz.

According to the specifications of that card you can:

  • Can perform one high-speed DMA transfer

Acquire some seconds of data and then write software that locates consecutive rising and falling edges of the analogue acquisition.

The number of samples in between two edges * 50ns is the time in between 2 photons.

0 Kudos
Message 8 of 17
(5,226 Views)

As Alain S said in an earlier post, you need sampling at 200 MS/s or faster to acquire the data you want from pulses 1E-8 seconds apart. Neither of your cards comes anywhere close. The sampling speed requirement could be even higher, depending on the pulse width.  If for example the PMT generates pulse of 1 ns width, then your sampling rate would need to greater than 1GS/s to assure that yu had at least one sample while the pulse was present.  The 200 MS/s rate assumes that the pulses and the minimum gap are both 5 ns.

 

If the data comes in as one byte per sample, you will have at least 200 MB of data each second. If the DAQ device has a buffer that big or the DMA can move data to memory that fast, then you will be OK. You can anaylyze the data later to determine the time intervals between pulses.

 

Consider 01010000000000100.  If you were sampling a digital input line at 200 MS/s this would represent 3 photons: occurring 10, 20, and 75 ns after the beginning of the acquistion.

 

Lynn

0 Kudos
Message 9 of 17
(5,219 Views)

I fail to see the need to save all the data if what you want in the end is statistics. As Alain and Lynn said 200MHz is the minimum sampling rate that can be use and this is assuming the duty cycle of your signal is 50% in other cases you need an higher sampling rate.

 

For a measurement like this I would recommend the use of a fast digital scope as the Tektronix DPO7000 series. These scope will probably calculate the statistics you want: mean, min, max, std deviation, event count.

 

... and the you can use LabVIEW to control the scope and get the measured statistics.

 

Ben64

0 Kudos
Message 10 of 17
(5,195 Views)