Class WhistleDelays

java.lang.Object
whistleDetector.WhistleDelays

public class WhistleDelays extends Object
Class containing functions to calulate the delay between a detected whistle on one channel and the signal on an adjacent channel.

Existing FFT (spectrgram) data is used during the calculation.

The correlation function is calculated for each time partition along the length of the whistle and these correlations summed to overcome the problem of aliassing.

As the correlations are caculated, the spectrum is band limited in each time partition to only include acoustic energy close to the whistle contour. In this way, it is possible to independently calculate bearings to simultaneously occurring overlapping whistles.

Author:
Doug Gillespie
  • Field Details

  • Constructor Details

    • WhistleDelays

      public WhistleDelays()
  • Method Details

    • getDelay

      public static int getDelay(PamDataBlock fftDataBlock, WhistleShape whistle, int delayChannel)
      Calculate the delay.

      The whistle knows which channel it was detected on. Tell this functin which channel to calculate the dealy to. If FFT data for that channel does not exist, then return NO_CHANNEL_DATA

      Parameters:
      fftDataBlock - PamDataBlock of spectrgram data
      whistle - Whistle contour from the whistle detector
      delayChannel - channel to measure the delay to
      Returns:
      delay in samples