Skip to content

beteje/LAP_DelayEstimation

Repository files navigation

LAP_DelayEstimation

Time-varying delay estimation using local all-pass filters

Using an all-pass filter we estimate the time delay between two or more signals. The local all-pass (LAP) filter framework allows estimation of time-varying delays by using a short window to estimate a per sample delay.

The code here is based on the 2D image registration code here: https://chrisgilliam.github.io/projects/LAP_ImageRegistration/

  • LAP_1D estimates a single (time-varying) delay between two or more channels using a LAP filter

  • MultiScale_LAP allows the use of multiple LAP filters of different sizes in order to give a more accurate estimate

    Note that for each scale this function estimates the time-varying delay for the whole signal, Gaussian smooths the estimate then aligns the signals using imshift and repeats for the next scale.

  • Delay_Est allows comparison of the two using the data generated in Signal_Generation

    • The Signal_Generation generates multiple channels of data with a choice of different velocities or delays
  • /LAP_Kalman contains the code for the LAP + Kalman Filter described in APSIPA_2019

References

ICASSP_2018 Time-Varying Delay Estimation Using Common Local All-Pass Filters with Application to Surface Electromyography
APSIPA_2019 Fast & Efficient Delay Estimation Using Local All-Pass & Kalman Filters