Suppose I have few samples (e.g. 20) of a decaying sinusoidal function and I am heavily noise-dominated (SNR ~1, noise is Gaussian or Poissonian). Let's think of e.g. \begin{equation} y(t) = A \, \sin(2\pi f+\phi) \, e^{-t/T} + \mathrm{noise}(\sigma) \end{equation} with $f \sim 1\,\mathrm{MHz}$ and $T \sim 10\,\mathrm{us}$.
Now I want to decide whether the signal is present in the noise and maybe get an idea of the amplitude. What is the best way to do this?
What I did in the past was taking 20 samples from the noisy system, uniformly spaced by 250 ns and then compute the FFT and square it. Then I look whether I see a peak at the expected frequency bin. However, this performs poor under heavy noise. I started to look into the book of Bretthorst (Bayesian Spectrum Analysis and Parameter Estimation) and there it is stated on page 20 that the FFT is not ideal if
- the number of samples is small
- the amplitude is decaying
- the frequency is low.
I tried to go down the road of a Bayesian approach as described in the book (starting at page 86). My initial trials to implement a Bayesian estimator from the Bretthorst book in Python were quite disappointing. I couldn't see an improved robustness against the noise.
Therefore, I am wondering: What is the best approach to decide whether I have a signal present? Computation time is not important to me (like no real-time stuff), and I think I have quite some pre-knowledge of my signal: I know that my frequency lies around $1\,\mathrm{MHz} \pm 200\,\mathrm{kHz}$. The phase $\phi$ is unknown, but I don't want to know it. For the decay time $T$, I know a lower bound, say $10\,\mathrm{us}$. In principle, I have a rough guess what the expected standard deviation $\sigma$ of the Gaussian or Poissonian noise is (at least an upper bound).
For the data acquisition, I can choose in principle also non-uniform sampling, but I can't increase the number of sampling points. Classical averaging, like taking multiple times 20 points of the same signal is not possible. I started to look into Wikipedia for Spectral density estimation but I feel overwhelmed by the number of techniques that are out there.