Log 2
Justin
Vandenbroucke
justinv@hep.stanford.edu
Stanford
University
8/26/02 – 9/24/02
This file contains log entries
summarizing the results of various small subprojects of the AUTEC study. Each entry begins with a date, a title, and
the names of any relevant programs (Labview .vi files or Matlab .m files – if
an extension is not given, they are assumed to be .m files).
8/26/02
Event energy spectrum
eventSpectrum
Below is a plot of the energy
spectrum of events. Event energy is
defined to be the sum of the pressure (in Pa) squared over 179 samples. The DC offset is removed before
squaring. RMS noise is not
removed. In the dominant channel (4), there appears to be an exponential
spectrum in addition to some small peak between 0.2 and 0.3 Pa2. All events from Dec 01 – Jan 02 are plotted.
8/27/02
Negative time differences – LabVIEW
problem
SAUND test double buffer read.vi
check times.vi
I confirmed that LabVIEW reads the
same sequence of 20,480 samples twice in a row following an acquisition buffer
overflow. Spencer at NI is checking on
this problem and on why I can’t use the extra 512 MB of memory added to the
machine.
8/27/02
Search for coincidence with more
than 4 phones
phonesPerGroup
Below are two plots showing the
number of phones hit per group (counting only groups with intersections in the
fiducial cylinder). In the Dec – Jan
data, there are 10 groups with 7 phones hit.
Plotting time series shows events that are loud, above the noise, and
with similar shapes.
Combinatorics is still a problem for
7-phone events. Several of these groups
are composed of 28 events, with only one of 7 events.
8/28/02
ADC numbers
From
C:\AUTEC_analysis\text files_2002.08.07\NI documents \card.pdf (PCI E Series User Manual), the possible ADC ranges
are +/- 0.05, 0.01, 0.25, 0.5, 1, 2.5, 5, 10 V. The range is currently set to +/- 0.5 V, giving a pressure range
of +/- 7 Pa. According to Nikolai’s
paper, the expected amplitude for a hadronic shower of energy 1020
eV at 1 km is 0.4 Pa (0.08 Pa for EM shower) , so this should be
sufficient. The
card (National Instruments PCI-MIO-16E-1) has a 12-bit ADC, 1 sign bit and 11
magnitude bits. So with a range of –0.5
to +0.5 V, the least significant bit and ADC precision is 0.5/211 =
0.24414 mV = 3.4486 mPa.
8/28/02
Gaussian noise
calcNoiseDistribution
plotNoiseDistribution
We never checked the gaussianity of
the white noise. Below is a histogram
of 20,480 consecutive voltage measurements (spanning 0.1 s). The bins are exactly the possible output
values of the ADC. The DC offset is
clearly visible, as is the variation in phone noise levels. Presumably the variation is in the
hydrophone gains and not the noise environments of the phones.
8/28/02
Fits of gaussian noise
fitNoiseDistributions
plotNoiseFits
For each 10-minutely 20,480-sample,
0.1 s waveform, a gaussian was fit to the voltage distribution of each
phone. Below are the results for 250
hours in Dec – Jan (first plot) and 166 hours in June 2002 (second plot). These should be better determinations of noise
level and offset than previous ones.
Note in the second plot that the DC levels of two channels change
abruptly for a day and a half and then return to their previous values.
8/28/02
Noise variation with time of day
plotNoiseVsTimeOfDay
Below is a plot of gaussian noise
sigma vs. time of day for one month of data.
There is perhaps a slight change at dawn and dusk, but it is not a
significant difference.
8/29/02
Online code improvements
Solved the negative dt problem in
the online code: see AUTEC_programs_2002.08.29\version_history.txt.
9/4/02
Samples above threshold per event
triggersPerEvent
plotTriggersPerEvent
A difficulty with the histogram method of thresholding is that there are
multiple samples of the filtered signal above threshold in each 179-sample
event capture. In the histogram, should
we count each sample or enforce a separation of 179 samples? Below are data on the number of samples
above threshold per event for 7 hours of data.
9/4/02
plotFilterFits
Filter gaussian fits
The filtered signal is dominated by
Gaussian noise, as it should be (filtering a gaussian signal results in a
gaussian signal). Below are data on the
evolution of the fits to the gaussian distribution of filter values, taken
every 10 minutes. Recall the threshold
mean is 0.024, with a range from 0.016 to 0.104.
9/4/02
Overall noise distribution
fitOverallNoiseDistribution
The plot below gives histograms for
the gaussian noise including all 0.1 s samples taken every 10 minutes for 120
hours. The 120 hours have a stable DC
offset (two channels jump DC values for ~40 hours succeeding these and then
jump back to their previous values).
The table below gives the fit
parameters for the gaussian distributions.
These values will be used as the best value for online DC removal and
gain rescaling. Online DC is the
current hard-coded value removed online before analysis. Best scale factors are simple sigma / mean
of all 7 sigmas.
9/5/02
Correlation
checkCorrelation
Below are data for the correlation
of every 100th trigger 1 (which is written independent of trigger
2). Currently, trigger 2 requires that
the correlation is less than 500. Its
rejection rate is 15%. 4/1000 of the
events have correlation less than –500.
9/11/02
Dependence of overflow rate on
buffer size
plotBacklog
The plot below gives a histogram of
the backlog (measured every time an event occurs). Overflow occurs at 3e6.
Also, by counting the number of times the overflow goes above a number,
the hypothetical number of overflows that would result from a buffer of that
size can be determined. For 1e6
samples, we would have an additional ~15 overflows / hour, twice the current
rate. This is without taking into
account the good effects of the improved thresholding algorithm, which should
lower the overflow rate.
9/16/02
Regular point displacements
plotPointDisplacements
Point displacements were determined
by requiring that the difference in amplitudes between the two
largest-amplitude samples, divided by the largest amplitude, is above 0.7. Below is a histogram of this rejection
criterion.
Time differences were determined
between these point displacements.
These events largely explain the 1.5 s periodic structure, as shown in
the plot below.
The plot below shows the rates of
all events and of point displacements.
The overall rate of spikes (point displacements) is 3 %.
9/16/02
Periodic structure in all events
dtDistribution
The plots below show consecutive
event dt’s for all events.
In the first plot below, structure
every 20 ms is evident (50 Hz). 60 Hz
would be every 0.01666 s.
9/19/02
Summary of data taking in the past
year
daysOfData
We have taken data for over a year
now. It would be interesting to do some
analysis of noise levels over the course of the entire year. To do this we would ideally have some data
taken every day. Below are two plots
summarizing during which days any data were taken. Since we began running, about half of the days have some
data. The plots are complete up to the last
shipment of data, which contained through mid – June 2002.
9/19/02
Gaussian noise over time
plotMinutelyNoiseEnergies
Noise power spectra are written
minutely. In each spectrum, 512 values
are written for each channel. Each
value gives the power at a particular frequency, in steps of df = 1/512/(5.6e-6
s) = 349 Hz. The first value gives the
DC power, which is very high due to the DC offset. Indexing from 1 (which is the DC power), the ith value gives the
power at frequency df * (i-1). The 257th
value gives the power at the Nyquist frequency, 256*df = 89 kHz (half of the
sampling frequency). The 255 values
following the Nyquist frequency are redundant: Y257+i = Y257-i
for i from 1 to 255, where Yj (j from 1 to 512) are the power
values. The first half represents
positive harmonics, while the second half represents negative harmonics. The power of the jth harmonic (j from 2 to
256) is Yj + Y514-j = 2Yj. The DC and Nyquist powers are Y1
and Y257, respectively. So
the total non-DC power is the sum of all elements of Y from 2 to 512.
Minutely spectra are calculated from
the first 34*512*5.6e6 s @ 0.1 s of data. They are determined by using the LabVIEW standard function Power
Spectrum on 34 consecutive time series of 512 samples each. These 34 power spectra are then
averaged. Online, the values are then
divided by df (to convert from power to power per unit frequency) and
multiplied by 2 (so that the harmonic powers are given by Yj rather
than 2Yj). Nikolai
implemented these two conversions but I find the default easier to work with so
I reverse them offline (multiply by df and divide by 2). The minutely noise energy is then defined as
NE = v2p * v2p * 179 * sum(spec(2:end,:)) * df / 2, where spec is the power
spectrum on disk and v2p is the conversion factor from Volts to Pascals. This value is now equivalent to the sum of
179 Pressure values squared. It is
therefore suitable for direct comparison to event energies. The noise values are not rescaled by the
individual phone gains.
The plots below give noise data for
all data available in June 2002.
The first plot below shows a
close-up of the noise during a couple days.
Note that the noise level in all 7 channels strangely jumps back and
forth several times between two discrete values. The second plot shows a histogram of noise energies for Dec 2001 –
Jan 2002.
The first plot below gives, for
comparison, a histogram of event energies.
All events from Dec 01 – Jan 02 arge plotted. See the 8/26/02 log entry for details. The second plot
9/20/02
10-minutely time series noise
plotNoiseEnergies
Every 10 minutes a 0.1 s time series
is written. With DC removed, 179 *
<P2>, where P is the pressure, of this series should give a
measure of the noise that is equivalent to the minutely calculation shown above
from the power spectrum (it is also directly comparable to event
energies). Compare the plot below to
that above for all June 2002 data.
9/20/02
Noise variation with time of day
plotNoiseVsTimeOfDayMinutely
The plot below gives the mean noise
in each channel for each hour of the day, averaged over about one month of
data. There appears to be a significant
spike in all channels at dusk.
9/20/02
Daily mean noise energies
plotDailyNoise
The plot below shows daily mean
noise energies for each channel. There
are a couple exceptionally noisy data, but this is too short a period (1 month)
to see seasonal variation.
9/20/02
Noise volatility
noiseVolatility
Unfortunately the noise energy
varies a great deal over short time periods.
The first plot below is a histogram of |dN|, the absolute value of the
difference in noise energy between two consecutive minutes. The distributions are peaked at small values
but have very long tails. Note the
variation in channels. Channel three is
more volatile than the others. The
second plot gives the average of the distributions over all channels. One-half of the minutes have mean dN (over
channels) below 1e-3.
The table below gives the average
value of |dN|, along with the average value of N (noise energy), for each
channel (also for Dec 2001 – Jan 2002 data).
Typically the noise energy varies by 1/10 of its value from minute to
minute.
9/20/02
New online code
checkDanSampleMinuteData
Dan Belasco at Site 3 has installed
AUTEC_programs_2002.09.15, and sent several minutes of data for me to
check. There are a couple
problems. The first is fairly small:
the new direct thresholding from the previous minute’s distribution of filter
values includes all filter values that are high due to electronic correlated
noise. However, only 15% of level 1
triggers are rejected by level 2. So
ideally our target event rate would be 60 / .85 = 71 events per minute. However, the rejection rate of 15% is fairly
volatile and varies between 10 % and 90 %.
In the sample Dan sent, there was an average of 10 events per minute
(see plot below). Hopefully this is
lower than typical and the average will be roughly 60 * 0.85 = 51 events /
minute.
The new version writes Vrms every
0.1 s (in previous versions we could only calculate Vrms, or noise energy, once
per minute – from the power spectrum).
This will help analyze the volatility of the noise energy. Vrms for the sample Dan sent is shown in the
first plot below. Unfortunately the gains
appear to have changed again. The gain
of channel 7 appears to have increased significantly while the other channels
remained unchanged. Compare to the
second plot below, pasted from a 9/19/02 log entry. Indeed, every single event (51 of them) in the sample Dan sent
occurred at channel 7. Apparently we
need to have automatic gain correction built into the program.
New scale factors can be calculated
from these data. They are given in the
table below. The new scale factors are
<Vrms> divided by the mean of <Vrms> over all channels.
The new threshold algorithm is
generally working well. Online, the
stream of samples is filtered and then broken into 179-sample waveforms. The maximum of each waveform, if it is above 0.016, is added to a filter
histogram. This is then used for the
next minute to predict a threshold that will yield close to 60 events. The histogram is written each minute. The first plot below is an example. The second plot gives the threshold values. Previously the threshold could only change
by 0.004 in either direction; now it can jump to any multiple of 0.002.
9/22/02
New online code
I sent a new version to Dan with the
new scale factors. Also changed Vrms
from rescaled to raw values. For some
reason the first event of Dan’s sample had a zero-length time series (likely
because of a failed call to get subarray), but I couldn’t reproduce the error
or figure out why it would have happened.
9/23/02
Gain problems in channel 7
Dan emailed saying that there was a
postamp problem with phone 7 that he noticed in July and fixed August 15.
8/23/02
AUTEC_programs_2002.09.23
Dan sent a sample of 4 minutes with
the new data. They are summarized in
the plots below. Note the very high
Vrms values (typical values are 1 mV, while these are 10 mV). Channels 3 and 4 cross over. It looks like there may be a noise object
(ship) moving through the array. The
filter values are correspondingly much higher than usual (typical threshold is
0.04). The new scale factors appear to
not be great. All 122 events occurred
in channel 4.
9/24/02
Correlated noise
plotTenMinutelyCorrelation
If spike noise occurs with a
semiregular period, perhaps correlated noise does too. Indeed, it does. The plots below are all for the entire Dec 2001 – Jan 2002 data
range. The 0.1 s time series written
every 10 minutes were used to measure the correlation over time (regardless of
triggering). Each 0.1 s time series was
broken into ~100 subwaveforms of length 179 (1 ms). The same algorithm used to calculate the correlation in the
online level two trigger was applied to each of these 179-sample
waveforms. The first plot below shows
all of these correlation values over time.
The second plot gives their distribution. It is roughly gaussian near zero, with a negative tail and a
longer positive tail (corresponding to correlated noise). The gaussian is centered slightly right of
zero, likely due to residual cross talk (although most of the cross talk is
removed ). As in the level 2 trigger,
time series with correlation above 500 are considered to be correlated noise
events. A histogram of the number of
these events per 0.1 s time series is plotted in the next plot. The final plot gives a histogram of time
differences between correlated noise occurrences. The spike at 0.l ms is for when consecutive 179-sample
subwaveforms are both correlated (the period of correlation stretches beyond
0.1 s). There are also spikes at
multiples of 0.017 ~ 1/60 s, corresponding to a 60 Hz rep rate.