matched-filtering

Detect gravitational-wave signals in noisy detector data using PyCBC matched filtering.

4|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/GeneralReasoning/env-skillsbench --skill matched-filtering-generalreasoning
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: matched-filtering
Source: https://github.com/GeneralReasoning/env-skillsbench/tree/main/gravitational-wave-detection/environment/skills/matched-filtering
Command: npx skills add https://github.com/GeneralReasoning/env-skillsbench --skill matched-filtering-generalreasoning

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Matched filtering is the primary technique for detecting gravitational-wave signals in noisy detector data by correlating known template waveforms with the data to identify high-SNR events.

Core Features & Use Cases

  • Time-domain waveform generation and template alignment using PyCBC to enable full end-to-end matched-filter searches.
  • Frequency-domain waveform generation for fast, efficient filtering with compatible approximants.
  • Data conditioning, PSD estimation, SNR calculation, and peak finding to locate candidate events.
  • Practical workflows for a range of binary black hole systems, including mass configurations and detector setups.

Quick Start

Run a matched-filter search by supplying a conditioned strain, PSD, and template parameters to generate and evaluate the SNR time series.

Frequently Asked Questions about matched-filtering

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is matched filtering in gravitational wave data analysis?

Matched filtering is a technique for detecting gravitational-wave signals in noisy detector data by correlating known template waveforms with the data to identify high-SNR events. It compares incoming strain data against theoretical waveform models to find hidden signals.

How do I calculate SNR time series for gravitational waves using PyCBC?

To calculate SNR time series for gravitational waves using PyCBC, supply conditioned strain data, a power spectral density (PSD) estimate, and template parameters to generate and evaluate the matched-filter output. This process locates candidate events by finding peaks in the resulting SNR time series.

Does matched filtering work with frequency-domain waveform approximants?

Matched filtering works with frequency-domain waveform approximants to enable fast, efficient filtering. You must select appropriate waveform approximants and ensure templates are resized to match data or PSD lengths for compatible frequency-domain workflows.

Why do I need to crop edge artifacts after matched filtering?

Cropping edge artifacts after matched filtering is required because the filtering process introduces boundary effects at the start and end of the data segment. Removing these artifacts prevents false-positive peak detections when locating candidate gravitational-wave events.

What data conditioning is needed before running a matched-filter search?

Data conditioning before a matched-filter search requires matching sampling rates and resizing templates to data or PSD lengths. You must also estimate the PSD to accurately characterize detector noise before generating the SNR time series for peak finding.