- #1
- 893
- 483
- TL;DR Summary
- I am looking for a program or programming library that can take the power spectral density (PSD) of a signal as an input and return it's modified allan deviation as an output.
Mathematically, you can convert between a power spectral density (PSD) and the modified allan variance as follows:
$$\sigma_y^2 (\tau) = \int_0^{\infty} \frac{G_\nu(f)}{\nu^2} \times 32 \frac{(\sin(\pi f \tau/2))^4 \times |\sin(\pi f \tau)|^2}{(\pi \tau f)^4} df$$
I was wondering if anyone knew of a piece of software or a programming library that implements this conversion. I'm working on a project and trying to minimize the amount of code I personally need to maintain.
Definitions:
##\nu##: the center frequency of the signal being studied
##\sigma_y(\tau)##: the modified allan deviation of the fractional frequency deviation, ##y = \frac{\delta \nu}{\nu}##, as a function of time ##\tau##
##G_{\nu}(f)##: the power spectral density of frequency deviations (##\delta \nu##, not ##y##)I have already looked into the program stable32 and python's allantools module. As far as I could tell from reading the documentation, stable32 doesn't do a psd-to-allan feature. The allantools module does have a psd2allan function in it's docs, but whenever I pip install the module and import it, that function simply doesn't appear in the module (all the other documented functions do! ). I think it must not be implemented yet or something.
Note to mods: I realize this is a programming question, but I felt it belonged more in the statistics subforum since it's so specialized. Feel free to move it if necessary!
$$\sigma_y^2 (\tau) = \int_0^{\infty} \frac{G_\nu(f)}{\nu^2} \times 32 \frac{(\sin(\pi f \tau/2))^4 \times |\sin(\pi f \tau)|^2}{(\pi \tau f)^4} df$$
I was wondering if anyone knew of a piece of software or a programming library that implements this conversion. I'm working on a project and trying to minimize the amount of code I personally need to maintain.
Definitions:
##\nu##: the center frequency of the signal being studied
##\sigma_y(\tau)##: the modified allan deviation of the fractional frequency deviation, ##y = \frac{\delta \nu}{\nu}##, as a function of time ##\tau##
##G_{\nu}(f)##: the power spectral density of frequency deviations (##\delta \nu##, not ##y##)I have already looked into the program stable32 and python's allantools module. As far as I could tell from reading the documentation, stable32 doesn't do a psd-to-allan feature. The allantools module does have a psd2allan function in it's docs, but whenever I pip install the module and import it, that function simply doesn't appear in the module (all the other documented functions do! ). I think it must not be implemented yet or something.
Note to mods: I realize this is a programming question, but I felt it belonged more in the statistics subforum since it's so specialized. Feel free to move it if necessary!