Package Localiser.algorithms
Class DelayGroup
java.lang.Object
Localiser.algorithms.DelayGroup
Functions for attempting to efficiently prep data for correlation using a variety of
 pre-processing methods. 
 Input initially complex spectrum data from waveform.
- Author:
 - Doug Gillespie
 
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptiongetComplexCorrelatorData(double[][] waveformInput, float sampleRate, Complex[][] preallocData, DelayMeasurementParams delayParams) Get the complex data which will go into a cross correlation function, starting with a group of waveforms.getComplexCorrelatorData(double[] waveformInput, int fftLength, float sampleRate, Complex[] preallocData, DelayMeasurementParams delayParams) Get the complex data which will go into a cross correlation function, starting with a waveform.getComplexCorrelatorData(ComplexArray spectrogramInput, float sampleRate, int signalLength, int fftLength, Complex[] preallocData, DelayMeasurementParams delayParams) Get the complex data which will go into a cross correlation function, starting with a complex spectrum.getDelays(double[][] waveformInput, float sampleRate, DelayMeasurementParams delayParams) Calculate time delays for a set of raw waveformsgetDelays(double[][] waveformInput, float sampleRate, DelayMeasurementParams delayParams, double[] maxDelays) Calculate time delays for a set of raw waveforms 
- 
Constructor Details
- 
DelayGroup
public DelayGroup() 
 - 
 - 
Method Details
- 
getDelays
public TimeDelayData[] getDelays(double[][] waveformInput, float sampleRate, DelayMeasurementParams delayParams) Calculate time delays for a set of raw waveforms- Parameters:
 waveformInput- - the raw waveforms between -1 and 1sampleRate- - the sample rate in samples per seconddelayParams- - delay measurement parameters.- Returns:
 - time delay class with time delays and errors in seconds.
 
 - 
getDelays
public TimeDelayData[] getDelays(double[][] waveformInput, float sampleRate, DelayMeasurementParams delayParams, double[] maxDelays) Calculate time delays for a set of raw waveforms- Parameters:
 waveformInput- - the raw waveforms between -1 and 1sampleRate- - the sample rate in samples per seconddelayParams- - delay measurement parameters.maxDelays- m- the maximum delay search range in samples. Can be used to restrict searches. Can be null- Returns:
 - time delay class with time delays and errors in seconds.
 
 - 
getComplexCorrelatorData
public FFTDataArray[] getComplexCorrelatorData(double[][] waveformInput, float sampleRate, Complex[][] preallocData, DelayMeasurementParams delayParams) Get the complex data which will go into a cross correlation function, starting with a group of waveforms.- Parameters:
 waveformInput- Waveform input.sampleRate- audio sample rate (Hz)preallocData- preallocated data - can be null and my not be used if the envelope method isn't used.delayParams- Parameters controlling filtering, envelope extraction, etc.- Returns:
 - Array of Complex spectra to go into the second stage of a cross correlation function. Will have same FFT length as input data, but will only be the first half - fftLength/2 long.
 
 - 
getComplexCorrelatorData
public FFTDataArray getComplexCorrelatorData(double[] waveformInput, int fftLength, float sampleRate, Complex[] preallocData, DelayMeasurementParams delayParams) Get the complex data which will go into a cross correlation function, starting with a waveform.- Parameters:
 waveformInput- Waveform input.sampleRate- audio sample rate (Hz)preallocData- preallocated data - can be null and my not be used if the envelope method isn't used.delayParams- Parameters controlling filtering, envelope extraction, etc.- Returns:
 - Complex spectrum to go into the second stage of a cross correlation function. Will have same FFT length as input data, but will only be the first half - fftLength/2 long.
 
 - 
getComplexCorrelatorData
public FFTDataArray getComplexCorrelatorData(ComplexArray spectrogramInput, float sampleRate, int signalLength, int fftLength, Complex[] preallocData, DelayMeasurementParams delayParams) Get the complex data which will go into a cross correlation function, starting with a complex spectrum.This can be used to save a certain amount of processing time since it minimises the number of fft and ifft's that need doing to a particular waveform.
- Parameters:
 spectrogramInput- Complex spectrum data. Only need the first half, so it can be fftLength or fftLength/2 long.sampleRate- audio sample rate (Hz)signalLength- signal length (can be invalid input: '<' fftLength)fftLength- FFT length used to calculate the spectrum.preallocData- preallocated data - can be null and my not be used if the envelope method isn't used.delayParams- Parameters controlling filtering, envelope extraction, etc.- Returns:
 - Complex spectrum to go into the second stage of a cross correlation function. Will have same FFT length as input data, but will only be the first half - fftLength/2 long.
 
 - 
getCorrelations
- Returns:
 - the correlations
 
 
 -