High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

Photon counting high speed digitization - Limited by onboard memory

Solved!
Go to solution

For my photon counting experiment, I would like to sample data at the highest possible sampling rate a digitizer can achieve and for a given maximum acquisition time delta=1 second. In this case PXIe-5160 Part Number: 782621-01

  1. Concerns:
    1. Digitizer is limited by it's 64 MB onboard memory
    2. PXIe-PCIe 8381 Remote Controller allows a sustained throughput of 3.2 GB/s but it is limited by the PXIe-1071 chassis which has a theoretical throughput of 1GB/s per slot
    3. 5160 is 10-bit resolution digitizer,
      • Capture rate = (2.5GS/s/Channel * 10 bits)( 1byte/ 8 bits) =3.125GB/s
      • Stream rate of 5160 (theoretical) = 1GB/s
      • Therefore, throughput = 2.125GB/s which is very large value for the chassis to handle
    4. If I limit sampling rate to 1 GS/s and sacrifice resolution by 2 bits making it 8 bits, then I just may be able to capture all data. But I'm still limited by the onboard memory of 64MB.
    5. Is it absolutely necessary to use the onboard digitizer memory as intermediate buffer ? Can all the data be transferred to the HOST PC RAM and then written to hard drive?
      1. Using the 64MB onboard memory chokes data throughput
    6. What would be the best solution I should look forward to if there is no alternative to the limitations caused by the digitizer's onboard memory capacity.

Appreciate all your valuable inputs.

Thanks - Asukumari

NI System Configuration:
- NI PXIe-1071, 4-Slot 3U PXI Express Chassis , 1 GB/Slot throughput, Part Number: 781368-01
- NI PXIe-PCIe8381,x8 Gen2 MXI-Express for PXI Express Interface,3m, Part Number: 782522-01
- PXIe-5160 PXI Oscilloscope, 500 MHz, 10 bits, 2.5 GS/s, 2 Channels, 64 MB, Part Number: 782621-01
- Astronics PXIe-1209 2-Channel, 100 MHz PXI Pulse Generator, Part Number: 785033-01
0 Kudos
Message 1 of 12
(5,980 Views)

Depending on your count rate you can use multiple buffer aquisition. The rearming of the trigger takes some time (ns), but you save memory during no counts. And if you can estinate the photon arrival time (in syncwith the pulse generator?) even better 🙂

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 2 of 12
(5,978 Views)

Hello again Henrik, hope you are doing well.

 

When you said count rate, you mean sampling rate/speed ? If yes then I have decided to go with the aggregate sampling rate of ~1.00GS/s/Channel instead of full rate (2.5GS/s/Ch).

 

Multiple buffer acquisition meaning circular buffer system like this ? I'm trying to find whitepaper/examples of the same to learn more.

 

Photon arrival time will be at a repetition rate of 10(Hz) to 100 KHz (max). How is this related to multiple buffer acquisition ?

 

- AS

NI System Configuration:
- NI PXIe-1071, 4-Slot 3U PXI Express Chassis , 1 GB/Slot throughput, Part Number: 781368-01
- NI PXIe-PCIe8381,x8 Gen2 MXI-Express for PXI Express Interface,3m, Part Number: 782522-01
- PXIe-5160 PXI Oscilloscope, 500 MHz, 10 bits, 2.5 GS/s, 2 Channels, 64 MB, Part Number: 782621-01
- Astronics PXIe-1209 2-Channel, 100 MHz PXI Pulse Generator, Part Number: 785033-01
0 Kudos
Message 3 of 12
(5,975 Views)

Count rate of your photons (10Hz to 100kHz)

I expect that you want the energy of the pulse 😉

See NI-Scope manual for multi record aquisition and the shipped example (modular instr./NI-scope/continous...) . Say you need 1k samples for your pulse (ok add another 1k, say 2k samples 😉 ) at 2.5GHz samplerate , you can trigger with your pulse generator (and even use pretrigger samples or delay) and capture only the part during the photon arrival . The internal memory is  split  into chuck of your sample bursts  and not wasted to measure the dark current 😄

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 4 of 12
(5,966 Views)

I apologize, I guess I misunderstood about what you meant by count rate of photons. Let me explain what I am trying to achieve using a simple timing diagram.

high_speed_digitization_onboard_memory.png

