5/23/2002
We found that RemoveDC (being used in ReadeventRec) removes the DC signal simply by subtracting the mean of all samples, rather than using the data obtained by readMinuteOandS. Anyway, Justin said that I do not need to worry about it.
Later I found in eventList the following way to fix DC offset and rescale:
for s=1:numSamples
ets(s,:) = ((ets(s,:)' - dc)./scale)'; % offset and scale the time series
end;
Question:
function coincidenceEventLists
…
d1 = load(infilename); Some EvnetLists file.
if (~isempty(d1.dne))
…
But dne was saved in eventList as “save(filename,'dne','le','t0','tchan','mchan','mamp')”. Is it automatically converted to a structure?
Confused about getTimeDistanceMatrix.
Why the four nearest neighbors are important? (Intuitively it is correct, rigorous mathematical proof?)
Question:
phonesHit = find(channelHitList == 1);
n = length(phonesHit);
if ((n >= 4) & ~isempty(find(phonesHit == 7))) Why still need to see isempty even though n>=4 is present?
5/24/2002
What does a diamond mean? What is the geometry?
In coincidenceEventList1Hour
j =
i; % first
make sure the ith event itself is added to the list
When
searching for coincidence, for each event (name it event 1), we only try to
find the events occurred after it that can make a coincidence, and we ignore
the events that occurred before it. It
is justifiable since should an event (name it event 0) occurred before the
specified event can make a coincidence with the existing one (event 1), it
should have already been counted when searching for the coincidence of event
0. I think it is Justin’s logic.
Is
it more subtle than that? Needs more
consideration.
Also,
it may happen that event 1 can make a coincidence with event 2 and event 3
based on the time difference between event 1 and event 2, and the time
difference between event 1 and event 3; however, it is possible such
coincidence is impossible because the time difference between event 2 and event
3 is too long. I think such possibility
is low but it does exist. We may need a
more complete subprogram to generate a hit list a possible coincidence list
given the first (or any) event in the coincidence.
Not sure what the structure of cel is (in coincidenceEventList1Hour).
cel
= [cel; length(eventList); eventList];
Fixed. The structure of cel and how you read it can be understood by reading coincidenceCutPressure.
It is also a great place to learn how to manipulate vectors.
Need to understand more about structure, OK for now. A good place to look at is Justin’s CatStructs.
CoincidenceEventList à CoincidenceEventList1Hour à Diamond à DiamondPresent à CoincidenceDiamond
HyperbolateLists à HyperbolateLists1Hour à diamondPresent àcoincidenceDiamond
àgetIntersections à intersect3Hyperboloids
Question in hyperbolateList1Hour:
Each single-phone trigger can only
be built into a single 4-phone coincidence?
Need to understand hydrophone coordinate, the format, the geometry.
GetIntersections:
% change to coordinates with first
phone at origin
for i=1:numPhones
r(i,:) =
ctSurfToFloorPhoneP(r(i,:)',phones(1))';
end;
Any
way to vectorize this?
% change to coordinates with first
phone at origin
for i=1:numPhones
r(i,:) =
ctSurfToFloorPhoneP(r(i,:)',phones(1))';
end;
% prepare input for intersection
calculation
tau = times(2:4) - times(1);
R=[r(phones(2),:);
r(phones(3),:);
r(phones(4),:)];
Seems that this part of the program can be optimized, since we actually only use four transformed coordinates, no point in calculating all seven.
Need to read the paper by Spiesberger, “Hyperbolic location errors due to insufficient number of receivers”. Maybe can trust the program.
What does coincidence list do?
5/26/2002
Today I continue reading matlab program codes.
CoincidenceCandidates is now obsolete.
SignalFrequency – yet to be finished.
PlotDefaultRF à generateRF
What are those functions used for?
MinuteDataSize
Do not understand, but maybe do not need to understand.
BoatCourse à boatCoords à boat_cords.txt
à hydrophone_coordinates.txt
Program to draw a diagram showing the location of boat, hydrophone, and light bulb implosion. Is it still useful for now?
PlotArray
Draw a map of the hydrophones. With “hold on” (so draw whatever you want after this program is executed, everything will be shows on the same diagram).
MergeCDM
Merge the CDM files on disk.
What are the CDM files?
PlotDetectionVolumeRect
PlotDetectuinVolumeRect à plotDetectionVolume1FileRect
Do not know any thing about it. Really need to ask Justin.
ThresholdHistogram
Still do not know anything about it.
RemoveXTalk
What does it do? Though may not need to know since it is taken care of in readEventRecord.
ReadEventRecord
Important Program. One question: what is the difference between MatLab indexing and LabView Indexing?
GetEventTS
Get the specified number of events in specified dn.
How does it deal with the case where there are multiple dn’s? Or it doesn’t?
Also, what happens if le’s are not sorted? Is it a problem if le’s are from tList?
ReadMinuteData
How is it different from ReadMinuteRecord?
And how does it know which local event to read?
CandidateList
Where is it used?
Needs explanation of the program badly.
Distance Matrix.
Needs to understand it.
Will be great if Justin can demonstrate the hyperboloid program.
Also, for how many days have we processed the hyperboloid test?
PlotHyperboloidlists
Uses getEventTS.
Seems that there is some ambiguity in choosing maximum channel or triggered channel. Need to discuss more about this.
Do I need to do anything about the online program? Time is really limited.
Ask Giorgio: if we really want to understand the phase problem, we should plan to do it early rather than late.