FPG​A‑based real-time pulse detection and analysis

  • ​Optional firmware package​ for the onboard FPGA
  • Onboard pulse extraction and analysis help lower CPU/GPU load
  • Detection window used to isolate pulses of interest
  • Individual level trigger for each channel and data-driven dynamic record length​
  • Real-time pulse analysis to extract peak position, pulse duration, full width at half max (FWHM), centroid, and more
  • Autonomous baseline drift and pattern noise correction with Digital baseline stabilizer (DBS)
  • Advanced data handling and latency control mechanisms to ensure robust continuous operation
  • Firmware updates can be done by the user via the ADQUpdater​ tool that is included in the SDK​



​​
​​​​




Description

FWPD is an FPGA‑based firmware option that adds real‑time pulse detection, classification, and attribute extraction to Teledyne SP Devices’ digitizers. It operates on the full-rate data stream from the ADC and significantly reduce the raw data volume before it reaches the host computer.

By computing key pulse attributes in hardware, FWPD helps match data throughput to the available transfer bandwidth while off‑loading CPU/GPU resources for further analysis or storage. This enables high‑performance, continuous measurements even in dense, high‑frequency pulse environments where the raw data rate would otherwise exceed the available transfer bandwidth.

Functionality and feature set vary between digitizer models. Please refer to the corresponding datasheet and/or user guide for details, and see the video below for a short capability overview.​​​​​​

FWPD combines several powerful capabilities that work together to ensure high‑performance pulse detection and optimized data throughput:

  • A detection window specifies the time span in which FWPD searches for pulses. It is opened by a trigger event and runs for a user‑defined duration, providing a well‑defined region where pulse detection and analysis take place.​
  • A user-defined per-channel amplitude threshold helps identify pulses within the detection window. FWPD determines the start and end of each pulse dynamically from the acquired samples, so-called dynamic record length.
  • The system records and transfers only the samples associated with detected pulses, discarding all non‑pulse data. This approach, known as zero suppression, can significantly reduce the data rate.
  • Multi peak detection finds pulses that occur so close together that a standard level trigger would miss them, using a dynamic threshold to identify additional peaks on the tail of a previous pulse (ADQ3-series only).
  • Temperature‑dependent baseline drift is automatically corrected in the background by the Digital Baseline Stabilizer (DBS). This prevents baseline shifts that could otherwise distort peak values, affect pulse areas, or cause pulses to be missed entirely.
  • FWPD performs real‑time pulse attribute extraction inside the FPGA, providing access to key pulse metrics such as:
    • Peak Amplitude - The highest sample value within the pulse, representing the maximum signal strength observed.
    • Time of Peak - The precise timestamp of the sample where the pulse reaches its maximum amplitude, providing an accurate measure of pulse arrival time.
    • Centroid - A weighted “center‑of‑mass” position of the pulse, offering a refined timing estimate that accounts for the entire pulse shape rather than only the peak.
    • Full Width at Half Maximum (FWHM) - The width of the pulse measured at 50% of its peak amplitude. This parameter characterizes pulse shape and is useful for distinguishing different types of events.
    • Area - The integrated pulse area calculated by summing all samples belonging to the pulse. This reflects total pulse energy or charge and is often used in quantification and classification tasks.
    • Status - A bit‑field indicating additional information about the pulse, such as threshold conditions or computation flags, enabling robust quality assessment of each detected event.​
    • Custom attributes can be added to the open FPGA using the firmware development kit​​​
  • Optional parallel streaming of raw data allows users to complement attribute data with full waveforms whenever deeper analysis is required.​

FWPD + GPU Processing for Advanced Analysis

FWPD’s real‑time pulse detection and attribute extraction significantly reduce the data volume that must be transferred to the host PC, making it practical to pair the digitizer with modern GPU‑based processing pipelines. With the heavy front‑end work already handled inside the FPGA, GPUs can be dedicated to more advanced tasks such as resolving overlapping pulses, performing multi‑dimensional clustering, or running machine‑learning models for event classification. This division of labor enables high‑fidelity analysis at extreme pulse rates, combining deterministic FPGA preprocessing with the flexibility and computational power of GPU architectures.

Control and Visualization​

FWPD-enabled digitizers can be controlled and visualized through both graphical tools and software APIs, giving users full flexibility in how they configure, monitor, and analyze pulse-based measurements.

Digitizer Studio​

Digitizer Studio provides an intuitive graphical interface for configuring FWPD parameters, visualizing real time data, and verifying system operation. Users can adjust thresholds, window lengths, trigger conditions, and streaming modes directly from the GUI, and view raw waveforms, detected pulses, and extracted attributes side by side. This makes it easy to validate FWPD settings and rapidly optimize performance for a given application.

C/C++ and Python Control via ADQAPI

For integration into automated workflows or custom applications, FWPD is fully accessible through the ADQAPI, with support for C, C++, and Python. The API exposes all relevant configuration parameters - such as trigger settings, detection window control, pulse attribute readout, and streaming mode selection - allowing users to script, automate, or embed FWPD based acquisition into larger measurement systems.

ADQAPI also supports high-throughput data transfers, simultaneous attribute and raw-data readout streams, and per-channel configuration, making it well-suited for advanced, real-time analysis pipelines.​

Product ​Comment​
ADQ32 Order code ADQ32-FWPD
ADQ32-PDRX Order code ADQ32-PDRX-FWPD
ADQ33​ ​ Order code ADQ33-FWPD
ADQ30​​ Order code ADQ30-FWPD
ADQ36​​​ Order code ADQ36-FWPD
ADQ14​ Order code ADQ14-FWPD​​
ADQ7DC
Order code ADQ7DC-FWPD​​​​​​​​