The SMF package is a package includes all code in Matlab for the use and application of the passive stochastic matched filter to the detection of Antarctic blue whale (ABW) calls.
Author: Léa Bouffaut, Ph.D. Personal website | Researchgate
This work was conducted during my Ph.D. financed by the french Naval Academy (Institut de Recherche de l'Ecole Navale - Brest, France).
The method is fully described in:
L. Bouffaut, R. Dreo, V. Labat, A. Boudraa and G. Barruol 'Passive stochastic matched filter for antarctic blue whale call detection,' in J. Acoust. Soc. Am, 144(2) (2018). https://doi.org/10.1121/1.5050520
and any use of this material should refer accordingly. Part of the SMF code was initially written by Gregory Julien, PhD. Julien, G. (2012). 'Filtrage Stochastique et amélioration des performances des systèmes de positionnement d'engins sous-marins en milieu bruyant' (Doctoral dissertation, Toulon).
- Main Matlab programs (Offline_savefilterbank, Offline_save_Zcall, Online_application)
- The same programs but as Matlab notebooks (Matlab Live editor) and their pdf in the Matlab_live folder
- A function folder (Functions)
- A folder of saved matrices (Offline_saved)
- A 24h recording with ABW calls ((RR44_2013_D151.wav).
A small toy dataset with ABW calls at various SNR is provided (RR44_2013_D151.wav). It consists of a 24h record from the Ocean Bottom Seismomter RR44 deployed during the RHUM-RUM experiment, in the western Indian Ocean. All recordings are freely available from the RESIF data center, under the code name YV (https://doi.org/10.15778/RESIF.YV2011).
RHUM-RUM on Git:
- Global project
- OBS orientation by John-Robert Scholz
- OBS for ship noise by Alister Trabattoni
RHUM-RUM on Researchgate
The SMF can be decomposed into two components: the first, offline estimates the set of linear filters and, the second online (close to real-time, the recording is analyzed on a sliding window) selects the appropriate filter to apply at each time. In that sense the SMF is a time-varying linear filter, that is applied to maximize the output SNR. To run the code:
- Run Offline_save_Zcall (Offline part 1/2) to simulate the ABW signal and its covariance matrix;
- Run Offline_savefilterbank (Offline part 2/2) to simulate the noise, its covariance matrix and estimates the set of linear filters (or so called filter bank); and
- Run Online_application to apply the SMF to a portion of the provided recordings.