What you described is exactly what I am trying to achieve:

  1. Capture data only when a trigger is detected and stop capture when a stop trigger is again detected. See here for my recent post about the same.
  2. Yes, I want to evaluate the energy of the pulses and also quantize as fine as possible using a high speed digitizer
  3. I want to capture only the part of "Photon arrival/Emission". In order to do this I have to GATE my acquisition window to single events or records as shown in my diagram.
    1. Measuring dark current rate can be a separate acquisition which can be used to subtract from all future acquisitions to obtain dark-corrected values.
  4. I need to collect data only for a single event (for a window of 1.00ms) at 2.5GS/sec/ch or 1.00GS/sec/ch. How do you know the timing of your Photon arrival in order to start-stop acquisition. It is independent of when you send the pulse (from pulse generator) to when a sample gets excited by the pulse to when it emits photons.
  5. Does the math about how much data is actually developed (shown in the diagram) make sense? So capturing for a time frame of 1ms will only create 2.5MB of data which needs to be transferred to the Host PC. The challenge is how do I tell the digitizer to only capture for 1ms at 2.5GS/sec rate.
NI System Configuration:
- NI PXIe-1071, 4-Slot 3U PXI Express Chassis , 1 GB/Slot throughput, Part Number: 781368-01
- NI PXIe-PCIe8381,x8 Gen2 MXI-Express for PXI Express Interface,3m, Part Number: 782522-01
- PXIe-5160 PXI Oscilloscope, 500 MHz, 10 bits, 2.5 GS/s, 2 Channels, 64 MB, Part Number: 782621-01
- Astronics PXIe-1209 2-Channel, 100 MHz PXI Pulse Generator, Part Number: 785033-01
0 Kudos
Message 5 of 12
(5,926 Views)
  1. I apologize but I guess you are referring to the count rate of detector (photon counter), I am not sure how that is a factor with respect to digitization. I would want to capture everything regardless of the detector's count rate. Let me explain with the following diagram

high_speed_digitization_onboard_memory.png

 

  1. YES, I want the energy of pulses and sampling them at high rates will give a larger insight of their details I hope.
  2. YES, whatever you have described is exactly what I want to achieve:
    1. Acquire data only around a start-stop trigger for a pre-defined acquisition time period T (as shown in the diagram, 1.00ms) @ 2.5GS/sec/Ch OR 1.25GS/sec/Ch
    2. Based on these parameters the digitizer should only produce 2.5MB of data (if we go with 1.25GS/sec), which should not be a concern as it comes with 64MB of onboard memory.
    3. The challenge is how to tell the digitizer to acquire data for T = 0.001 sec @ 1.25GS/sec rate; and specifically when to start-stop the acquisition with triggers.
    4. Does the math shown in the figure on how much data is produced make sense?
  3. What do you mean when you say 2k samples@2.5GHz rate? I would like to acquire all 2.5G samples for each pulse event as depicted in the figure.
  4. Photon arrival time period is shown as 1-pulse event in the figure, dark current measurement can be a separate acquisition event which can be used later to obtain dark corrected values.
NI System Configuration:
- NI PXIe-1071, 4-Slot 3U PXI Express Chassis , 1 GB/Slot throughput, Part Number: 781368-01
- NI PXIe-PCIe8381,x8 Gen2 MXI-Express for PXI Express Interface,3m, Part Number: 782522-01
- PXIe-5160 PXI Oscilloscope, 500 MHz, 10 bits, 2.5 GS/s, 2 Channels, 64 MB, Part Number: 782621-01
- Astronics PXIe-1209 2-Channel, 100 MHz PXI Pulse Generator, Part Number: 785033-01
0 Kudos
Message 6 of 12
(5,929 Views)

If you want to capture all contnious samples you run into the problems you noted and you need to throw money on it. (More fast memory , or more cards reading sequential , or ...)

Please tell me more about your experiment.

I assume you have an exitation (stimulus pulse with a repetition rate 10Hz to 100kHz) and want to record the response .

Is the response a single even or short burst of photons? Is the timing deterministic after the stimulus?

How long is one photon pulse (~2µs?)  and if more the photon burst ?

 

