Please update your browser. For the best Liquid Instruments experience, update to the latest version of Chrome, Edge, Firefox, or Safari. Update Microsoft Edge.
Liquid Instruments Logo
Products
Hardware Platforms
Moku:Delta
Moku:Delta
New
For advanced design and validation
Moku:Pro
Moku:ProFor versatile test and measurement
Moku:Lab
Moku:LabFor experimental research labs
Moku:Go
Moku:GoFor quick testing and debugging
Compare Hardware
Compare HardwareView a side-by-side of all Moku hardware
Technologies
GenInst Studio
New
Generate personalized instruments
Integrated InstrumentsProfessional-grade instruments at your fingertips
Neural NetworkFPGA-powered neural network integration
Multi-Instrument ModeCombine instruments to create a customized test system
Moku CompileCode, compile, and deploy to your Moku's FPGA
Software
MokuOSDownload the Moku app for Windows, macOS, iPadOS & visionOS
APIsPython, MATLAB, LabVIEW
UtilitiesCommand line and graphical tools for file conversion
Instruments
Analysis
Oscilloscope
Spectrum Analyzer
Frequency Response Analyzer
Lock-in Amplifier
Phasemeter
Logic Analyzer / Pattern Generator
Time & Frequency Analyzer
Data Logger
Generation
Waveform Generator
Arbitrary Waveform Generator
Control & Conditioning
PID Controller
Digital Filter Box
FIR Filter Builder
Laser Lock Box
Custom & Utility
GenInst Studio
New
Gigabit Streamer
Custom Instrument
Neural Network
Multi-Instrument Mode
Applications
Optics and Photonics
Microscopy and Spectroscopy
Photon Counting
Quantum Optics
Aerospace and defense
A&D Instrumentation
Component Test
Automated Testing
Semiconductor Test
Control Systems and Bode Analysis
MEMS Testing
AI and Machine Learning
Generative Instrumentation
New
Neural Networks
Education
Education and Research
Resources
App Notes
Blog
Case Studies
Coursework
Guides
Product Documentation
Publications
Webinars
White Papers
Support
Company
Contact Us
About Us
Leadership
Partners
News & Updates
Press
Events Calendar
Careers
Store
Moku:Delta
Moku:Pro
Moku:Go
Upgrade Moku:Pro
Upgrade Moku:Lab
Upgrade Moku:Go
0
Get a quote Buy Now
Build personalized instruments with GenInst Studio in minutes, not months. | Register for the webinar
Blog

Measuring single-photon events with reconfigurable, FPGA-based instrumentation: Q&A recap

Learn more about the advantages of photon counting, how to calculate autocorrelation from interval histograms, and integrating your photon counting setup with external triggers

