-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
461 spectral window #463
base: master
Are you sure you want to change the base?
461 spectral window #463
Conversation
Really cool @mpyat2! Perhaps the DFT will have issues with unevenly spaced data, which your comment may be alluding to, but this is a great addition! I am less familiar with Spectral Window, but see some references, e.g. https://encyclopediaofmath.org/wiki/Spectral_window If you have another reference you are using, could you point me to that? As you may see from #204 I'm implementing a piecewise linear model (almost done) that will be incorporated with the AoV period search plugin for model creation as well as being standalone. Some of the other issues you see could be collaborated on if it helps. |
…rovement); Math.tan(a/2) instead of sin(a), cos(a) increased performance at ~40% on my machine
Hi @dbenn , concerning "Spectral Window": it is implemented like in Period04, see http://period04.net/files/p04manual_v1.0.0.pdf, page 53. There is no theory (unfortunately) in the guide, but only a practical example. I'll look for a better description. Also, a very lapidary description can be found here: https://www.cbabelgium.com/peranso/UserGuideHTML/Spectralwindow.html. I also wrote a couple of words about it in the documentation for the plug-in (see DFT and Spectral Window Plug-In.pdf) |
Recommending a new minimal version of Java of VStar may be worth considering @mpyat2. |
…eless, and the lists indices are int.
Well, it's probably sufficient to indicate that it it recommended to switch to the newest version available because of better optimization, performance win, etc. |
Also, the Spectral Window can be considered as a 'representation of gaps' and the finite nature of the observing interval. The Fourier spectrum of the real data is a convolution of an 'ideal' spectrum with the Fourier transform of this "gaps' function" (see this abstract https://ui.adsabs.harvard.edu/abs/1975Ap%26SS..36..137D/abstract). By the way, in the appendix to the article, a short Fortran program, which calculates both DFT and Spectral Window, is listed. Well, I noticed it now only; in fact, it is quite simple and is easy to reinvent (this is a straightforward calculation of Eq. 3 from the article). |
This implements the "Spectral Window" algorithm (with the results identical to the popular program Period04, http://period04.net/). The algorithm is essentially the 'classic' Discrete Fourier Transform as it is described in (Deeming 1975, bibcode 1975Ap&SS..36..137D) for a signal with unit amplitude.
Since we need DFT for this, I made the plug-in 2 in 1: DFT itself (again, identical to Period04, which uses this very algorithm) and Spectral Window. The 'Classic' DFT is the most primitive one and loses to other algorithms (for example, DC DFT) in many cases, yet why not have it for the collection?
To-do:
Side notes:
Test data: eta_Aql_2024_visual.txt
eta_Aql_2024_visual.txt