BLRMS revamp
The band-limited RMS output is not particularly insightful at the moment. The thresholds are currently just factors applied to "low" or "high" frequency bands. This is vague and hard to interpret from the output page anyway.
# Threshold for BLRMS increase at low freq
greater_1=1000
# Threshold for BLRMS increase at high freq
greater_2=50
# Threshold for BLRMS decrease at low freq
less_1=0.002
# Threshold for BLRMS decrease at high freq
less_2=0.2
We could instead track the distribution of values in each band, and compute the number of standard deviations away from the mean or report a statistical quantity describing the variance.
This should avoid having to split the thresholds between low and high frequency, but we have to decide on the product and how to do it. Here are some ways to modify the "reference" data that ligocam compares new ASDs to:
- Track just the variance of the noise (assuming a probability distribution) in a. each frequency bin and report only the noisy frequencies; b. each frequency band (1-3 Hz, 3-10 Hz, etc.) and report the way it already looks.
- Track an entire histogram per frequency band (not bin, that would be many MB/channel) and a. compare the current histogram to the reference histogram per frequency band b. compare the current ASD value to the reference histogram per frequency band
The variance in method 1a can be computed quickly exploiting spectrograms: compute a spectrogram and aggregate over its time axis. The variance in method 1b requires chunking the data like the current ligocam code does. This frequency-band chunking is more annoying to propagate through the analysis than it sounds. If we can do away with segmented ASDs where each segment has its own bin width that would make existing algorithms and future ones easier to develop/edit.
We also need to consider, especially for the above modifications, increasing the time segment analyzed (currently 512s) to get better statistics. Since this increases time spend loading/processing data, methods 1a/b are favorable over 2a/b in terms of computing time alone.