April 18, 2025

    This recap and Q+A complement our webinar, Measuring single-photon events with reconfigurable, FPGA-based instrumentation, which we co-hosted with Laser Focus World on April 15, 2025. If you weren’t able to attend live, you can register now for on-demand access here.

    In addition to a webinar summary, we’re providing in-depth answers to select audience questions below.

    Webinar recap

    During this presentation, we gave an overview of photon counting, both in terms of physical setup and potential applications, including advantages, challenges, and critical requirements. We introduced the FPGA-based Moku platform and its reconfigurable suite of test and measurement instruments, focusing on the Moku Time & Frequency Analyzer, which can act as an efficient photon counting solution due to its combination of high data throughput, parallel processing, and zero dead time.  

    In a live demonstration, we deployed the Time & Frequency Analyzer alongside other instruments using Multi-Instrument Mode. First, we generated a sequence of digital data and encoded it onto a pulsed carrier wave through pulse-position modulation (PPM), after which we detected and decoded the waveform with the Time & Frequency Analyzer. For the second demo, we simulated a Hanbury-Brown-Twiss setup using electrical pulses and an Arduino Uno. We observed the histogram populate in real time and showed how to collect export timestamped data using the Time & Frequency Analyzer.

    Questions from the audience

    Why, exactly, is measuring single-photon events more accurate, especially in applications such as long-distance LiDAR?

    In LiDAR, information is encoded in either the modulation of amplitude, phase, or frequency (for a continuous source), or the spacing of pulses (for a pulsed source). When traveling over short distances, the fidelity of the returning signal is generally high. However, when sending information over long distances, the signal is subject to heavy interference from the atmosphere, attenuating the return power to low levels. 

    When using an analog detector in this case, it can be overwhelmed by background noise, from both thermal processes and any amplifiers present. This approach results in a poor SNR and can make coherent demodulation difficult. By contrast, single-photon detectors only “click” when they detect a real photon event, eliminating the input noise introduced by the analog-to-digital converter. Detecting single photons also allows for accurate timestamping, the ability to “gate” signals — listening for a signal only when you expect it, and the ability average over many iterations. These factors can increase the SNR compared to coherent demodulation methods. 

    In quantum optics, there is the g2 parameter that measures auto-correlation effects (coincident rate). Can you comment about how to quantify the g2 parameter?

    The second-order correlation function, g2(𝜏), measures the probability of detecting two photons separated by a time delay 𝜏, which is normalized to the value expected from uncorrelated photons. The value at 𝜏=0 is of particular importance, as this can infer information about the light source. For example:

    • If g2(0) > 1, then the light source tends to emit photons in groups. This is called bunching behavior, and is usually indicative of a thermal light source.
    • If g2(0) < 1, then the light source tends to emit photons at regular intervals, with very little chance of emitting more than one at a time. This is called antibunching behavior, and is a desirable trait for single-photon sources.
    • If g2(0) = 1, then there is no correlation between emitted photons. This is usually true of a coherent light source, such as a laser.

    You can read more about the autocorrelation function in our Hanbury-Brown-Twiss configuration guide.

    As to how to calculate the g2(𝜏) function for a given HBT data set, this information can be obtained through a histogram of the coincidence rate, C(𝛕), as well as the total number of separate events recorded by detectors A and B. The formula for g2(𝜏) as a function of delay time 𝜏, is given by:

    \(g^2(tau) = frac{C(tau)T}{N_a N_b Delta tau}\)

    Where C(𝛕) is the number of coincidence events that occur within the bin centered on delay time 𝛕, is the width of the bin in units of time, T is the total length of the measurement in time, and NA and NB are the total number of individual events captured at detectors A and B, respectively. 

    To perform this using the Moku Time & Frequency Analyzer, you can use the embedded Data Logger to generate a list of timestamped Events A and B. You can then export this data to your host PC, where you will need to define your bin width as well as calculate the coincidence rate for each time bin. With enough events, this should give you an estimate of the autocorrelation rate of your source.

    For Hanbury-Brown-Twiss measurements, can you use a sync pulse with the paired detectors for triggering? Does that require three input channels from Moku:Pro, or can Moku:Go and Moku:Lab also be used for this?

    Yes, you can use a sync pulse. In fact, you may not need to use the third analog channel at all, as both Moku:Pro and Moku:Lab feature a TTL trigger input on the reverse side, which could be used for triggering the capture as well. Moku:Go, unfortunately, does not support a TTL trigger input, so you would be limited to one input channel.

    There are a couple ways to integrate this trigger into your measurements with the Time & Frequency Analyzer. If you’d like to measure the time from your trigger event to one of your photon events, from the Events tab you can set the input source to “Ext. trig.” for any one of Events A through D, as shown in Figure 1.

    Figure 1: Events in the Time & Frequency Analyzer can be sourced from the external trigger input, as well as any of the analog input channels. 

    If you want to only capture events that happen within a trigger window, you can navigate to the “Intervals” tab and set the acquisition mode to “Gated.” The source of this gate can be any of the analog inputs, or the external trigger, as shown in Figure 2. You can also adjust the gate threshold as needed.

    Figure 2: In addition to continuous and windowed mode, the Time & Frequency Analyzer supports gated mode, where events are only captured as long as the applied gate is active. 

    What factors limit the maximum event rate?

    The Moku Time & Frequency Analyzer has two maximum event rates specified: one for burst logging and one for sustained logging. For sustained logging, the event rate of 10 MSa/s is primarily limited by the write speed to the Moku:Pro SSD — not from any physical limitation of the FPGA itself. 

    The maximum burst rate of 312.5 MSa/s (for Moku:Pro) is more interesting to examine. The ADC on the Moku:Pro frontend has a maximum sampling rate of 1.25 GSa/s. However, at least two samples must be recorded for each event, as Moku uses linear interpolation to precisely determine the timestamp. If you want to read more about this process, check out our application note on the topic. This interpolation sequence puts a hard cap on the event logging rate. Due to the way the DSP algorithm is implemented, the actual cap on the event logging rate ends up at one event per four ADC samples — in the case of Moku:Pro, 312.5 MSa/s. 

    Is metastability an issue, since, in the real world, you will trigger on external events asynchronous to your clock? How do you handle this in your instruments?

    Metastability refers to a common issue with FPGAs where a given register receives an input very close in time to the next occurring clock edge. Since the input does not “settle,” before the clock flips, this can cause the FPGA to exhibit strange behavior. These are known as “metastable” states, where the register is not well defined to be either zero or one. In photon counting this can be a concern if you are passing asynchronous digital signals directly to the FPGA, as these events are random — it is more than likely an event will eventually occur in close proximity to the edge of the clock. This could cause data loss or inaccurate time stamping.

    In Moku’s case, the TTL signals originating from some single-photon detectors are first passed through the analog frontend. Even though they are technically “digital,” they are treated as analog signals by the ADC and digitized accordingly. Since the ADC samples synchronously with the system clock on the FPGA, all timing is controlled and metastability is not an issue for the Moku Time & Frequency Analyzer.

    Thank you for viewing our webinar. We look forward to seeing you again.

    For more insightful demonstrations, check out our webinar library for on-demand viewing.

    More questions?

    Get answers to FAQs in our Knowledge Base

    If you have a question about a device feature or instrument function, check out our extensive Knowledge Base to find the answers you’re looking for. You can also quickly see popular articles and refine your search by product or topic.

    Join our User Forum to stay connected

    Want to request a new feature? Have a support tip to share? From use case examples to new feature announcements and more, the User Forum is your one-stop shop for product updates, as well as connection to Liquid Instruments and our global user community.

    Try Moku in demo mode Download the Moku app → Get answers to FAQs Visit Knowledge Base → Connect with Moku users Join the user forum →

    Other Recommended Blog Posts

    Blog
    What is Generative Instrumentation?

    The AI-enabled technology for creating customized test solutions, including specialized measurements, real-time signal processing, and control capabilities

    Date: July 14, 2026

    Blog
    5 Advantages of FPGA-Based Customization for Test & Measurement

    How instruments with user-programmable FPGAs are replacing racks of test equipment, and what that means for your lab.

    Featuring: Moku Cloud Compile

    Date: May 22, 2026

    Blog
    Faster, more powerful real-time customization with MokuOS 4.2

    MokuOS 4.2 unlocks higher bandwidth, faster real-time processing, and more instruments on Moku:Delta, all with a simple software update.

    Date: March 19, 2026

    Back to all Blog

    Nav

    • Products
    • Instruments
    • Resources
    • Support
    • Company
    • Contact Us
    • Privacy Policy
    • Terms of Use

    Offices

    United States
    (619) 332-6230
    12526 High Bluff Dr.
    Suite 150
    San Diego, CA 92130

    Australia
    +61 2 6171 9730
    243 Northbourne Avenue
    Suite 1, Level 1
    Lyneham, ACT 2602

    Australia
    +61 3 7073 3594
    Suite 5C, Level 5,
    700 Swanston Street,
    Carlton, VIC – 3058

     

     

    Follow us

    LinkedIn YouTube X Facebook Instagram

    官方微信

    © 2026 Liquid Instruments. All rights reserved.