If there is only a single pulse of 1-2µs I would configure the scope card to trigger on and capture only that pulse (with some more samples before and after) ... and 2µs at 2GHz leads to 2k samples 😉   3µs @2.5GHz is 7.5k samples followed by a deadtime for rearming the trigger and reading the configured pretrigger points .  

Can you post one or more typical 1ms dataframes ?

 

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 7 of 12
(5,922 Views)

Hello Henrik,

 

If you want to capture all contnious samples you run into the problems you noted and you need to throw money on it. (More fast memory , or more cards reading sequential , or ...)

When you say 'all continuous' - my goal is only to capture between a start-stop trigger for 1ms. So based on the math I provided, all continuous samples should fall within 3MB of data which I think the digitizer can handle very  easily. Did I get this concept right?

Please tell me more about your experiment.

I assume you have an exitation (stimulus pulse with a repetition rate 10Hz to 100kHz) and want to record the response .

Yes you are correct. Excitation (stimuli pulse) is a burst of 5 or 10 pulses @ 10Hz rate (for simplicity sake) and I want to record the response.

Is the response a single even or short burst of photons? Is the timing deterministic after the stimulus?

Short burst of photons. Timing starts when excitation pulse is sent.

How long is one photon pulse (~2µs?)  and if more the photon burst ?

Sorry, I am not sure I understand your question but if more photon burst they overlap on each other giving a higher amplitude. See the figure below, photon fall on each pixel.

2018-07-06 08_56_33-e03_handbook_si_apd_mppc.pdf (SECURED) - Foxit Reader.png2018-07-06 08_56_45-e03_handbook_si_apd_mppc.pdf (SECURED) - Foxit Reader.png

If there is only a single pulse of 1-2µs I would configure the scope card to trigger on and capture only that pulse (with some more samples before and after) ... and 2µs at 2GHz leads to 2k samples Smiley Wink   3µs @2.5GHz is 7.5k samples followed by a deadtime for rearming the trigger and reading the configured pretrigger points .  

Yes, the problem is I don't exactly know how many pulses will occur therefore I want to digitize everything within a given time window. 1ms @ 2.5GHz leads to 2.5MSampels. Each sample represented by 16-bits = 2.5M x 16-bit = 40 MB of data. I think the digitizer with 64MB onboard memory should be capable of handling this with a single start-stop trigger event. Am I right?

Can you post one or more typical 1ms dataframes ?

I do not have any dataframes collected to show yet.

NI System Configuration:
- NI PXIe-1071, 4-Slot 3U PXI Express Chassis , 1 GB/Slot throughput, Part Number: 781368-01
- NI PXIe-PCIe8381,x8 Gen2 MXI-Express for PXI Express Interface,3m, Part Number: 782522-01
- PXIe-5160 PXI Oscilloscope, 500 MHz, 10 bits, 2.5 GS/s, 2 Channels, 64 MB, Part Number: 782621-01
- Astronics PXIe-1209 2-Channel, 100 MHz PXI Pulse Generator, Part Number: 785033-01
0 Kudos
Message 8 of 12
(5,906 Views)

So configure a triggered  multi record aquisition , each record with 2.5Msample length 

start with the shipped exampe

niScope EX Multi Record Fetch More Than Available Memory.vi

or

niScope EX Multi Record.vi

 

modify the trigger according to your needs. (digital or externel from your pulse source)

put that into a producer consumer architecture (scope as producer) have a look at the HWS vis too

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 9 of 12
(5,902 Views)

Thank you very much.

 

I was planning to architect a producer-consumer design methodology but thought its best to save data with TDMS format after reviewing certain NI whitepapers. Do you still wish me to try HWS? I don't see any support for HWS on MATLAB or Mathematica. It will be difficult to analyze data later on isn't it.

 

- AS

NI System Configuration:
- NI PXIe-1071, 4-Slot 3U PXI Express Chassis , 1 GB/Slot throughput, Part Number: 781368-01
- NI PXIe-PCIe8381,x8 Gen2 MXI-Express for PXI Express Interface,3m, Part Number: 782522-01
- PXIe-5160 PXI Oscilloscope, 500 MHz, 10 bits, 2.5 GS/s, 2 Channels, 64 MB, Part Number: 782621-01
- Astronics PXIe-1209 2-Channel, 100 MHz PXI Pulse Generator, Part Number: 785033-01
0 Kudos
Message 10 of 12
(5,898 Views)