This project contains the Python code associated to the papier
Pascal, B. & Bardenet, R. (2022). ``A covariant, discrete time-frequency representation tailored for zero-based signal detection". Submitted.
hal
Following a recently unorthodox path in time-frequency analysis shedding light on the spectrogram zeros, we introduce a novel generalized time-frequency representation, specifically designed for the analysis of discrete signals, particularly amenable to spatial statistics on the zeros thanks to its compact phase space.
This toolbox provides a stable implementation of this novel Kravchuk transform and the code to reproduce
Figures 1, 2 and 6
of the paper ``A covariant, discrete time-frequency representation tailored for zero-based signal detection", comparing the standard and the Kravchuk spectrograms of noisy chirps, with a peculiar focus on the zeros.
A demonstration is given in the notebookkravchuk-spectrogram-and-zeros
.
A novel efficient methodology relying on the functional statistics of the point process formed by the zeros of the Kravchuk spectrogram for detecting the presence of some signal is implemented.
The detection procedure based on the functional statistics of the zeros of the Kravchuk spectrogram is implemented. For sake of comparison, we provide also an implementation of the counterpart strategy relying on the zeros of the Short-Time Fourier transform developed in the paper ``On the zeros of the spectrogram of white noise" by Bardenet R., Flamant, J. & Chainais, P. (2021) Applied and Computational Harmonic Analysis.
The interested reader can then reproduce
Figures 7, 8 and 9
of the paper ``A covariant, discrete time-frequency representation tailored for zero-based signal detection".
A demonstration is given in the notebookdetection-test-Kravchuk-zeros
.
The following Python libraries are necessary:
matplotlib
numpy
scipy
statsmodels
r2py
Functional statistics of the pattern of zeros of the standard spectrogram are computed using SpatStat
toolbox developed in R
.
The incorporation of R
functions into Python
code relies on the spatstat-interface
, developed by G. Gautier.