Companion implementation of the paper "Probabilistic Estimation of Instantaneous Frequencies of Chirp Signals".
The preprint is available at http://arxiv.org/abs/2205.06306.
Please cite as follows to use the codes.
@article{ZhaoZheng2023Chirp,
title = {Probabilistic Estimation of Instantaneous Frequencies of Chirp Signals},
journal = {IEEE Transactions on Signal Processing},
author = {Zheng Zhao and Simo S\"{a}rkk\"{a} and Jens Sj\"{o}lund and Thomas B. Sch\"{o}n},
year = {2023},
note = {In press}
}
Consider a chirp signal of the form
In the equation above,
The idea is to put priors on both
To have a sense how well this method works, please see the following example figure taken from the paper.
This implementation is based on JaX, as we need auto-differentiation. Please refer to
this official guidance to install JaX. Then open a terminal and use the
following commands to install our chirpgp
package:
git clone [email protected]:spdes/chirpgp.git
cd chirpgp
pip install -r requirements.txt
python setup.py install
orpython setup.py develop
There are a plenty of demos in folder ./demos
. These demos are written self-contained and pedagogical, helping you
understand how the method works.
Try read and run, for example, the script ./demos/ghfs_mle.py
.
The following list explains what the folders in this repository are.
./chirpgp
: This is the Python package folder../demos
: This folder contains runnable demos for a synthetic toymodel. It is very recommended to check this out../docs
: A placeholder for future documentation../paper_plots_tables
: Scripts in this folder reproduce the plots and tables in our paper../real_application
: Real applications../test
: Unit tests../tetralith
: If you would like to exactly reproduce the numerical results in our paper, you need to run the scripts in this folder. Please refer to theREADME.md
within for how to do so.
This package also ships with a submodule for stochastic filtering and smoothing written
in ./chirpgp/filters_smoothers.py
. It supports:
- Kalman filter and RTS smoother in discrete time.
- Extended Kalman filter and smoother in discrete time and continuous-discrete time.
- Sigma-points filters and smoothers in discrete time and continuous-discrete time. Supports Gauss--Hermite and spherical cubature sigma points, and the 4th-order Runge--Kutta integration.
- Posterior Cramér--Rao lower bound.
Zheng Zhao, Uppsala University (2022)
[email protected], [email protected]
The GNU General Public License v3.0 or later.