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.