-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add datasets to TrackBeam for variance between transits #68
base: master
Are you sure you want to change the base?
Conversation
9a203ea
to
4051d99
Compare
4051d99
to
f8adc65
Compare
Is there a particular rationale behind having the components as real, imag and cross? Would amplitude and phase have made more sense? |
I guess it is more straightforward to calculate the real and imaginary covariances? Maybe @ssiegelx can comment. |
I guess the rationale was to provide a complete description of the covariance of the complex visibility in the units/basis that the visibility is saved in the container. If someone is interested in the amplitude and phase stability of the instrument, then they can use the mean visibility to rotate this covariance matrix to the in-phase/quadrature basis and divide by the visibility amplitude squared. If we assume that the amplitude and phase fluctuations are small, then the resulting diagonal elements would give the variance of the amplitude (in fractional units) and variance of the phase (in radians). If you like, I can add properties to the container that perform this rotation and scaling automatically. Or are you suggesting that for each observation, we calculate the amplitude and phase, and then calculate the variance of those two quantities? In this case we would need to be a bit careful with phase wrapping. |
… cov This adds three properties to the TrackBeam container: - `observed_variance_iq` returns observed_variance rotated to the in-phase/quadrature basis - `observed_variance_amp_phase` returns observed variance of amplitude/phase - `observed_weight` returns weights that are derived from the `observed_variance` dataset and can be used directly in place of the `weight` dataset
@jrs65 @tristpinsm hopefully these last two commits address some of the issues that were raised. It keeps the full complex covariance in the real/imag basis, but add an It also adds an Here are examples from a stack of ~40 Cas A observations. Shown is the co-polar measurements for a random frequency and input. First panel is amplitude and second panel is phase. The rainbow colors show 10 of the observations, and the black line is the stack of all 40 observations. Third panel is the error relative to the peak. Rainbow colors are derived from the Note that this particular input is in a different hut from the 26m input. If you flip to the second page you can see the same plots for an input in the same hut as the 26m input. You'll notice that the phase noise is significantly reduced within the primary beam (although still above the thermal noise level). This leads me to believe that we are seeing the short-timescale timing variations, and should probably be applying the timing correction to the holography data for this next round of processing. As you move out into the far sidelobes the phase noise is roughly consistent for these two inputs, which makes me think we are dominated by drift in the phase of the coaxial cables relative to the calibration point at hour angle = 0. Let me know if you have any suggestions of further improvements. If it looks reasonable to you, then perhaps @pboubel could implement something similar for the chimestack visibility stacking. |
example_holo_CAS_A_noise_v2.pdf Here is an updated plot. I had to divide the noise from the I now think it makes more sense to set |
@ssiegelx Thanks for putting this together, those plots are very interesting. I agree it would be good to apply the timing correction at some point in the holography pipeline. Taking a quick look at the existing task for this, it seems it might not need any modification to work on the 26m archive files directly (i.e. in the initial fringestopping/regridding pipeline). Do you think that's correct? I'm also wondering if any of the existing RFI flagging tasks could be run on the holography transits prior to stacking. While testing Alex found some transits that had RFI-like features which propagated into the stack. |
Yeah that's right, it should work on the 26m archive files in the initial fringestopping and regrinding pipeline. The config file would look something like this:
I don't think it would work on the |
With a small tweak to |
required by chime-experiment/ch_pipeline#3