A Python Implementation of a Kalman filter detector for detecting smoothly variying signals hidden in gaussian noise, such as Fast Radio Bursts (FRBs).
The detection statistic is designed to process I(f)
, a sequence of observed "amplitudes" (where f
is an arbitrary indexed parameter), and decide between the following hypotheses:
H0: I(f) = N(f) Pure gaussian noise
H1: I(f) = A(f) + N(f) A(f) is a smooth gaussian process with an unknown smoothness parameter.
The quickest way to install the package is to use pip:
pip install -U kalman_detector
from kalman_detector.main import KalmanDetector
kalman = KalmanDetector(spectrum_std)
kalman.prepare_fits(ntrials=10000)
kalman.get_significance(spectrum)
An example script demonstrating how to use the Kalman detector can be found in the examples directory.
An example efficiency plot can be generates using:
python -m kalman_detector.efficiency
Please cite Kumar, Zackay & Law (2024) if you find this code useful in your research. The BibTeX entry for the paper is:
@ARTICLE{2024ApJ...960..128K,
author = {{Kumar}, Pravir and {Zackay}, Barak and {Law}, Casey J.},
title = "{Detecting Fast Radio Bursts with Spectral Structure Using the Continuous Forward Algorithm}",
journal = {\apj},
keywords = {Radio astronomy, Radio transient sources, Astronomy data analysis, Astrostatistics techniques, Interstellar scintillation, 1338, 2008, 1858, 1886, 855, Astrophysics - High Energy Astrophysical Phenomena, Astrophysics - Instrumentation and Methods for Astrophysics},
year = 2024,
month = jan,
volume = {960},
number = {2},
eid = {128},
pages = {128},
doi = {10.3847/1538-4357/ad0964},
archivePrefix = {arXiv},
eprint = {2306.07914},
primaryClass = {astro-ph.HE},
adsurl = {https://ui.adsabs.harvard.edu/abs/2024ApJ...960..128K},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}